版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Scikili(CollaborativeFiltering,用户/文档文档文档文档用户√√用户√√√用户√√√用户√√A/BA和物品B,从而A/B”的口味最为相近ABD分析:物品组合(A,D)A/D两件物品的相似度最高AD物品CF整数量化值户/物品相似度。类似于当当网或者京东给出的“了该的人还了...”,“查看了的人还查看了...”各类数据除以此类中的最大值,以保证归一化后的数据取值在[0,1]范围中。[-11]CFCF和基于物品的CF。这两种方法都需要计算相似度,下面我们先看看最基本的几种计算相似度在推荐的场景中,在用户-物品偏好的二维矩阵中,我们可以将一个用户对所有物品的偏CF的常用方法有三种,分别是欧式距离法、相关系数法、余弦相似度法。552354125(1)defOsDistance(vector1,vector2):sqDiffVector=vector1-vector2distance=sqDistances**0.5returndefOsDistance(vector1,vector2):sqDiffVector=vector1-vector2distance=sqDistances**0.5returnY的值。0时,XY当X的值增大,Y0.001.00当X的值减小,Y0.001.00当X的值增大,Y减小,负相关关系,相关系数在-1.000.00之间当X的值减小,Y增大,负相关关系,相关系数在-1.000.00之间0,相关度越弱。(3)01,1;并且其最小值是-11;90°0;两个向量指向完全相01之间。defdefnum=denom=la.norm(inA)*la.norm(inB)return0.5+0.5*(num/denom) 1.5.3UserCFItemCFCFPythonratings.datDataFrame>>>importpandasas>>>frompandasimport>>>rnames=>>>>>>importpandasas>>>frompandasimport>>>rnames=>>>ratings=>>> [3rowsx4data >>>表.corr(method='pearsonmin_periods=1)方法,可以对所有列互相计算相关系数。method默认为相关系数min_periods参数,这个参数的作用是设定计算相关系数时的最小样本量,低于此值的min_periods但同时又要考虑到,我们的样本空间十分稀疏,min_periods定得太高会导致出来的结果集在data中挑选一对 首先,要找出评分最多的一对用户。我们新建一个以user为行列的方阵foo,然后>>>foo=>>>foo=>>>foriinforjinfoo.ix[i,j]=4000*40001600>>>foriin #>>>>>>foriin #>>>ser=>>>foriin >>> #ser>>>ser[4169] #取得另一个 Name:user_id,dtype:>>>>>>test=>>>>>>>>>>>>>>>test=>>>>>>>>>2617444415344425>>>>>>periods_test=>>>foriinforjinperiods_test.ix[i,j]=sample.iloc[0].corr(sample.iloc[1])[5rowsx7对这俩用户的相关系数统计,我们分别随机抽取20、50、100、200、500和998个样本值,各抽20次。并统计结果:>>>0- >>>略 -[8rowsx7从std这一行来看,理想的min_periods参数值应当为[8rowsx72.2.3min_periods=200>>>check_size=>>>check=>>>check_size=>>>check=check_data datacheck_data #200>>>foruserincheck[(user,movie)]=check_data.ix[user,movie]check_size-=1ifnotcheck_size:>>>corr=>>>corr_clean=corr_clean check_ser #1000>>>check_ser[:5](15,593) (23, (33,4(36,5(53,4dtype:corr_cleancheck_ser1000个用户->>>result=>>>for>>>result=>>>foruser,moviein 平均而prediction=ifuserincorr_set #仅限大于0.1forotherinifnotnp.isnan(data.ix[other,movieandotheruser:#bool(np.nan)==Trueifresult[(user,movie)]=sum([value*weightforvalue,weightinprediction])/sum([pair[1]forpair>>> len(result)#1000min_periods=200>>>>>>>>>(dtype:(23,(33,(36,(53,(62,dtype:862的样本量能达到0.436的相关系数,应该说结果还不错。如果一开始没有滤掉评价数200corrresult中的样本量会很小,大约200+个。但因为样本量变小的缘故,相关系数可以提升到0.5~0.6。2.2.4>>>corr=>>>corr_clean=>>>>>>corr=>>>corr_clean=>>>corr_clean=>>>lucky=>>>lucky=>>>gift=gift #gift>>>corr_lucky=corr_clean[lucky].drop(lucky)#luckySeriescorr_lucky #0.1formoviein #遍历所有luckyprediction=forotherincorr_lucky.index:#遍历所有与lucky0.1ifnotifprediction: #gift111111111111Name:3945,Length:1Name:3945,Length:2991,dtype:、计算距离的数学最初用于计算空间中两个点的距离,假设x,y是n的两个点,它们之的的可以看出,当n=2时,距离就是平面上两个点的距离当 ]sxsyxyCosine相似度(CosineCosineTanimotoJaccardCosine相似度的扩展,也多用于计算文档数据的相
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年银行新客户拓展方案
- 2026年学校新媒体述职报告
- 2026年小班建构活动指导策略与方法
- 2025年特岗教师《生物》模拟试题及答案
- DB42T2553-2026高性能旋耕播种机作业技术规程
- 湘少版小学英语三年级上册教学设计Unit
- 初三化学二轮专题突破:物质微观构成与宏观性质的探究教学设计
- Unit3Everyone'sgottalent!Getready(课件)-外研版英语四年级下册
- 初中八年级地理上册《中华民族多元一体格局探析》教学设计
- 规范社区居民意见反馈处理机制
- 手足口病脑炎课件
- 大学(材料成型及控制工程)材料加工工艺2026年综合测试题及答案
- 空调施工管理方案
- 外卖运营总监述职报告
- 慢性心功能不全急性加重护理查房
- 地下管廊施工安全方案
- 上海市闵行区2024~2025学年七年级下学期期末历史试卷(含答案)
- 江苏省扬州市仪征市2024-2025学年八年级下学期期末考试数学试卷(含答案)
- 湖南省永州市2024-2025学年高一下学期期末考试 数学试题【含答案】
- 2025年医学影像诊断学ct mri试题及答案
- 职业技能鉴定化学检验员中级工实操试卷及答案
评论
0/150
提交评论