我追求的是网络推荐系统,比如“相关产品”。根据用户购买的商品,我想根据其他用户购买的商品查找相关商品。我按照 MovieLens 教程(https://github.com/JohnLangford/vowpal_wabbit/wiki/Matrix-factorization-example)制作推荐系统。
在上面的例子中,用户给电影打了一个分数(1-5)。然后,该模型可以预测用户会给特定项目的分数。
另一方面,我的数据只知道用户喜欢什么。我不知道他们不喜欢什么,也不知道他们有多喜欢某样东西。所以我尝试发送 1 作为我所有条目的值,但这只会给我一个模型,它在每个预测中都返回 1。
关于如何构建数据以便我可以预测用户喜欢 0 到 1 之间的项目的可能性有什么想法吗?
示例数据:
1.0 |user 1 |item 1
1.0 |user 1 |item 2
1.0 |user 2 |item 2
1.0 |user 2 |item 3
1.0 |user 3 |item 1
1.0 |user 3 |item 3
训练命令:
cat test.vw | vw /dev/stdin -b 18 -q ui --rank 10 --l2 0.001 --learning_rate 0.015 --passes 20 --decay_learning_rate 0.97 --power_t 0 -f test.reg --cache_file test.cache