2014-12-02 7 views
2

При попытке использовать MLlib с Java, каков правильный способ использования бриз-операций Breeze? . умножение в scala это просто «matrix * vector». Какова соответствующая функциональность, выраженная в Java?Использование Breeze от Java на Spark MLlib

Есть методы, такие как «$colon$times», которые могут быть вызваны с помощью правильного пути

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

matrix.$colon$times(... 

один может понадобиться экземпляр оператора ... breeze.linalg.operators.OpMulMatrix.Impl2 Но какой именно напечатал экземпляр операции и параметры, которые будут использоваться?

+0

Вы можете попробовать «common Math» для Java. –

ответ

1

Это честно очень сложно. Бриз очень сильно использует имплициты, и они просто не переводят на Java. У нас есть некоторые дружественные Java-оболочки для обработки сигналов, но ничего для линейной алгебры. (Я бы с удовольствием взял запрос на перенос, который обеспечил некоторую поддержку для переноса вещей.)

+0

ОК, спасибо за предложение, но как часто мы будем сталкиваться с такими проблемами для многих потенциальных матричных операций? Это действительно возможно? Может ли это обработать матрицу, которая потребляет почти всю ОЗУ? Преобразование (и, возможно, сохранение) матрицы MLlib и загрузка ее в библиотеку-матрицу, более пригодную для использования на Java, например, commons-math или параллельный жеребенок, будет способ пойти во время использования Java на MLlib? – Mechanee