基于协同过滤的简略商品推荐算法

本文介绍了一个基于协同过滤的商品推荐系统,利用用户-商品评分矩阵,通过余弦相似度计算商品相似性,并预测用户评分,推荐高评分商品。项目代码可在GitHub上找到。
摘要由CSDN通过智能技术生成

项目地址:https://github.com/Orekisiori/cf-rs

我们限定一下范围,假设现在给你一个用户-商品的评分矩阵(1~5),矩阵中的每个数代表用户对该商品的喜爱程度,问如何设计一个推荐系统

这个问题的本质就是对用户对商品的评分进行预测,将预测评分高的商品推荐给用户,这里我们用到的算法就是协同过滤

协同过滤有两个维度:商品维度:将与该用户喜爱的商品相似的商品推荐给用户,也就是说与用户最喜欢的商品最相似的商品评分最高;用户维度:将与该用户相似的用户喜爱的商品推荐给用户。问题进一步转化成如何衡量商品或者用户的相似性的问题

用户的相似性:两名用户对同一件商品的打分越接近,两名用户越相似

商品的相似性:同一位用户对两件商品的打分越接近,两件商品越接近

这边深入研究一下商品相似性导向的推荐算法的做法,用户相似性其实就是转置一下的事

对商品的相似度度量有多种办法,这边我们选取余弦相似度

DVD_sparse = sparse.csr_matrix(self.DVD)
DVD_sparse = DVD_sparse.transpose()
self.SSIM = cosine_similarity(DVD_sparse)

获取数据

    def __init__(self):
        self.count = 0
        # 相似矩阵
        self.SSIM = n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值