我在想火花余弦相似度是否可以用于稀疏输入数据?我看到的例子,其中,所述输入包括所述形式的空间分隔的特征的行:火花余弦相似度(DIMSUM算法)稀疏输入文件
id feat1 feat2 feat3 ...
但是我有一种固有的稀疏,隐式反馈设置和想有输入形式:
id1 feat1:1 feat5:1 feat10:1
id2 feat3:1 feat5:1 ..
...
我想利用稀疏来改善计算。最后我还希望使用DIMSUM算法来计算最近已被纳入到Spark中的所有对相似度。有人可能会建议一个稀疏输入格式,可以在火花上使用DIMSUM吗?我检查了示例代码,并在它的评论中写道“输入必须是一个密集矩阵”,但是这个代码在示例中,所以我不知道它是否仅指一个特定的情况。
spark/examples/src/main/scala/org/apache/spark/examples/mllib/CosineSimilarity.scala
这就是我指的示例代码的路径。
只需几行代表稀疏输入格式(从推荐系统的角度来看,user_id feat1:1 feat2:1 ...)以处理余弦相似性将非常有帮助。
如果我将user_ids作为字符串离开,它也可以吗?
我知道libsvm的格式是类似的,但没有一个用户ID的概念,在这种情况下,仅使用要素投入情况,所以我想知道的LIBSVM格式如何转化为推荐系统的域名?
我对这个非常简单的问题表示歉意,我对Spark非常新,并且只是让我的脚湿了。
任何帮助将不胜感激。提前致谢!