基于模型的推荐算法--基于矩阵分解的协同过滤算法

协同过滤算法在大数据情况下,由于计算量较大,不能做到实时的对用户进行推荐。基于模型的协同过滤算法有效的解决了这一问题,矩阵分解(Matrix Factorization, MF)是基于模型的协同过滤算法中的一种。在基于模型的协同过滤算法中,利用历史数据训练得到模型,并利用该模型实现实时推荐,


其中,代表原始的用户-商品矩阵,如下表3,代表对用户没有评价的商品进行推荐打分后的用户-商品矩阵,如下表4,k是可调参数。更新公式如下:


损失函数:


表3 用户-商品矩阵

表4 用户-商品矩阵(推荐表)

# coding:UTF-8
'''
@author: zhaozhiyong
Date:20160928
'''
import numpy as np
def load_data(path):
'''导入数据
output: data(mat):用户商品矩阵
input: path(string):用户商品矩阵存储的位置
'''
f = open(path)
lines = line.strip().split("\t")
data = []
for line in f.readlines():
arr = []
arr.append(float(x))
for x in lines:
if x != "-":
else:
  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值