Python est plein de bibliothèques ML (comme le grand scikit-learn). Y a-t-il de bons pour java / scala, contenant de nombreux algos (régression, classification, clustering, validation croisée, traitement des fonctionnalités), stables et maintenus et capables de gérer un ensemble de données massif?
Je viens de trouver Mahout, Breeze / Nak et Weka, mais ils ne sont pas aussi beaux que ceux en Python.
De plus, s'il n'y a pas d'équivalent, comment puis-je connecter efficacement le code java avec Python?
machine-learning
python
software
java
boskaiolo
la source
la source
Réponses:
Vous pouvez trouver utile cette longue liste organisée de bibliothèques ML, de frameworks et d'outils logiciels . En particulier, il contient des ressources que vous recherchez - des listes ML pour Java et pour Scala .
la source
Apache Spark et en particulier son composant MLlib ressemble exactement à ce que vous recherchez. MLlib contient des implémentations pour la classification, la régression, la réduction de dimensionnalité, etc. Vous pouvez programmer en Scala, Java et Python.
Il s'agit essentiellement d'une infrastructure informatique distribuée très rapide qui peut être exécutée dans un cluster Hadoop. À des fins de développement, vous pouvez également l'exécuter facilement en mode autonome (sans Hadoop) sur votre machine locale.
Consultez le guide MLlib ici: https://spark.apache.org/docs/latest/mllib-guide.html
la source
Jetez un œil à JavaML ( http://java-ml.sourceforge.net/ ) et Encog ( http://www.heatonresearch.com/encog ). Ce dernier se concentre plutôt sur les réseaux de neurones que sur de nombreux algorithmes.
De plus, weka n'a peut-être pas une API java très conviviale (car, tout d'abord, c'est une application graphique, pas une bibliothèque), mais lorsque vous vous y habituez, vous commencez à apprécier le nombre de choses qui y sont implémentées.
Je les ai tous utilisés avec succès.
la source