一种融合随机森林与协同过滤二手房推荐方法与流程

文档序号:22047357发布日期:2020-08-28 18:56阅读:287来源:国知局
一种融合随机森林与协同过滤二手房推荐方法与流程

本发明涉及随机森林、协同过滤、二手房、推荐算法,是一种融合随机森林与协同过滤二手房推荐方法。



背景技术:

随着众多的城市进行新房限购令和摇号等新房政策出现,二手房自主选择的优势被越来越多的买房需求用户所关注。随着互联网技术的发展,二手房需求用户逐渐依赖二手房中介网站提供二手房信息。然而随着二手房数据的逐年增加,需求用户获取到有效的二手房信息更加困难。目前,大部分二手房中介网站基于需求用户搜索内容进行匹配推荐,推荐准确率低,推荐体验效果不佳。而有效的二手房推荐能使需求用户及时和准确获取二手房信息,具有很高的研究意义。由于二手房数据和用户行为数据是房产中介公司的核心数据,因此可参考二手房推荐实例较少。而二手房推荐的主要矛盾就是如何在复杂的二手房数据中找到需求用户感兴趣的二手房。

毛凤华提出一种基于聚类分析的二手房推荐方法,从各属性相似的族挑选出价格更低的房源推荐,但是该方法只是考虑到价格在各类型二手房中的影响。没有从推荐算法精确度的提高做出要求。目前受到广泛认可的推荐算法主要是三种,分别是基于内容的推荐算法、协同过滤算法(cf)和混合推荐等,其中协同过滤算法被受推崇推荐技术之一。协同过滤算法也存在缺陷,如协同过滤推荐系统中的冷启动问题,多分类中的数据稀疏性问题和推荐精度问题,会造成推荐误差,也会影响推荐结果的精确性和稳定性。基于协同过滤算法出现不足,李澎林等使用基于兴趣度与类型因子的推荐算法来提高推荐效果。吴海金等使用融合分类与协同过滤的情境感知来对音乐进行分类推荐,但是存在分类方法过于简单直接,在分类量较多的情况下已经不能适用;李浩等提出融合循环知识图谱和协同过滤电影推荐算法,在充分考虑物品、用户、评分之间的相关性后,利用基于物品和用户的协同过滤进行top-k电影推荐;林耀进等提出基于用户群体影响的协同过滤推荐算法,不但考虑了用户个体之间的相似性,而且考虑了用户所处群体之间的相似性,增强了推荐系统的鲁棒性和准确性;徐立明等提出带有惩罚因子的余弦相似度的修正公式。可以提高低活跃度项目对推荐影响;张宜浩等提出基于用户评论的深度情感分析和多视图协同融合的混合推荐方法,解决了混合推荐系统中不同兴趣偏好的多推荐视图难以融合的问题,同时在一定程度上解决了推荐系统建模中缺乏足够的有标签数据问题。使用协同过滤算法找到用户具有较高的相似度是的应用基点,数据存在稀疏性,让推荐效果不佳。当然,也有不少算法模型是对数据分类处理来解决数据稀疏性问题。2001年breiman等结合多个分类器组合的思想,由多个决策树生成随机森林,从而让其有更好的分类效果。在此基础上,宣琦等[设计一种多个视图提取特征构建支持向量机分类器,实现二分类,分类精度达到87.73%;韦泽鲲等为了解决网络流量分类中提取特征的多样化和复杂化问题,提出基于随机森林的流量多特征与分类算法,实验结果表明该算法能够更加高效和精确进行分类提取;李欢等提出融合因子分析的随机森林模型采用因子分析法构建特征组,再按特征个数比随机抽取特征形成每个分裂节点的候选子集,提高了模型的准确率和收敛速度,泛化性更强,更加有利于高维大数据,可行有效。还有魏正韬等提出非平衡数据的随机森林分类算法去区分正类和负类;而孟利民等基于用户协同过滤的改进推荐模型,通过分析用户的历史评分数据集,预测需求用户对新二手房的评分。



技术实现要素:

为了克服现有技术的不足,对于多分类且杂乱二手房数据和需求用户的二手房数据来说,随机森林算法具有更优的分类数据能力,而协同过滤算法在能够提供高效的推荐效果。因此,本发明提出融合随机森林与协同过滤二手房推荐模型,提供一种融合随机森林与协同过滤二手房推荐方法。

为了解决上述技术问题本发明提供如下的技术方案:

一种融合随机森林与协同过滤二手房推荐方法,从多个二手房房产网站获取二手房产数据和用户评分数据;然后,通过随机森林算法分类处理、清洗和汇总,得到有效的二手房数据和二手房打分数据;最后,输入基于惩罚因子的协同过滤算法中完成推荐。

所述方法包括以下步骤:

1)二手房数据收集

