坐标矩阵Spark的行方向最大值



我有一个叫做mat的spark.mllib.linalg.distributed.CoordinateMatrix,我想计算这个稀疏矩阵的逐行最大值。我知道mat。entries是rdd它将mat的内容存储为MatrixEntry(i,j,v)。现在我希望找到逐行的最大值,也就是说,我需要找到对于每一个I, v除以所有j的最大值。我该怎么做呢?

到目前为止,我有这个:

val mat_RowMatrix = mat.toRowMatrix() // found function toRowMatrix on github 
val max_entries = mat_RowMatrix.rows.map{_.toArray.max}

但我需要找到argmax(最大值的索引),而不是值本身。我在哪里可以找到相关的文档?我想我必须使用maxBy,但不知道如何使用它。还有,有没有更好的方法来做这一切?

给点指示会很有帮助的。

RowMatrix.rows给出了RDD[Vector], Vector已经通过argmax函数提供了这个功能。你可以输入:

val maxEntries = matRowMatrix.rows.map{_.argmax}

最新更新