推荐系统的评估与测试
1. 评估测试集
在评估推荐系统时,首先需要对测试集进行处理。以下是处理测试集的代码:
test_temp['rank'] = test_temp.groupby('user_id')['rating_timestamp'] \
.rank(ascending=False)
test = test_temp[test_temp['rank'] > min_rank]
additional_training_data = test_temp[test_temp['rank'] >= min_rank]
train = train.append(additional_training_data)
return test, train
上述代码的操作步骤如下:
1. 对每个用户的内容项按时间戳进行排序,排名为 1 的是最新的项。
2. 移除排名高于 min_rank 的所有项。
3. 将测试用户中排名高于或等于 min_rank 的所有项添加到训练数据中。
4. 返回测试集和训练集两个数据帧。
2. 评估测试集的难点
即使完成了上述操作,可能也无法凭借之前实现的算法赢得类似 Netflix 竞赛的奖项。因为评估推荐系统是否优秀并非易事,存在许多可调整的参数,这些参数会使评估结果看起来更好或更差。例如,可以限制测试中的用户,查看前 10 或前 100 的准确率。初次运行评估
超级会员免费看
订阅专栏 解锁全文
9万+

被折叠的 条评论
为什么被折叠?



