2009-08-17 17 views
76

Esiste un pacchetto consigliato per l'apprendimento automatico in Python?Esiste un pacchetto consigliato per l'apprendimento automatico in Python?

Ho una precedente esperienza nell'implementazione di una varietà di algoritmi di apprendimento automatico e statistici in C++ e MATLAB, ma avendo lavorato in Python sono curioso dei pacchetti disponibili per Python.

+2

probabilmente correlate: http://stackoverflow.com/questions/1605854/what-is-the-best-artificial-intelligence-library-for-python http://stackoverflow.com/questions/1798091/artificial -inteligence-library-in-python – sastanin

+4

@Will, qui sotto: hai torto ... senza offesa, le decisioni di chiudere questo articolo non sono né costruttive né utili. – lmsasu

+0

@lmsasu: nessun reato. La comunità può votare per riaprire se lo sono. O un'azione più diretta sarebbe chiedere la riapertura su Meta.Tuttavia, non credo che andrà da nessuna parte, dato che è stata una pratica di lunga data per scoraggiare domande come questa (beh, non finché la domanda è stata intorno, ovviamente, ma capisci). Le domande di lista/bikehed/shopping a cui si risponde principalmente con i collegamenti esterni vengono immediatamente chiuse quasi immediatamente. – Will

risposta

7

Si potrebbe desiderare di guardare:

http://www.shogun-toolbox.org/, che dispone di interfacce per più lingue, tra cui Python. C'è anche http://www.pybrain.org/, che è (credo) un'implementazione nativa degli algoritmi ML. Spero possa aiutare.

+0

PyBrain è focalizzato sulle reti neurali. –

2

Non sono sicuro che chiameresti questo sistema di apprendimento automatico, ma lo nltk package ha una classificazione del testo in stile bayesiano. È possibile utilizzare i dati di apprendimento e i dati di test per verificare che stiano inferendo regole sui dati.

+0

NLTK è più utile per il text mining. – riza

10

Un pacchetto di facile utilizzo è Orange - un po 'come Weka o RapidMiner, se hai familiarità con quelli.

Oltre a ciò, è disponibile una varietà di pacchetti e toolkit per varie attività. Si consiglia di consultare i pacchetti Python elencati su mloss come punto di partenza.

5

Per macchine Vector Support, dai uno sguardo a LibSVM che, tra le altre, ha un'interfaccia Python.

4

ho dato Orange una prova.

È potente, ma se si passa attraverso la documentazione, ci si rende conto che l'autore ha il suo stile pazzo di scrivere Python. Il suo codice diventa piuttosto criptico se sei relativamente nuovo a Python, quindi non raccomanderei Orange se non hai familiarità con Python.

0

Se siete alla ricerca di rete neurale, pitone vincolante per fann è abbastanza facile da usare, e sono dotati di strumenti per addestrare le reti

94

C'è anche scikit-learn (BSD, con solo dipendenze su NumPy & SciPy). Esso comprende vari algoritmi di apprendimento supervisionato quali:

  • SVM basato su libsvm e lineare con attacchi scipy.sparse per le funzioni ampi insiemi di dati
  • bayesiana
  • HMM
  • L1 e L2 + L1 regolarizzate metodi di regressione aka Lasso e modelli di rete elastica implementate con algoritmi come LARS e coordinare la discesa

dispone anche di algoritmi di clustering non supervisionati, quali:

  • Kmeans ++
  • meanshift
  • affinità di propagazione
  • di clustering spettrale

e anche altri strumenti come:

  • funzionalità estrattori per il contenuto del testo (ngrams gettone e char + vectorizer hashing)
  • selezioni delle funzioni univariate
  • una semplice linea di tubazione strumento
  • numerose implementazioni di strategie di validazione incrociata
  • metriche di rendimento valutazione e ploting (curva ROC, AUC, matrice di confusione, ...)
  • un'utilità ricerca a griglia per eseguire la sintassi iperparametri utilizzando la convalida incrociata parallela
  • integrazione con joblib per la memorizzazione nella cache dei risultati parziali quando si lavora in ambiente interattivo (ad es. usando ipython)

Ogni implementazione di algoritmo viene fornita con sample programs che ne dimostra l'utilizzo sia su dati giocattolo che su set di dati di vita reale.

Inoltre, il repository ufficiale sorgente è hosted on github quindi non esitate a contribuire correzioni e miglioramenti utilizzando la funzione normale richiesta di pull per la revisione del codice interattivo.

0

SVMlight è a volte una comoda alternativa a LibSVM! Anche LibSVM è fantastico.

Problemi correlati