RecSys
RecSys copied to clipboard
项亮的《推荐系统实践》的代码实现
` # itemnorm.py for i,relations in item_sim_matrix.items(): max_num = max(relations) item_sim_matrix[i] = {key : value / max_num for key,value in relations.items()} ` max_num不是value最大值吧,反而是物品id最大值了,这个归一化有问题
https://github.com/qcymkxyc/RecSys/blob/6f8067f8b4ac40af7b7f6099aa5958deba8356e3/main/util/metric.py#L30
hi friend, thank you for your contribution, i got blocked in LFM class that i cant find method self.read_data(pivot = 0.05); is that method missed?
https://github.com/qcymkxyc/RecSys/blob/6f8067f8b4ac40af7b7f6099aa5958deba8356e3/main/chapter2/lfm.py#L109 没有加入误差
https://github.com/qcymkxyc/RecSys/blob/6f8067f8b4ac40af7b7f6099aa5958deba8356e3/main/chapter2/lfm.py#L34 书中的负采样描述的是 对每个用户采样负样本时,要选取那些很热门,而用户却没有行为的物品。且书中的item_pool是一个列表,我的理解是不用去重,列表中重复的次数代表着物品的流行度,流行度大的更容易被采样到。但这样可能存在items列表过大... 所以可以考虑得到去重之后的物品列表后,记录每个物品的出现次数,与总个数相处得到频率,以此作为np.choice抽样的概率。