基于物品的协同过滤实现(javaweb+python)
基于物品的推荐算法以及流程(以电商网站为基准) 例如,用户喜欢百雀羚的爽肤水,那么系统将会寻找与爽肤水、百雀羚类似的物品推荐给用户。 算法流程: 1.构建用户–>物品的倒排; 2.构建物品与物品的同现矩阵; 3.计算物品之间的相似度,即计算相似矩阵; 4.根据用户的历史记录,给用户推荐物品; 数据库中数据如下: 注:user_id为用户id good_id为用户喜欢的商品id python代码: # !/usr/bin/python # -*- coding: UTF-8 -*- from math import sqrt import operator # 1.构建用户-->物品的倒排 def loadData(files): data = {}; for line in files: user,score,item =line.split( " , " ); data.setdefault(user,{}); data[user][item] = score; print ( " ----1.用户:物品的倒排---- " ) print (data) return data # 2.计算 # 2.1 构造物品-->物品的共现矩阵 # 2.2 计算物品与物品的相似矩阵 def similarity(data): # 2.1 构造物品:物品的共现矩阵 N={}; #