Python es un montón de bibliotecas ML (como el gran scikit-learn). ¿Hay algo bueno para Java / Scala, que contiene muchos algos (regresión, clasificación, agrupación, validación cruzada, procesamiento de características), estable y mantenido y capaz de manejar un conjunto de datos masivo?
Acabo de encontrar a Mahout, Breeze / Nak y Weka, pero no se ven tan bien como los de Python.
Además, si no hay un equivalente, ¿cómo puedo conectar eficientemente el código Java con Python?
machine-learning
python
software
java
boskaiolo
fuente
fuente
Respuestas:
Puede encontrar útil esta extensa lista de bibliotecas, marcos y herramientas de software de ML . En particular, contiene los recursos que está buscando: listas ML para Java y Scala .
fuente
Apache Spark y específicamente su componente MLlib se ve exactamente como lo que estás buscando. MLlib contiene implementaciones para clasificación, regresión, reducción de dimensionalidad, etc. Puede programar en Scala, Java y Python.
Básicamente es un marco informático distribuido muy rápido que se puede ejecutar en un clúster Hadoop. Para fines de desarrollo, también puede ejecutarlo fácilmente en modo independiente (sin Hadoop) en su máquina local.
Consulte la guía MLlib aquí: https://spark.apache.org/docs/latest/mllib-guide.html
fuente
Eche un vistazo a JavaML ( http://java-ml.sourceforge.net/ ) y Encog ( http://www.heatonresearch.com/encog ). Este último se centra más en redes neuronales que en muchos algoritmos.
Además, es posible que weka no tenga una API de Java muy amigable (porque, en primer lugar, es una aplicación GUI, no una biblioteca), pero cuando te acostumbras, comienzas a apreciar cuántas cosas se implementan allí.
Los he usado con éxito todos.
fuente