利用 Python 实现简单的基于用户的商品推荐模型

本文介绍了如何使用Python构建一个简单的基于用户相似性进行商品推荐的模型。通过寻找具有相似购物习惯的用户群体,推荐他们喜欢而目标用户未购买的商品,以此实现个性化推荐。
摘要由CSDN通过智能技术生成

利用 Python 实现简单的基于用户的商品推荐模型

  设计思想:

  找出与该用户具有相似购物习惯的其他用户,例如他们曾经购买过一些相同的商品,然后将其他用户购买过但是该用户未曾购买的商品推荐给他。

  简单讲就是当一个用户 A 需要个性化推荐时,可以先找到和他兴趣相似的用户群体 C,然后把 C 喜欢的、并且 A 没有听说过的物品推荐给 A,也就是基于用户的商品推荐算法。

  实现原理:

① 找到与目标用户兴趣相似的用户集合;

② 找到这个集合中用户喜欢的、并且目标用户没有听说过的物品推荐给目标用户。

  实验结果:

e-commerce/20200501192754

  实验源码:

  uid_score_itemid.txt

summer,4.0 ,1
lina,5.0 ,1
tom,5.0 ,1
xixi,5.0 ,1
aliyun,5.0 ,1
summer,5.0 ,2
xiaoming,4.0 ,2
aliyun,4.0 ,2
lina,5.0 ,2
odi,5.0 ,2
summer,5.0 ,3
violetblue,5.0 ,3
frogsun,4.0 ,3
lina,4.0 ,3
Alaleio,5.0 ,3
alod,1.0 ,4
tom,1.0 ,4
aliyun,1.0 ,4
lina,1.0 ,4
keol,1.0 ,4
shih3,4.0 ,5
tom,5.0 ,5
summer,4.0 ,5
meimei,4.0 ,5
xixi,4.0 ,5

  baseUserRecomment.py

# -*-coding:utf-8-*-
from math import sqrt

fp = open("uid_score_itemid.txt", "r")

users = {
   }

for line in open("uid_score_itemid.txt"):
    lines = line.strip().split(",")
    if lines[0] not in users:
        users[lines[0]] = {
   }
    users[lines[0]][lines[2]] = float(lines[1])


class recommender:
    # data:数据集,这里指users
    # k:表示得出最相近的k的近邻
    # metric:表示使用计算相似度的方法
    # n:表示推荐item的个数
    def __init__(self, data, k=3, metric='pearson', n=12):

        self
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值