【发布时间】:2015-10-14 05:50:18
【问题描述】:
我对 Scala 和 Spark 还很陌生,我无法从评级文件中创建相关矩阵。它类似于this question,但我的矩阵形式数据稀疏。我的数据如下所示:
<user-id>, <rating-for-movie-1-or-null>, ... <rating-for-movie-n-or-null>
123, , , 3, , 4.5
456, 1, 2, 3, , 4
...
目前最有前途的代码如下所示:
val corTest = sc.textFile("data/collab_filter_data.txt").map(_.split(","))
Statistics.corr(corTest, "pearson")
(我知道其中的 user_ids 存在缺陷,但我愿意暂时忍受)
我期待这样的输出:
1, .123, .345
.123, 1, .454
.345, .454, 1
这是一个矩阵,显示了每个用户与其他每个用户之间的关系。从图形上看,这将是一个相关图。
这完全是一个菜鸟问题,但我已经与它斗争了几个小时,似乎无法通过谷歌搜索。
【问题讨论】:
-
您可以使用
_.split(",").drop(1)轻松删除第一个元素,即包含用户标识的元素
标签: scala apache-spark