machine-learning Tutorial
Iniziare con l'apprendimento automatico
Ricerca…
Osservazioni
Machine Learning è la scienza (e l'arte) della programmazione dei computer in modo che possano apprendere dai dati.
Una definizione più formale:
È il campo di studio che dà ai computer la possibilità di apprendere senza essere programmato esplicitamente. Arthur Samuel, 1959
Una definizione più orientata all'ingegneria:
Si dice che un programma per computer apprende dall'esperienza E in relazione a qualche compito T e qualche misura di prestazione P, se la sua prestazione su T, misurata da P, migliora con l'esperienza E. Tom Mitchell, 1997
Fonte: "Hands-On Machine Learning con Scikit-Learn e TensorFlow di Aurélien Géron (O'Reilly). Copyright 2017 Aurélien Géron, 978-1-491-96229-9. "
L'apprendimento automatico (ML) è un campo dell'informatica che è nato dalla ricerca nell'intelligenza artificiale. La forza dell'apprendimento automatico rispetto ad altre forme di analisi è nella sua capacità di scoprire intuizioni nascoste e prevedere i risultati di input futuri non visibili (generalizzazione). A differenza degli algoritmi iterativi in cui le operazioni sono esplicitamente dichiarate, gli algoritmi di machine learning prendono in prestito concetti dalla teoria della probabilità per selezionare, valutare e migliorare i modelli statistici.
Installazione o installazione usando Python
1) Scikit impara
scikit-learn è un modulo Python per l'apprendimento automatico basato su SciPy e distribuito sotto la licenza BSD di 3-Clausole. È dotato di vari algoritmi di classificazione, regressione e clustering che includono macchine vettoriali di supporto, foreste casuali, boosting gradiente, k-means e DBSCAN ed è progettato per interagire con le librerie numeriche e scientifiche Python NumPy e SciPy.
L'attuale versione stabile di scikit-learn richiede :
- Python (> = 2.6 o> = 3.3),
- NumPy (> = 1.6.1),
- SciPy (> = 0,9).
Per la maggior parte di installazione pip
gestore di pacchetti python può installare python e tutte le sue dipendenze:
pip install scikit-learn
Tuttavia, per i sistemi Linux si consiglia di utilizzare il gestore pacchetti conda
per evitare possibili processi di compilazione
conda install scikit-learn
Per verificare di avere scikit-learn
, esegui in shell:
python -c 'import sklearn; print(sklearn.__version__)'
Installazione di Windows e Mac OSX:
Canopy e Anaconda hanno entrambi una versione recente di scikit-learn , oltre a un ampio set di librerie scientifiche Python per Windows, Mac OSX (anche per Linux).
Repository ufficiale del codice sorgente: https://github.com/scikit-learn/scikit-learn
2) Piattaforma Numenta per l'Intelligent Computing
La piattaforma Numenta per l'Intelligent Computing (NuPIC) è una piattaforma di machine intelligence che implementa gli algoritmi di apprendimento HTM. L'HTM è una teoria computazionale dettagliata della neocorteccia. Al centro dell'HTM ci sono algoritmi di apprendimento continuo basati sul tempo che memorizzano e richiamano modelli spaziali e temporali. NuPIC è adatto a una varietà di problemi, in particolare il rilevamento di anomalie e la previsione di sorgenti di dati in streaming.
I binari NuPIC sono disponibili per:
Linux x86 a 64 bit
OS X 10.9
OS X 10.10
Windows 64 bit
Le seguenti dipendenze sono necessarie per installare NuPIC su tutti i sistemi operativi.
- Python 2.7
- pip> = 8.1.2
- setuptools> = 25.2.0
- ruota> = 0.29.0
- numpy
- Compilatore C ++ 11 come gcc (4.8+) o clang
Requisiti aggiuntivi per OS X:
- Xcode strumenti da riga di comando
Esegui quanto segue per installare NuPIC:
pip install nupic
Repository ufficiale del codice sorgente: https://github.com/numenta/nupic
3) nilearn
Nilearn è un modulo Python per l'apprendimento statistico veloce e facile sui dati NeuroImaging. Sfrutta la toolbox Python per gli scikit-learn per le statistiche multivariate con applicazioni come la modellazione predittiva, la classificazione, la decodifica o l'analisi della connettività.
Le dipendenze richieste per utilizzare il software sono:
- Python> = 2.6,
- setuptools
- Numpy> = 1.6.1
- SciPy> = 0,9
- Scikit-learn> = 0,14,1
- Nibabel> = 1.1.0
Se si utilizzano funzionalità di stampa nilearn o si eseguono gli esempi, è richiesto matplotlib> = 1.1.1.
Se vuoi eseguire i test, hai bisogno di naso> = 1.2.1 e copertura> = 3.6.
Prima assicurati di aver installato tutte le dipendenze elencate sopra. Quindi puoi installare nilearn eseguendo il seguente comando in un prompt dei comandi:
pip install -U --user nilearn
Repository ufficiale del codice sorgente: https://github.com/nilearn/nilearn/
4) Utilizzo di Anaconda
Molte librerie scientifiche Python sono prontamente disponibili in Anaconda. Puoi ottenere i file di installazione da qui . Da una parte, usando Anaconda, non devi installare e configurare molti pacchetti, è concesso in licenza BSD e ha un processo di installazione banale, disponibile per Python 3 e Python 2, mentre, d'altra parte, ti offre meno flessibilità. Ad esempio, alcuni pacchetti python per deep learning all'avanguardia potrebbero utilizzare una versione diversa di numpy e quindi Anaconda. Tuttavia, questo svantaggio può essere risolto usando un'altra installazione python separatamente (in Linux e MAC come quella predefinita, ad esempio).
L'installazione di Anaconda richiede di selezionare la posizione di installazione e richiede anche l'opzione di aggiunta PATH. Se si aggiunge Anaconda al PATH, si prevede che il sistema operativo troverà Anaconda Python come predefinito. Pertanto, le modifiche e le installazioni future saranno disponibili solo per questa versione di Python.
Per chiarire, dopo l'installazione di Anaconda e aggiungilo a PATH, usando Ubuntu 14.04 tramite terminale se si digita
python
Voila, Anaconda Python è il tuo Python predefinito, puoi iniziare a divertirti usando molte librerie subito. Comunque, se vuoi usare il tuo vecchio Python
/usr/bin/python
In breve, Anaconda è uno dei modi più veloci per avviare l'apprendimento automatico e l'analisi dei dati con Python.
Installazione o installazione usando il linguaggio R
I pacchetti sono raccolte di funzioni R, dati e codice compilato in un formato ben definito. Repository pubblici (e privati) vengono utilizzati per ospitare raccolte di pacchetti R. La più grande collezione di pacchetti R è disponibile da CRAN. Alcuni dei pacchetti R machine learning più popolari sono i seguenti, tra gli altri:
1) rpart
Descrizione: partizionamento ricorsivo per alberi di classificazione, regressione e sopravvivenza. Un'implementazione della maggior parte delle funzionalità del libro del 1984 di Breiman, Friedman, Olshen e Stone.
Può essere installato da CRAN utilizzando il seguente codice:
install.packages("rpart")
Carica il pacchetto:
library(rpart)
Fonte ufficiale: https://cran.r-project.org/web/packages/rpart/index.html
2) e1071
Descrizione: funzioni per analisi di classi latenti, trasformazioni di Fourier a breve tempo, clustering fuzzy, macchine di supporto vettoriale, calcolo del percorso più breve, clustering insacchettato, classificatore di Bayes ingenuo ecc.
Installazione da CRAN:
install.packages("e1071")
Caricamento del pacchetto:
library(e1071)
Fonte ufficiale: https://cran.r-project.org/web/packages/e1071/index.html
3) randomForest
Descrizione: Classificazione e regressione basate su una foresta di alberi che utilizza input casuali.
Installazione da CRAN:
install.packages("randomForest")
Caricamento del pacchetto:
library(randomForest)
Fonte ufficiale: https://cran.r-project.org/web/packages/randomForest/index.html
4) segno di omissione
Descrizione: funzioni varie per l'addestramento e la tracciatura di modelli di classificazione e regressione.
Installazione da CRAN:
install.packages("caret")
Caricamento del pacchetto:
library(caret)
Fonte ufficiale: https://cran.r-project.org/web/packages/caret/index.html