資源簡介
推薦系統(tǒng)當中的物質(zhì)擴散算法,使用python語言編寫,有效快捷

代碼片段和文件信息
#?coding:utf-8\
from?operator?import?itemgetter
‘‘‘
dataSet格式{user:[item...]...}
dataSetT格式{item:[user...]...}
‘‘‘
def?Prob(dataSet?dataSetT?User?n):
????‘‘‘Step1------物品擁有的資源值擴散到用戶‘‘‘
????UserResource?=?{}
????for?item?in?dataSet[User]:
????????kItem?=?len(dataSetT[item])
????????for?user?in?dataSetT[item]:
????????????????UserResource[user]?=?1.0?/?float(kItem)?+?UserResource.setdefault(user?0)
????‘‘‘Step2----用戶得到的資源值擴散到物品‘‘‘
????ItemResource?=?{}
????for?user?in?UserResource.keys():
????????energy?=?UserResource[user]
????????kUser?=?len(dataSet[user])
????????for?item?in?dataSet[user]:
????????????ItemResource[item]?=?energy?/?float(kUser)?+?ItemResource.setdefault(item?0)
????for?item?in?dataSet[User]:
????????ItemResource[item]?=?0.0
????#?返回能量最多的前n個物品推薦給目標用戶
????return?sorted(ItemResource.items()?key=itemgetter(1)?reverse=True)[0:n]
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????992??2018-06-26?18:51??物質(zhì)擴散.py
-----------?---------??----------?-----??----
??????????????????992????????????????????1
- 上一篇:基于python的行人重識別代碼
- 下一篇:Python串口調(diào)試助手
評論
共有 條評論