在Spark MLlib上使用Java中的Breeze

问题描述 投票:3回答:2

在尝试使用Java中的MLlib时,使用breeze Matrix操作的正确方法是什么?对于例如scala中的乘法它只是“matrix * vector”。如何用Java表示相应的功能?

有一些方法,如“$colon$times”,可以通过正确的方式调用

breeze.linalg.DenseMatrix<Double> matrix= ...
breeze.linalg.DenseVector<Double> vector = ...  

matrix.$colon$times( ...

一个人可能需要一个运算符实例... breeze.linalg.operators.OpMulMatrix.Impl2但是要使用哪个精确类型的Operation实例和参数?

java scala apache-spark apache-spark-mllib scala-breeze
2个回答
2
投票

说实话,这很难。 Breeze非常大量地使用了implicits,它们只是不能很好地转换为Java。我们有一些用于信号处理的Java友好包装器,但没有线性代数。 (我很乐意接受拉动请求,为包装物提供一些支持。)


0
投票

看看https://spark.apache.org/docs/2.2.0/api/java/org/apache/spark/mllib/linalg/BLAS.html,其中包含许多BLAS线性代数运算。这些可以由Scala和Java使用。

© www.soinside.com 2019 - 2024. All rights reserved.