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?


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

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 .


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


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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.