我有一堆数据,第一列代表用户,第二列是电影,第三列是十分。
0 0 9
0 1 8
1 1 4
1 2 6
2 2 7
我必须预测另一个数据系列的第三个数字(用户,电影,?):
0 2
1 0
2 0
2 1
我使用这种方式查找偏差值https://youtube.com/watch?v=dGM4bNQcVKI,这样就可以预测https://www.youtube.com/watch?v=4RSigTais8o。
用户编号0的偏差值:9 + 8 / 2 = 8.5 - 1.5 = 7
。
电影号码2的偏差值:6 + 7 / 2 = 6.5 - 1.5 = 5
。
基线预测指标:
1.5 + 7 + 5
,其中结果为13.5
,但竞赛结果为:7.052009
。
但是问题描述说我的推荐系统的结果应该是:
0 2 7.052009
1 0 6.687943
2 0 6.995272
2 1 6.687943
我的错误在哪里?
答案 0 :(得分:1)
原始平均值是所有当前得分的平均值((9 + 8 + 4 + 6 + 7)/ 5 = 6.8),我在任何地方都看不到这个数字,所以我猜这个'是你的错误。
在视频教授中,在所有计算中使用了3.5的原始平均值,包括计算偏差,他跳过了如何达到该数字,如果你在视频表上添加所有数字并除以,则得到3.5。 / p>
0 2 9.2是第一个答案,使用您的视频作为指南。视频声称已经避免了微积分,比赛的不同最终答案可能来自于使用" full"方法
0 2 ?,用户0(第0行:9 8 x),电影2(第2列:x 6 7)
raw average = 6.8
bias user 0: (9+8) / 2 - 6.8 = 1.7
bias movie 2: (6+7) / 2 - 6.8 = -0.3
prediction: 6.8+1.7-0.3 = 8.2
问题看起来像是Netflix竞赛的一个变种,比赛'主持人知道实际答案(评分),他没有给你,你应该猜测/预测他们,比赛的胜利者是最接近实际答案的人。
你比赛的胜利者最接近,但是他使用一种未知的方法到达那里,或者他自己的知识方法的变化,如果你的目标是完全匹配他的答案,你最好问他用什么方法他是如何修改它的,并尝试复制他的结果。
如果这是家庭作业而不是比赛,那么老师会期望你使用"正确的"他教过你的方法(没有固定的方法,只有很多方法有不同的准确度),你必须像他教你一样使用它。但这是一场比赛,你的目标是找到一个接近最佳的基本方法(你使用的基本方法的准确性非常低),并稍微修改它以获得更好的结果。
如果你想了解我建议你研究的链接,后来问一个统计问题,因为它只是简单的统计数据。您可以尝试自己理解链接或研究Matrix分解。请记住,要获得比赛获胜结果(或关闭),您将无法使用像在YouTube视频上找到的那种简单方法,但需要使用更多数学方法。