86 votes

Y a-t-il un paquet recommandé pour l’apprentissage de la machine en Python ?

Y a-t-il un paquet recommandé pour l’apprentissage de la machine en Python ?

J’ai une expérience précédente en mettant en œuvre une variété de l’apprentissage automatique et les algorithmes statistiques dans C++ et MATLAB, mais après avoir effectué certains travaux en Python je suis curieux de connaître les paquets disponibles pour Python.

103voto

ogrisel Points 13211

Il est également scikit-learn (BSD, avec seulement dépendances sur numpy et scipy). Il comprend divers algorithmes d'apprentissage supervisé, tels que:

  • SVM basé sur libsvm et linéaire avec scipy.éparses liaisons pour des fonctionnalités ensembles de données
  • les méthodes bayésiennes
  • Hmm
  • L1 et L1+L2 de régularisation des méthodes de régression aka Lasso et Elastic Net des modèles mis en œuvre avec des algorithmes tels que LARS et de coordonner la descente

Il dispose également de clustering non supervisé des algorithmes tels que:

  • kmeans++
  • meanshift
  • l'affinité de propagation de l'
  • spectral clustering

Et également d'autres outils tels que:

  • fonction extracteurs pour le contenu de texte (jeton et char ngrams + de hachage vectorizer)
  • univariée sélections
  • un simple tuyau d'outil de ligne de
  • de nombreuses implémentations de la croix-des stratégies de validation
  • les métriques de performance de l'évaluation et de ploting (courbe ROC, l'ASC, la confusion de la matrice, ...)
  • une grille de recherche utilitaire pour effectuer des hyper-paramètres de réglage à l'aide de parallèles validation croisée
  • l'intégration avec joblib pour la mise en cache des résultats partiels lorsque vous travaillez dans l'environnement interactif (par exemple, à l'aide de ipython)

Chaque implémentation de l'algorithme est livré avec des exemples de programmes démonstration de son utilisation sur jouet de données ou de la vie réelle des ensembles de données.

Aussi, la source officielle du référentiel est hébergé sur github , donc n'hésitez pas à participer corrections de bugs et amélioration de l'aide de l'ordinaire pull fonction de demande pour interactif de la revue de code.

49voto

sunqiang Points 4599

Autant que je sache, Orange peut être le meilleur choix pour le moment.
PyML est trop bonne.
PyMC pour l'estimation Bayésienne.
et, il y a un Livre "l'Apprentissage de la Machine: d'Un point de vue Algorithmique", Il y a beaucoup de code Python exemples dans le livre, c'est peut-être la peine de lire.
et il y a un post de blog: Pragmatique de la Classification avec Python.
Juste mes deux cents.

12voto

ars Points 35803

Un paquet général convivial est Orange --un peu comme Weka ou RapidMiner, si vous êtes familier avec ceux.

Autre que cela, il y a une variété de paquets et boîtes à outils pour diverses tâches. Vous devriez consulter les paquets Python listés sur mloss comme point de départ.

8voto

oort Points 450

Vous pourriez vouloir regarder :

http://www.shogun-toolbox.org/, qui possède des interfaces pour plusieurs langages comme python. Il y a aussi des http://www.pybrain.org/, qui est (je crois) une implémentation native d’algorithmes de ML. Espoir qui aide.

6voto

piobyz Points 1779

Pour Support Vector Machines, jetez un oeil à LibSVM qui, entre autres, ont l’interface Python.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X