我正在学习如何使用列相似性可以有人向我解释算法生成的矩阵
让我们在这段代码中说出来
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矩阵的行和列。
谢谢
答案 0 :(得分:0)
如何知道maxtrix中哪一行最相似?
column
Similarities
不是 row
Similarities
所以这不是你想要做的事情。 ;寻找。
你可以将它应用于转置矩阵,但你真的不想要。这里使用的算法是为稀疏和最佳稀疏数据而设计的。它只是不会扩大规模。