zl程序教程

您现在的位置是:首页 >  IT要闻

当前栏目

推荐 | 微软SAR近邻协同过滤算法相关问题(三)

2023-04-18 13:02:22 时间

参考相关帖: 推荐 | 微软SAR近邻协同过滤算法解析(一) 推荐 | 微软SAR近邻协同过滤算法拆解(二) 练习题︱ python 协同过滤ALS模型实现:商品推荐 + 用户人群放大

1 问题一:模型预测之后Prediction一直为0

模型预测之后Prediction一直为0,同时发现model.item_similarity对角阵只有1,如下:

array([[1, 0, 0, ..., 0, 0, 0],
       [0, 1, 0, ..., 0, 0, 0],
       [0, 0, 1, ..., 0, 0, 0],
       ...,
       [0, 0, 0, ..., 1, 0, 0],
       [0, 0, 0, ..., 0, 1, 0],
       [0, 0, 0, ..., 0, 0, 1]], dtype=int64)

这个原因报错是: sar_singlenode.py的291行:

self.item_similarity = jaccard(item_cooccurrence).astype(
    df[self.col_rating].dtype
)

这里item_cooccurrence的共现 C矩阵 格式修改的时候的问题,是由这里的df决定,df => 训练数据集

在官方案例中rating都是float,笔者自己数据run的时候,调整为整数了。 所以,之后的数据rating列一定要改成float形式。