Biblioteca completa de aprendizado de máquina para Java / Scala [fechado]

8

Python é uma abundância de bibliotecas ML (como o ótimo scikit-learn). Existe algo bom para java / scala, contendo muitos algos (regressão, classificação, clustering, validação cruzada, processamento de recursos), estáveis ​​e mantidos e capazes de lidar com um conjunto de dados massivo?

Acabei de encontrar o Mahout, o Breeze / Nak e o Weka, mas eles não parecem tão bons quanto os do Python.

Além disso, se não houver equivalente, como posso conectar eficientemente o código java ao Python?

boskaiolo
fonte
Talvez considere adicionar um pequeno detalhe sobre o que torna o scikit-learn ótimo comparado ao Mahout & c.
Scortchi - Restabelecer Monica
Muitos algoritmos para classificação, regressão, seleção de recursos, redução de recursos etc. Além disso, tem uma grande comunidade de contribuintes e apoio
boskaiolo
Você poderia ser um pouco mais específico sobre o que está tentando alcançar? Uma maneira comum de "conectar" java e python é usar jython, jython.org .
17284 sandris
Confira mloss.org
Marc Claesen

Respostas:

5

O Apache Spark e especificamente seu componente MLlib se parecem exatamente com o que você está procurando. O MLlib contém implementações para classificação, regressão, redução de dimensionalidade, etc. Você pode programar em Scala, Java e Python.

É basicamente uma estrutura de computação distribuída muito rápida que pode ser executada em um cluster Hadoop. Para fins de desenvolvimento, você também pode executá-lo facilmente no modo independente (sem o Hadoop) em sua máquina local.

Confira o guia do MLlib aqui: https://spark.apache.org/docs/latest/mllib-guide.html

Suvir
fonte
1

Veja o JavaML ( http://java-ml.sourceforge.net/ ) e o Encog ( http://www.heatonresearch.com/encog ). O último se concentra mais nas redes neurais do que em muitos algoritmos.

Além disso, o weka pode não ter uma API java muito amigável (porque, antes de tudo, é um aplicativo GUI, não uma biblioteca), mas quando você se acostuma, começa a avaliar quantas coisas são implementadas lá.

Eu usei com sucesso todos eles.

Alexey Grigorev
fonte