【发布时间】:2015-03-31 16:42:20
【问题描述】:
我正在参加编程竞赛,我有数据,其中第一列是用户,第二列是电影,第三列是十分评分系统中的数字。
0 0 9
0 1 8
1 1 4
1 2 6
2 2 7
而且我必须预测第三列(用户、电影、?):
0 2
1 0
2 0
2 1
我也知道答案:
0 2 7.052009
1 0 6.687943
2 0 6.995272
2 1 6.687943
表格中的这些数据: 行是用户 0、1 和 2;列是电影 0、1 和 2;单元格是分数,0 未投票:
[,1] [,2] [,3]
[1,] 9 8 0
[2,] 0 4 6
[3,] 0 0 7
我使用 R lang 来获取 SVD:
$d
[1] 12.514311 9.197763 2.189331
$u
[,1] [,2] [,3]
[1,] 0.9318434 -0.3240669 0.1632436
[2,] 0.3380257 0.6116879 -0.7152458
[3,] 0.1319333 0.7216776 0.6795403
$v
[,1] [,2] [,3]
[1,] 0.6701600 -0.31709904 0.6710691
[2,] 0.7037423 -0.01584988 -0.7102785
[3,] 0.2358650 0.94825998 0.2125341
转置的 v 是:
[,1] [,2] [,3]
[1,] 0.6701600 0.7037423 0.2358650
[2,] -0.31709904 -0.01584988 0.94825998
[3,] 0.6710691 -0.7102785 0.2125341
我阅读了有关使用以下公式预测电影收视率的信息:
但我不明白如何预测这样的收视率:
0 2 7.052009
1 0 6.687943
2 0 6.995272
2 1 6.687943
对于这个数据:
0 2
1 0
2 0
2 1
【问题讨论】:
标签: r algorithm linear-algebra pca svd