资源简介
数据挖掘课程课件+学生实验设计+基于相似性分析和用户偏好的商品推荐系统论文
代码片段和文件信息
from math import sqrt
#用户影评数据#
critics={‘Lisa Rose‘: {‘Lady in the Water‘: 2.5 ‘Snakes on a Plane‘: 3.5
‘Just My Luck‘: 3.0 ‘Superman Returns‘: 3.5 ‘You Me and Dupree‘: 2.5
‘The Night Listener‘: 3.0}
‘Gene Seymour‘: {‘Lady in the Water‘: 3.0 ‘Snakes on a Plane‘: 3.5
‘Just My Luck‘: 1.5 ‘Superman Returns‘: 5.0 ‘The Night Listener‘: 3.0
‘You Me and Dupree‘: 3.5}
‘Michael Phillips‘: {‘Lady in the Water‘: 2.5 ‘Snakes on a Plane‘: 3.0
‘Superman Returns‘: 3.5 ‘The Night Listener‘: 4.0}
‘Claudia Puig‘: {‘Snakes on a Plane‘: 3.5 ‘Just My Luck‘: 3.0
‘The Night Listener‘: 4.5 ‘Superman Returns‘: 4.0
‘You Me and Dupree‘: 2.5}
‘Mick LaSalle‘: {‘Lady in the Water‘: 3.0 ‘Snakes on a Plane‘: 4.0
‘Just My Luck‘: 2.0 ‘Superman Returns‘: 3.0 ‘The Night Listener‘: 3.0
‘You Me and Dupree‘: 2.0}
‘Jack Matthews‘: {‘Lady in the Water‘: 3.0 ‘Snakes on a Plane‘: 4.0
‘The Night Listener‘: 3.0 ‘Superman Returns‘: 5.0 ‘You Me and Dupree‘: 3.5}
‘Toby‘: {‘Snakes on a Plane‘:4.5‘You Me and Dupree‘:1.0‘Superman Returns‘:4.0}}
# 返回p1和p2的皮尔逊相关系数
def sim_pearson(prefsp1p2):
# 得到双方都曾评价过的物品列表
si ={}
for item in prefs[p1]:
if item in prefs[p2]: si[item]=1
# 得到列表元素的个数
n=len(si)
# 如果两者没有共同之处,则返回0
if n==0: return 1
# 对所有偏好求和
sum1=sum([prefs[p1][it] for it in si])
sum2=sum([prefs[p2][it] for it in si])
# 对所有偏好求平方和
sum1Sq=sum([pow(prefs[p1][it]2) for it in si])
sum2Sq=sum([pow(prefs[p2][it]2) for it in si])
# 求乘积之和
pSum=sum([prefs[p1][it]*prefs[p2][it] for it in si])
# 计算皮尔逊评价值
num=pSum-(sum1*sum2/n)
den=sqrt((sum1Sq-pow(sum12)/n)*(sum2Sq-pow(sum22)/n))
if den==0: return 0
r = num / den
return r
# 测试sim_pearson函数
#sim_pearson(critics ‘Lisa Rose‘ ‘Gene Seymour‘)
# 从数据字典中返回最佳的匹配者
# 返回结果的个数和相似度函数都是可选参数
def topMatches(prefspersonn=5similarity=sim_pearson):
scores=[(similarity(prefspersonother)other)
for other in prefs if other!=person]
# 对打分情况进行排序
scores.sort()
scores.reverse()
return scores[0:n]
# 测试topMatches函数
# topMatches(critics ‘Toby‘ n=3)
# 利用所有他人评价值的加权平均,为某人提供建议
def getRecommendations(prefspersonsimilarity=sim_pearson):
totals={}
simSums={}
for other in prefs:
# 不和自己比较
if other==person: continue
sim=similarity(prefspersonother)
# 忽略评价值为0或小于0的情况
if sim<=0: continue
for item in prefs[other]:
# 仅为自己还没有看过的影片进行评价
if item not in prefs[person] or prefs[person][item]==0:
# 相似度*评价值
totals.setdefault(item0)
totals[item]+=prefs[other][item]*sim
# 相似度之和
simSums.setdefault(item0)
simSums[item]+=sim
# 建立一个归一化的列表
rankings=[(total/simSums[item]item) for itemtotal in totals.items()]
# 返回经过排序的列表
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6524 2018-07-10 16:11 数据挖掘\.ipynb_checkpoints\Unti
文件 3351 2018-07-10 16:13 数据挖掘\基于相似性分析和用户偏好的商品推荐系统\code.py
文件 60627 2019-03-07 08:28 数据挖掘\基于相似性分析和用户偏好的商品推荐系统\基于相似性分析和用户偏好的商品推荐系统 (2).docx
文件 59787 2019-03-07 08:28 数据挖掘\基于相似性分析和用户偏好的商品推荐系统\基于相似性分析和用户偏好的商品推荐系统.docx
文件 1645568 2018-06-26 20:00 数据挖掘\数据挖掘实验设计.doc
目录 0 2018-12-20 09:56 数据挖掘\.ipynb_checkpoints
目录 0 2019-03-07 08:29 数据挖掘\基于相似性分析和用户偏好的商品推荐系统
目录 0 2019-03-07 08:30 数据挖掘
----------- --------- ---------- ----- ----
1775857 8
相关资源
- 模型驱动MDA学习论文精华
- VC++开发的仓库管理系统设计文档和
- 图书管理系统毕业论文含源代码
- 基于SSM的花卉管理系统的设计与实现
- 信号分析与处理 大作业——音频信号
- 房产租房管理系统 计算机专业本科毕
- 基于WEB的开放式网络学习平台论文
- 《《数据挖掘中的新方法-支持向量机
- 一个小型仓库管理系统毕业设计
- 分布式大数据云计算领域经典论文2
- gmapping,hector,catorgrapher总结及论文
- 数据挖掘中的新方法:支持向量机.
- 图像配准 与 图像比对论文
- 研究多智能体建模的参考论文
- 数据挖掘概念与技术 第二版 原书及课
- canny经典论文 原文
- 网络工程师专业论文范文50套
- 系统架构师论文范文50篇
- 基于Web的校园网二手商品交易系统的
- 阳光酒店管理系统加代码加论文
- 89C51电子血压计毕业设计论文
- 大数据与云计算相关论文
- 论文.zip
- 图书管理系统毕业设计源程序+论文
- 基于PB的图书管理系统毕业论文.zip
- 寒武纪DianNao系列论文
- PID控制器参数整定方法及其应用研究
- RCNN目标检测论文
- 物联网研究现状及应用相关论文
- 网上商城管理系统毕业设计论文
评论
共有 条评论