1。2 数据挖掘中的协同过滤算法
在海量数据中寻找有用的信息和知识是数据挖掘的主要功能,数据挖掘中有很多常用的算法诸如关联规则挖掘,分类预测算法,聚类分析算法等等,而其中系统过滤算法的推出意味着推荐功能渐渐进入人们的视野,它囊括了建立在使用者和使用者物品上的一种过滤算法。
想完成对相关项目的协同过滤,必须要施行如下的环节:
(1)收集用户偏好
(2)找到相似的用户或者物品
(3)计算并推荐
在使用者的喜好和活动规律中进行分析,从而实现对使用者的推荐。因此推荐系统最重要的成分在于采集使用者的喜好和活动信息。用户有许多方式提供自己的喜好,它可以采集用户的操作历史,例如评论、收藏、分享、购买的专辑、下载的歌曲、停留时间等。
在对使用者的喜好和活动规律进行分析后,然后从其中计算找出跟使用者喜好类似的用品,从而可以将得到的用品信息推荐给使用者。建立在使用者和使用物品上的协同过滤,就是系统过滤的两个部分了。我们可以通过几种办法来计算相似度(Similarity),例如常用的Cosine similarity,euclidean metric,Pearson product-moment correlation coefficient等等。但是想要试用欧几里得度量,就得从下面的公式中来展现。
对使用者和使用者两者间类似程度上的计算就是把使用者所有喜好的东西作为一个向量,但是对使用者搜索使用东西之间的计算时,是把一个使用者对其使用东西的偏好作为向量。找到相似之后,你可以寻找相似的邻居。
(1)基于用户的Collaborative Filtering
当寻找类似的邻居,最K邻居的计算,并根据当前的用户不存在的项目,根据邻居和他们的喜好对象的相似性权重预测,计算得到一个排序的物品列表进行推荐。
(2)基于物品的Collaborative Filtering
对于物品的协同算法和对于用户的系统算法有很大相似成分,只不过是把使用者变成了东西本身,并不会送使用者的方面入手,就例如喜欢物品1的用户都喜欢物品3。我们就可以从中知道1和3两种物品的类似方面很高。所以如果使用者3喜欢物品1的话,就能了解到使用者3大概也会喜欢物品物品3。如表1所示
表1 1 关系表
用户/物品 物品1 物品2 物品3
用户1 √ √
用户2 √ √ √
用户3 √ 推荐
1。3 本课题主要工作
此设计中,在对面向对象如建的开发中,其中的进程和对本设计的需要进行了剖析,设计的详细践诺过程也有比较完竣的先容,此设计中我所做的工作内容从以下几个方面说起:
(1)对系统进行需求分析:在音乐点播与推荐的网站界面上,做出了详细的剖析,我从它的特点和要完成的目的方面入手,而且我还从使用者和使用物品的特点上进行了分解式的研究,解析了使用者对物品的功能和非功能要求。文献综述