CN109711912A - 一种融合FP-growth算法和Slope-One算法的混合推荐模型 - Google Patents
一种融合FP-growth算法和Slope-One算法的混合推荐模型 Download PDFInfo
- Publication number
- CN109711912A CN109711912A CN201711004573.1A CN201711004573A CN109711912A CN 109711912 A CN109711912 A CN 109711912A CN 201711004573 A CN201711004573 A CN 201711004573A CN 109711912 A CN109711912 A CN 109711912A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- item
- slope
- frequent
- tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010276 construction Methods 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 2
- 230000004927 fusion Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种融合FP‑growth算法和Slope One算法的混合推荐模型,该模型采用FP‑growth算法和Slope One算法使得推荐结果更加准确。
Description
技术领域
本发明涉及推荐算法领域,尤其涉及一种融合FP-growth算法和Slope One算法的混合推荐模型。
背景技术
2005年Lemire教授提出了Slope One算法,其核心思想是:线性回归f(x)=x+b。借助大量用户对item的评分,可以得到任意两个item的回归直线。未评分item的评分(值根据已评分item评分值计算,根据计算出的评分值排序做Top-N推荐。它的优点是算法简单,容易实现,可扩展性也不错,但必须基于评分,如果没有评分,需要构造评分。并给出了Weighted-Slope One算法模型修正Slope One未考虑对物品产生行为的用户数对偏差的贡献度不同,但Weighted-Slope One不具有解释性,推荐结构不够精确。
目前对Slope One算法改进一般使用聚类方法提高其精度,比如使用改进的 K-means方法聚类用户后,利用User-CF搜索最近邻居,结合Slope One为目标用户推荐对应的产品。又比如融合领近项目的Slope One算法,基于项目属性相似和MapReduce 并行化的Slope One算法。这些混合算法都是在提高算法的精度上做出了一定的贡献,但其关联性和可解释性相对较差。
发明内容
本发明的主要目的在于提供一种融合FP-growth算法和Slope One算法的混合推荐模型,能够是推荐结构更加的准确。
为达到以上目的,本发明采用的技术方案为:一种融合FP-growth算法和SlopeOne 算法的混合推荐模型,通过以下步骤实现:
1)输入推荐参数:数据集和最小支持度;
2)对数据集在数据库中进行第一次扫描,获得频繁项的集合F和其中每个频繁项的支持度,并对F中的所有频繁项按其支持度进行降序排序,得到频繁项表L,移除头指针表中不满足最小支持度的元素项;
3)再次扫描数据库,由每个事务不断构建FP-Tree,同时对每个数据集中的项集初始化空FP树;
4)根据已经构造好的FP-Tree、项集α、最小支持度对每个项集进行过滤和重排序;
5)使用步骤4中的项集更新FP树;
6)根据得到的数据集D中的频繁项集L,构建频繁项集与未评分项集构造轻量级矩阵;根据频繁项集数据,构建self.diffs/self.freqs字典;
7)计算与目标项的评分偏差dev;
8)对得到的评分偏差dev采用Weighted-Slope One算法进行修正。
优选地,步骤7中采用以下公式进行计算:
其中,Sj,i( )统计在同一时间对物品i和j的评分的所有用户的集合。
与现有技术相比,本发明的推荐模型的推荐结果更加的准确。
附图说明
图1是根据本发明的一个优选实施例的原理图
具体实施方式
以下描述用于揭露本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。
如图1所示的一种融合FP-growth算法和Slope One算法的混合推荐模型,通过以下步骤实现:
1)输入推荐参数:数据集和最小支持度;
2)对数据集在数据库中进行第一次扫描,获得频繁项的集合F和其中每个频繁项的支持度,并对F中的所有频繁项按其支持度进行降序排序,结果为频繁项表L;移除头指针表中不满足最小支持度的元素项;
3)再次扫描数据库,由每个事务不断构建FP-Tree。对每个数据集中的项集:初始化空FP树,使FP-Tree的根节点为null,同时从数据库中取出事务,按照L排序,然后把每个项逐个添加到FP-Tree的分枝上去,得到FP树和头指针表。FP-Tree的根节点作用是将所有相同的项链接起来,这样更容易遍历。
4)根据已经构造好的FP-Tree、项集α(初值为空)、最小支持度min_sup对每个项集进行过滤和重排序;
5)使用这些项集更新FP树,从FP树的根节点开始:L初值为空,if Tree只包含单个路径P则遍历路径P中节点的每个组合(记为β)do,产生项目集α∪β,其支持度等于β中节点的最小支持度数;eturn(return?)L=L∪支持度数大于min_sup 的项目集β∪α;
if Tree包含多个路径P则遍历Tree的头表中的每个频繁项αf do;产生一个项目集β=αf∪α,其支持度等于αf的支持度;构造β的条件模式基B,并根据该条件模式基B构造β的条件FP-树Treeβ;if Treeβ≠Φthen,递归调用 FP-Growth(Treeβ,β);如果当前项集的第一个元素项存在于FP树当前节点的子节点中,则更新这个子节点的计数值。
6)根据得到的数据集D中的频繁项集L,构建频繁项集与未评分项集构造轻量级矩阵;根据频繁项集数据,构建self.diffs/self.freqs字典;
7)通过以下公式计算与目标项的评分偏差dev:
其中,用Sj,i( )统计在同一时间对物品i和j的评分的所有用户的集合,另外,Sj,i( )所包含的元素总数则由card( )表示。通过对item i相对于item j的平均偏差的定义,可得到用户u对item j的预测值,而此功能将由P(u)j,i=devj,i+ui实现。假设数据集数据比较稠密,使用近似作简化:
当把所有这种可能的预测平均起来,可以预测出用户u对物品j的评分。其中,Rj表示所有用户u已经给予评分且满足条件(i≠j且Sj,i非空)的item集合:
所以对最终的平均使用加权进行一个修正,这也就是推荐更为合理的 Weighted-Slope One推荐算法。
对新的用户偏好,根据self.diffs/self.freqs对新用户进行评分预测。推算出对其它Items的可能Rating值:public IDictionary<int,float>Predict(IDictionary<int,float> userRatings)两重循环,外层循环遍历_Items中所有的Items;内层遍历userRatings,用此用户的ratings结合第一步得到的矩阵,推算此用户对***中每个项目的Rating在返回结果之前,进行过滤返回一个带权重预测值的新字典结果中除去了用户已经评分过的内容和物品计数为零的内容。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明的范围内。本发明要求的保护范围由所附的权利要求书及其等同物界定。
Claims (2)
1.一种融合FP-growth算法和Slope-One算法的混合推荐模型,通过以下步骤实现:
1)输入推荐参数:数据集和最小支持度;
2)对数据集在数据库中进行第一次扫描,获得频繁项的集合F和其中每个频繁项的支持度,并对F中的所有频繁项按其支持度进行降序排序,得到频繁项表L,移除头指针表中不满足最小支持度的元素项;
3)再次扫描数据库,由每个事务不断构建FP-Tree,同时对每个数据集中的项集初始化空FP树;
4)根据已经构造好的FP-Tree、项集α、最小支持度对每个项集进行过滤和重排序;
5)使用步骤4中的项集更新FP树;
6)根据得到的数据集D中的频繁项集L,构建频繁项集与未评分项集构造轻量级矩阵;根据频繁项集数据,构建self.diffs/self.freqs字典;
7)计算与目标项的评分偏差dev;
8)对得到的评分偏差dev采用Weighted-Slope-One算法进行修正。
2.根据权利要求1所述的一种融合FP-growth算法和Slope-One算法的混合推荐模型,其特征在于,步骤7中采用以下公式进行计算:
其中,统计在同一时间对物品和的评分的所有用户的集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711004573.1A CN109711912A (zh) | 2017-10-25 | 2017-10-25 | 一种融合FP-growth算法和Slope-One算法的混合推荐模型 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711004573.1A CN109711912A (zh) | 2017-10-25 | 2017-10-25 | 一种融合FP-growth算法和Slope-One算法的混合推荐模型 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109711912A true CN109711912A (zh) | 2019-05-03 |
Family
ID=66251955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711004573.1A Pending CN109711912A (zh) | 2017-10-25 | 2017-10-25 | 一种融合FP-growth算法和Slope-One算法的混合推荐模型 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109711912A (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750336A (zh) * | 2012-06-04 | 2012-10-24 | 电子科技大学 | 一种基于用户关联性的资源个性化推荐方法 |
WO2013143878A2 (en) * | 2012-03-27 | 2013-10-03 | Telefonica, S.A. | A method and a system to generate personalized selection of items for a given user in an online computing system |
CN103353880A (zh) * | 2013-06-20 | 2013-10-16 | 兰州交通大学 | 一种利用相异度聚类和关联的数据挖掘方法 |
CN103678431A (zh) * | 2013-03-26 | 2014-03-26 | 南京邮电大学 | 一种基于标准标签和项目评分的推荐方法 |
CN105677846A (zh) * | 2016-01-06 | 2016-06-15 | 中国传媒大学 | 推荐***及其构建方法 |
CN105678430A (zh) * | 2016-02-29 | 2016-06-15 | 大连大学 | 基于邻近项目Slope One算法的用户改进推荐方法 |
CN105740387A (zh) * | 2016-01-27 | 2016-07-06 | 北京工业大学 | 一种基于作者频繁模式的科技文献推荐方法 |
CN105740415A (zh) * | 2016-01-29 | 2016-07-06 | 张墨琴 | 基于标签位置权重与自学习的招投标好友推荐*** |
CN105913286A (zh) * | 2016-05-16 | 2016-08-31 | 达而观信息科技(上海)有限公司 | 一种自动融合多种个性化推荐模型的方法 |
CN106033424A (zh) * | 2015-03-11 | 2016-10-19 | 哈尔滨工业大学深圳研究生院 | 数据挖掘方法和装置 |
CN106066873A (zh) * | 2016-05-30 | 2016-11-02 | 哈尔滨工程大学 | 一种基于本体的旅游信息推荐方法 |
CN106570128A (zh) * | 2016-11-03 | 2017-04-19 | 南京邮电大学 | 一种基于关联规则分析的挖掘算法 |
CN106815322A (zh) * | 2016-12-27 | 2017-06-09 | 东软集团股份有限公司 | 一种数据处理的方法和装置 |
CN107146127A (zh) * | 2017-03-22 | 2017-09-08 | 重庆允升科技有限公司 | 一种工业品精准推荐方法及*** |
-
2017
- 2017-10-25 CN CN201711004573.1A patent/CN109711912A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013143878A2 (en) * | 2012-03-27 | 2013-10-03 | Telefonica, S.A. | A method and a system to generate personalized selection of items for a given user in an online computing system |
CN102750336A (zh) * | 2012-06-04 | 2012-10-24 | 电子科技大学 | 一种基于用户关联性的资源个性化推荐方法 |
CN103678431A (zh) * | 2013-03-26 | 2014-03-26 | 南京邮电大学 | 一种基于标准标签和项目评分的推荐方法 |
CN103353880A (zh) * | 2013-06-20 | 2013-10-16 | 兰州交通大学 | 一种利用相异度聚类和关联的数据挖掘方法 |
CN106033424A (zh) * | 2015-03-11 | 2016-10-19 | 哈尔滨工业大学深圳研究生院 | 数据挖掘方法和装置 |
CN105677846A (zh) * | 2016-01-06 | 2016-06-15 | 中国传媒大学 | 推荐***及其构建方法 |
CN105740387A (zh) * | 2016-01-27 | 2016-07-06 | 北京工业大学 | 一种基于作者频繁模式的科技文献推荐方法 |
CN105740415A (zh) * | 2016-01-29 | 2016-07-06 | 张墨琴 | 基于标签位置权重与自学习的招投标好友推荐*** |
CN105678430A (zh) * | 2016-02-29 | 2016-06-15 | 大连大学 | 基于邻近项目Slope One算法的用户改进推荐方法 |
CN105913286A (zh) * | 2016-05-16 | 2016-08-31 | 达而观信息科技(上海)有限公司 | 一种自动融合多种个性化推荐模型的方法 |
CN106066873A (zh) * | 2016-05-30 | 2016-11-02 | 哈尔滨工程大学 | 一种基于本体的旅游信息推荐方法 |
CN106570128A (zh) * | 2016-11-03 | 2017-04-19 | 南京邮电大学 | 一种基于关联规则分析的挖掘算法 |
CN106815322A (zh) * | 2016-12-27 | 2017-06-09 | 东软集团股份有限公司 | 一种数据处理的方法和装置 |
CN107146127A (zh) * | 2017-03-22 | 2017-09-08 | 重庆允升科技有限公司 | 一种工业品精准推荐方法及*** |
Non-Patent Citations (1)
Title |
---|
王伟军等, 重庆大学出版社 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110209808B (zh) | 一种基于文本信息的事件生成方法以及相关装置 | |
CN105955981B (zh) | 一种基于需求分类和主题分析的个性化旅行包推荐方法 | |
CN104991959B (zh) | 一种基于内容检索相同或相似图像的方法与*** | |
CN108932347B (zh) | 一种分布式环境下基于社会感知的空间关键字查询方法 | |
CN108846056A (zh) | 一种科技成果评审专家推荐方法及装置 | |
CN105956148A (zh) | 资源信息的推荐方法和装置 | |
CN105843799B (zh) | 一种基于多源异构信息图模型的学术论文标签推荐方法 | |
CN106951526B (zh) | 一种实体集扩展方法及装置 | |
CN102298650B (zh) | 一种海量数字信息的分布式推荐方法 | |
EP3314465B1 (en) | Match fix-up to remove matching documents | |
CN110472016B (zh) | 文章推荐方法、装置、电子设备及存储介质 | |
CN103744887B (zh) | 一种用于人物搜索的方法、装置和计算机设备 | |
CN109241278A (zh) | 科研知识管理方法及*** | |
CN112083812A (zh) | 联想词确定方法、装置、存储介质和电子设备 | |
CN108509545B (zh) | 一种文章的评论处理方法及*** | |
CN110473073A (zh) | 线性加权推荐的方法及装置 | |
CN117056465A (zh) | 一种向量搜索方法、***、电子设备和存储介质 | |
CN111078859B (zh) | 一种基于引用次数的作者推荐方法 | |
CN105808729A (zh) | 基于论文间引用关系的学术大数据分析方法 | |
CN104008097B (zh) | 实现查询理解的方法及装置 | |
CN104778205B (zh) | 一种基于异构信息网络的移动应用排序和聚类方法 | |
Lin et al. | A dataset and baselines for e-commerce product categorization | |
CN107844536B (zh) | 应用程序选择的方法、装置和*** | |
CN106469163A (zh) | 一种公众号推荐方法及*** | |
CN109711912A (zh) | 一种融合FP-growth算法和Slope-One算法的混合推荐模型 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190503 |
|
RJ01 | Rejection of invention patent application after publication |