获取二手房数据和对应的评分数据,通过对数据集的分析,发现二手房特征数据具有数据稀疏性,需要进行分类处理;随机森林具有很强的分类效果和数据稀疏性解决能力,通过对二手房多个特征调查研究,选取代表特征包括区域,面积区间,总价格区间,楼层,房产布局,装修情况,卧室朝向和房产周边交通;

2)随机森林数据处理

将所有的房产特征数字化,通过将二手房数据用随机森林算法使用规则表处理成标签数据集,将获取的评分数据与二手房标签数据相结合,并通过随机森林进行打分处理评价,得到打分数据集,其中,打分值区间为1-5,分值越大,所代表的评价越高;

经过随机森林处理后的有效数据,打分数据表导入到打分数据集,而标签数据表导入到特征数据集,将打分数据集与特征数据集作为实验数据集,使用实验数据集进行二手房推荐;

3)输入基于惩罚因子的协同过滤算法中完成推荐,过程如下:

二手房i和二手房j的评分相似性表示为公式(1),如下:

将引入惩罚因子的皮尔逊相似性函数,提高计算用户间相似度的准确性,w(i,j)表示相关性惩罚因子,其计算公式(2),如下:

其中,act(u)表示用户u的活跃度,diff(i,j)表示二手房i和二手房j流行度的差值,β表示项目流行度的阈值,α表示惩罚因子;

计算用户i和用户j之间的相似度,i(ij)是代表用户i和用户j共同评价过的二手房,r(i,x)代表用户i对二手房x的评分,代表用户i评分的平均分,因为用户评分标准有差异减去平均分,归一化以避免差异影响,得出公式(3),如下:

其中ui和uj分别代表对二手房i和二手房j评分用户的集合,ui∩uj表示对二手房i和j共同评分用户的集合。ru,i和ru,j分别表示用户u对二手房i和二手房j的平均评分。

进一步,所述步骤2)中,随机森林的数据清理步骤如下:

2.1、清理二手房脏数据和评分脏数据,从二手房数据中选出容量为n的训练集t中,采用自助抽样法,即有放回地抽取k个二手房样本,作为一个二手房训练子集tk;

2.2、对于二手房训练子集tk,从二手房特征集f中随机选取8个二手房特征,作为决策树上每个节点分裂的依据,从根结点开始,自上而下生成一个完整二手房的决策树sk,不需要剪枝;

2.3、重复多次步骤2.1和步骤2.2,得到w个二手房训练子集t1,t2,…,tw,并生成二手房决策树d1,d2,…,dυ,将υ个二手房决策树组合起来,形成随机森林;

2.4、将二手房测试集d的样本sn进行决策,然后采用多数投票法对决策结果投票,最终决定sn的分类;

2.5、重复λ次步骤2.4直到二手房测试集d分类完成,得到标签数据表,如表2;

2.6、获取二手房房产用户对二手房进行的评分数据,然后清洗少于三次评分的用户评分,得到初步的二手房房产用户打分数据;

2.7、依据随机森林算法分类数据集标签,对初步的二手房房产用户打分结果进行评价,如果出现同一类别的打分共q条数据,出现q/2以上的数据不一致,则判定为该用户的打分为脏数据,如果该用户同一类别的打分结果只有少数不同,则将打分结果差异较小的一方判定为脏数据,清洗,得到打分数据表。

本发明的有益效果为:将实验数据集和测试用户房产特征集导入基于惩罚因子的协同过滤算法中,基于惩罚因子的协同过滤算法改善经典的皮尔逊相似性计算会出现用户数据稀疏而造成误差较大和低流行度的二手房被推荐率较低等问题,提高了推荐的准确率。

