推荐系统 - 基于物品项的协同召回算法

说明

这是基于商品项的协同过滤方法,  可以作为 一路的召回方式吧, 可以看到这里基本分为四个步骤吧
        
     1.获取所有每个 用户产生过交互的商品集合
     2.针对与用户产生交互的商品  之间的 共现情况 (计算共现矩阵,用于衡量商品项之间的相似度)
     3.进行商品之间  相似度的计算,使用下面的式子吧
        
        sim_score = co_time / (
                  math.sqrt(item_user_click_time[itemid_i]) * math.sqrt(item_user_click_time[itemid_j]))
                  
     4.针对每个用户,按照以往的感兴趣点击商品情况,找到最感兴趣的n个 ,每个去寻找 最接近的k个,作为每个用户的候选推荐使用。

 代码

# -*- coding: utf-8 -*-
import pandas as pd
import math
import operator
import warnings
warnings.filterwarnings('ignore')

def get_user_click(path):
    '''
    获得每个userid行为过的movieid,构造成字典的形式。
    get user click list
    Args:
        rating_file:input file
    Return:
        dict,key:userid,value:[itemid1,itemid2,..]
    '''
#     if not os.path.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值