Bibliothèque complète d'apprentissage automatique pour Java / Scala [fermé]

8

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?

boskaiolo
la source
Pensez peut-être à ajouter un peu de détails sur ce qui rend scikit-learn excellent par rapport à Mahout & c.
Scortchi - Réintégrer Monica
Beaucoup d'algorithmes pour la classification, la régression, la sélection des fonctionnalités, la réduction des fonctionnalités, etc. De plus, il a une grande communauté de contributeurs et de support
boskaiolo
Pourriez-vous être un peu plus précis sur ce que vous essayez de réaliser? Une façon courante de «connecter» java et python consiste à utiliser jython, jython.org .
sandris
Consultez mloss.org
Marc Claesen

Réponses:

16

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 .

Aleksandr Blekh
la source
7
je suis le propriétaire de cette liste - je voudrais ajouter qu'elle est mise à jour régulièrement - avec des demandes de tirage qui arrivent chaque semaine
Joseph Misiti
@JosephMisiti: Merci pour la mise à jour. C'est bon à savoir - continuez comme ça.
Aleksandr Blekh
5

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

Suvir
la source
1

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.

Alexey Grigorev
la source