随机森林处理分类数据后,剔除脏数据,获得有效的二手房分类数据和打分数据。解决了多分类二手房存在的二手房数据稀疏问题。再引入基于惩罚因子的协同过滤算法中,改善经典的皮尔逊相似性计算会出现用户数据稀疏而造成误差较大和二手房低流行度被推荐率较低等问题,来提升二手房需求用户间相似度的准确率。

附图说明

图1是融合随机森林和协同过滤推荐模型结构图。

图2是rf结构图。

图3是评分预测示例图。

图4是不同算法对比(精确率、召回率、f1_score)

具体实施方式

下面结合附图对本发明做进一步说明。

参照图1~图4,一种融合随机森林与协同过滤二手房推荐方法,从多个二手房房产网站获取二手房产数据和用户评分数据;然后,通过随机森林算法分类处理、清洗和汇总,得到有效的二手房数据和二手房打分数据;最后,输入基于惩罚因子的协同过滤算法中完成推荐。

所述方法包括以下步骤:

1)二手房数据收集

获取二手房数据和对应的评分数据,通过对数据集的分析,发现二手房特征数据具有数据稀疏性,需要进行分类处理;随机森林具有很强的分类效果和数据稀疏性解决能力,通过对二手房多个特征调查研究,选取代表特征包括区域,面积区间,总价格区间,楼层,房产布局,装修情况,卧室朝向和房产周边交通;

2)随机森林数据处理

将所有的房产特征数字化,通过将二手房数据用随机森林算法使用规则表处理成标签数据集,将获取的评分数据与二手房标签数据相结合,并通过随机森林进行打分处理评价,得到打分数据集,其中,打分值区间为1-5,分值越大,所代表的评价越高;

随机森林的数据清理步骤如下:

2.1、清理二手房脏数据和评分脏数据,从二手房数据中选出容量为n的训练集t中,采用自助抽样法,即有放回地抽取k个二手房样本,作为一个二手房训练子集tk;

2.2、对于二手房训练子集tk,从二手房特征集f中随机选取8个二手房特征,作为决策树上每个节点分裂的依据,从根结点开始,自上而下生成一个完整二手房的决策树sk,不需要剪枝;

2.3、重复多次步骤2.1和步骤2.2,得到w个二手房训练子集t1,t2,…,tw,并生成二手房决策树d1,d2,…,dυ,将υ个二手房决策树组合起来,形成随机森林;

2.4、将二手房测试集d的样本sn进行决策,然后采用多数投票法对决策结果投票,最终决定sn的分类;

2.5、重复λ次步骤2.4直到二手房测试集d分类完成,得到标签数据表,如表2;

2.6、获取二手房房产用户对二手房进行的评分数据,然后清洗少于三次评分的用户评分,得到初步的二手房房产用户打分数据;

2.7、依据随机森林算法分类数据集标签,对初步的二手房房产用户打分结果进行评价,如果出现同一类别的打分共q条数据,出现q/2以上的数据不一致,则判定为该用户的打分为脏数据,如果该用户同一类别的打分结果只有少数不同,则将打分结果差异较小的一方判定为脏数据,清洗,得到打分数据表。

经过随机森林处理后的有效数据,打分数据表导入到打分数据集,而标签数据表导入到特征数据集,将打分数据集与特征数据集作为实验数据集,使用实验数据集进行二手房推荐;

3)输入基于惩罚因子的协同过滤算法中完成推荐,过程如下:

二手房i和二手房j的评分相似性表示为公式(1),如下:

将引入惩罚因子的皮尔逊相似性函数,提高计算用户间相似度的准确性,w(i,j)表示相关性惩罚因子,其计算公式(2),如下:

其中,act(u)表示用户u的活跃度,diff(i,j)表示二手房i和二手房j流行度的差值。β表示项目流行度的阈值,α表示惩罚因子;

计算用户i和用户j之间的相似度,i(ij)是代表用户i和用户j共同评价过的二手房,r(i,x)代表用户i对二手房x的评分,代表用户i评分的平均分,因为用户评分标准有差异减去平均分,归一化以避免差异影响,得出公式(3),如下:

