Cosa vuoi creare? La domanda importante!
Sei venuto qui per usare Machine Learning (ML) . Hai considerato attentamente per quanto riguarda? Quando scegli una libreria di apprendimento automatico, devi iniziare con come la userai. Anche se sei solo interessato all'apprendimento, dovresti considerare dove viene utilizzato l'apprendimento automatico e quale è più vicino al tuo interesse principale. Dovresti anche considerare se vuoi concentrarti sull'ottenere qualcosa in corso sulla macchina locale o se sei interessato a diffondere il tuo calcolo su molti server.
All'inizio, inizia facendo funzionare qualcosa.
Dove viene utilizzato l'apprendimento automatico
Puoi trovare molti progetti che usano ML, in effetti così tanti che ogni categoria è a lungo pagine. La versione breve è "ovunque", questo non è vero ma inizia a chiedersi. Quelli ovvi sono i motori delle raccomandazioni, il riconoscimento delle immagini e il rilevamento dello spam. Dato che stai già programmando a Python, sarai anche interessato al software di completamento del codice Kite. Questo è che altri usi sono per rilevare errori dall'immissione manuale dei dati, diagnosi medica e manutenzione per le principali fabbriche e altri settori
Le biblioteche in breve:
- Scikit-learn, Da Scikit; Routine e librerie in cima a Numpy, Scipy e Matplotlib. Questa biblioteca si basa direttamente sulle routine sulle biblioteche matematiche native di Python. Installa Scikit-Learn con il tuo normale gestore di pacchetti Python. Scikit-Learn è piccolo e non supporta i calcoli della GPU, questo può darti ma è una scelta consapevole. Questo pacchetto è più piccolo e più facile da iniziare. Funziona ancora abbastanza bene in contesti più grandi per fare un cluster di calcoli giganteschi, hai bisogno di altri pacchetti.
- Immagina Scikit Speciale per le immagini! L'immagine di Scikit ha algoritmi per l'analisi e la manipolazione delle immagini. Puoi usarlo per riparare le immagini danneggiate, nonché manipolare il colore e altri attributi dell'immagine. L'idea principale di questo pacchetto è rendere tutte le immagini disponibili per numpy in modo da poter fare operazioni su di esse come ndarrays. In questo modo hai le immagini disponibili come dati per l'esecuzione di eventuali algoritmi.
- Shogun: Base C ++ con interfacce API chiare a Python, Java, Scala ecc. Molti, forse la maggior parte degli algoritmi disponibili per la sperimentazione. Questo è scritto in C ++ per l'efficienza, c'è anche un modo per provarlo nel cloud. Shogun utilizza SWIG per interfacciarsi con molti linguaggi di programmazione, tra cui Python. Shogun copre la maggior parte degli algoritmi ed è ampiamente utilizzato nel mondo accademico. Il pacchetto ha una cassetta degli attrezzi disponibile su https: // www.Shogun-toolbox.org.
- Spark mllib: È principalmente per Java ma è disponibile attraverso Numpy Library for Python Developer. Spark Mllib è sviluppato dal team Apache, quindi è rivolto ad ambienti di elaborazione distribuita e deve essere gestito con il maestro e i lavoratori. Puoi farlo in modalità autonoma ma la vera potenza di Spark è la capacità di distribuire i lavori su molte macchine. La natura distribuita di Spark lo rende popolare con molte grandi aziende, come IBM, Amazon e Netflix. Lo scopo principale è estrarre i "big data", il che significa che tutti quei pangrattato che ti lasci alle spalle quando navighi e acquisti online. Se vuoi lavorare con l'apprendimento automatico, Spark Mllib è un buon punto di partenza. Gli algoritmi che supporta sono distribuiti su tutta la gamma. Se stai iniziando un progetto di hobby, potrebbe non essere la migliore idea.
- H2O: È rivolto ai processi aziendali, quindi supporta le previsioni per raccomandazioni e prevenzione delle frodi. Il business, H20.L'intelligenza artificiale mira a trovare e analizzare i set di dati da file system distribuiti. È possibile eseguirlo sulla maggior parte dei sistemi operativi convenzionali, ma lo scopo principale è supportare i sistemi basati su cloud. Include la maggior parte degli algoritmi statistici, quindi può essere utilizzato per la maggior parte dei progetti.
- Mahout: È realizzato per gli algoritmi di apprendimento automatico distribuito. Fa parte di Apache a causa della natura distribuita dei calcoli. L'idea alla base di Mahout è che i matematici attuano i propri algoritmi. Questo non è per un principiante, se stai solo imparando, stai meglio usare qualcos'altro. Detto questo, Mahout può connettersi a molti back-end, quindi quando hai creato qualcosa guarda per vedere se vuoi usare Mahout per il tuo frontend.
- Cloudera Oryx: Utilizzato principalmente per l'apprendimento automatico sui dati in tempo reale. Oryx 2 è un'architettura che mette a strati tutto il lavoro per creare un sistema in grado di reagire ai dati in tempo reale. I livelli funzionano anche in diversi tempi, con un livello batch che costruisce il modello di base e un livello di velocità che modifica il modello man mano che stanno arrivando nuovi dati. Oryx è costruito sopra Apache Spark e crea un'intera architettura che implementa tutte le parti di un'applicazione.
- Theano: Theano è una biblioteca Python che è integrata con Numpy. Questo è il più vicino a Python che puoi ottenere. Quando usi Theano, si consiglia di installare GCC. Il motivo è che Theano può compilare il codice nel codice più appropriato possibile. Mentre Python è fantastico, in alcuni casi C è più veloce. Quindi Theano può convertire in C e compilare facendo funzionare il tuo programma più veloce. Facoltativamente, è possibile aggiungere supporto GPU.
- Tensorflow: Il tensore nel nome indica un tensore matematico. Un tale tensore ha posti 'n' in una matrice, tuttavia un tensore è un array multidimensionale. Tensorflow ha algoritmi per fare calcoli per i tensori, da cui il nome, puoi chiamarli da Python. È costruito in C e C ++, ma ha un front-end per Python. Questo rende facile da usare e in rapido funzionamento. Tensorflow può essere eseguito su CPU, GPU o distribuito su reti, questo è ottenuto da un motore di esecuzione che funge da livello tra il codice e il processore.
- Matplotlib: Quando hai trovato un problema puoi risolvere con l'apprendimento automatico, molto probabilmente vorrai visualizzare i tuoi risultati. Qui è dove entra Matplotlib. È progettato per mostrare i valori di eventuali grafici matematici ed è fortemente usato nel mondo accademico.
CONCLUSIONE
Questo articolo ti ha dato un'idea di ciò che è disponibile per il programma di apprendimento automatico. Per ottenere un'immagine chiara di ciò di cui hai bisogno, devi iniziare facendo alcuni programmi e vedere come funzionano. Non finché non sai come si possono fare le cose, puoi trovare la soluzione perfetta per il tuo prossimo progetto.