Pyspark相似性解释

时间:2018-02-05 13:37:30

标签: apache-spark pyspark

我正在学习如何使用列相似性可以有人向我解释算法生成的矩阵

让我们在这段代码中说出来

from pyspark.mllib.linalg.distributed import RowMatrix
rows = sc.parallelize([(1, 2, 3), (4, 5, 6), (7, 8, 9), (10, 11, 12)])

# Convert to RowMatrix
mat = RowMatrix(rows)

# Calculate exact and approximate similarities
exact = mat.columnSimilarities()
approx = mat.columnSimilarities(0.05)

# Output
exact.entries.collect()
[MatrixEntry(0, 2, 0.991935352214),
 MatrixEntry(1, 2, 0.998441152599),
 MatrixEntry(0, 1, 0.997463284056)]

如何知道maxtrix中哪一行最相似?像(0,2,0.991935352214)意味着第0行和第2行的结果为0.991935352214?我知道0和2分别是i和j矩阵的行和列。

谢谢

1 个答案:

答案 0 :(得分:0)

  

如何知道maxtrix中哪一行最相似?

column Similarities不是 row Similarities所以这不是你想要做的事情。 ;寻找。

你可以将它应用于转置矩阵,但你真的不想要。这里使用的算法是为稀疏和最佳稀疏数据而设计的。它只是不会扩大规模。