其中ui和uj分别代表对二手房i和二手房j评分用户的集合,ui∩uj表示对二手房i和j共同评分用户的集合。ru,i和ru,j分别表示用户u对二手房i和二手房j的平均评分。

本实施例的融合随机森林与协同过滤推荐方法,输入为二手房房产数据集、测试用户房产特征集和阀值,过程如下:

1)分析获取到的二手房房产数据,通过本文设计的算法进行脏数据剔除;

2)从步骤1)剔除后的数据中,选取数量为t的可靠数据,通过人工数字标注房产特征,如表1,导入随机森林中,建立标签数据表,

表1

如表2,导入到特征数据集;

表2

3)将评分数据集进行清洗,删除评价少于3次的用户;

4)通过步骤2)输出的特征集对步骤1处理的数据集进行筛选,筛选依据为同一用户对同一类别的打分差距,对打分数据相似度低的用户进行剔除,建立打分数据表,如表3,导入打分数据集;

表3

5)将步骤2)得到的特征数据集与步骤4得到的打分数据集作为本实验的数据集;

6)通过实验数据集计算测试用户的相似性用户,得出相似度高的目标用户;

7)根据步骤6)计算所得目标用户,筛选出目标用户相对应的二手房信息,剔除与测试用户相同的二手房信息;

8)对筛选余下的二手房信息进行评分与相似度加权;

9)根据加权之后的二手房值进行排序,得到阀值数值的推荐结果集。

输出为阀值数值的推荐结果集

为了验证融合随机森林与协同过滤二手房推荐算法(frfacf)相对于经典的两种协同过滤算法在多分类数据中有着更好推荐的效果。设计如下实验来说明。

衡量推荐算法的推荐效果准确性的重要指标是为topn推荐。topn推荐是由信息检索和统计学分类领域的两个度量值精确率(pu)和召回率(ru)组成。而f1_score指数也是重要指标之一。f1_score指数是综合精确率(pu)和召回率(ru)两个指标的评价指标,通常应用于反映分类整体的指标。f1_score越高,说明实验效果越好,推荐准确性也越好。

如图3所示为评分预测示例图,其中tp表示为实际为a房产,预测为a;fp表示为实际为b,预测为a房产;fn表示为实际为a房产,预测为b房产;tn表示为实际为b房产,预测为b房产。则可推出以下公式。

精确率(pu)定义为算法推荐数据集中用户正确的二手房房产和所有被推荐的二手房房产的比率。公式(4)如下:

召回率(ru)定义为算法推荐数据集中用户正确的二手房房产和所有应被推荐的总数二手房房产的比率。公式(5)如下:

在对模型进行评估的过程中,仅用精确度和召回率去评估模型是无法全名评估模型优劣的,所以将精确度和召回率集合起来,得到了f1_score评分作为模型的实际评分准则,在多分类数据中,f1_score是精确度和召回率的调和平均。公式(6)如下:

为了验证融合随机森林和协同过滤推荐算法(frfacf)在不同推荐数值的阈值(推荐值)下推荐效果,选择基于项目协同过滤算法和基于用户协同过滤算法进行算法对比。选择对精确率指数、召回率指数和f1_score指数来三个指数展示。设计测试用户模型表示为usertest={滨江区,100平方米区间内,500万元区间内,朝南},将设置推荐数值为5到30不同阀值情况下根据验证本算法的效果。

从图4可以观察得出,在相同数据环境和阀值中,提出的融合随机森林和协同过二手房算法推荐算法(frfacf)三个指标中均优于基于项目协同过滤算法(itemcf)和基于用户协同过滤算法(usercf)。实验表明,本算法相对于推荐经典的两大协同过滤算法得到明显的效果的改善。精确率和召回率指标都得到提升,提高了二手房推荐算法的推荐精确度和稳定性,让二手房推荐算法的推荐效果更加。而f1_score指数更加表明本算法具有更好的评分准则和模型优势。因此,相对于庞大杂乱的多分类二手房数据,本推荐算法具有明显的优势。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1