如何找到矩阵Spark Scala行的最大值索引?

时间:2015-04-27 09:10:05

标签: scala matrix apache-spark max

我有一个关于沿矩阵行查找最大值索引的问题。我如何在Spark Scala中执行此操作?这个函数就像Python中的numpy中的argmax。

2 个答案:

答案 0 :(得分:2)

你的矩阵是什么类型的?如果是RowMatrix,您可以使用RDD访问其行向量的rows

如果我理解正确,那么找到这个RDD[Vector]的每个向量的最大值就很简单了。因此,您可以myMatrix.rows.map{_.toArray.max}

如果您有DenseMatrix,则可以将其转换为Array,在此阶段您将拥有row-major form中的元素列表。您还可以使用numCols访问矩阵的列数,然后使用集合方法grouped获取行。

myMatrix.toArray.grouped(myMatrix.numCols).map{_.max}

答案 1 :(得分:0)

我认为您必须将值作为数组获取以获得最大值。

Accelerometer