H2O - AutoML
Per utilizzare AutoML, avvia un nuovo notebook Jupyter e segui i passaggi mostrati di seguito.
Importazione di AutoML
Per prima cosa importa il pacchetto H2O e AutoML nel progetto utilizzando le seguenti due istruzioni:
import h2o
from h2o.automl import H2OAutoML
Inizializza H2O
Inizializza h2o usando la seguente istruzione:
h2o.init()
Dovresti vedere le informazioni sul cluster sullo schermo come mostrato nello screenshot qui sotto -
Caricamento dati
Useremo lo stesso dataset iris.csv che hai usato in precedenza in questo tutorial. Carica i dati utilizzando la seguente istruzione:
data = h2o.import_file('iris.csv')
Preparazione del set di dati
Dobbiamo decidere le caratteristiche e le colonne di previsione. Usiamo le stesse funzionalità e la colonna di previsione del nostro caso precedente. Impostare le caratteristiche e la colonna di output utilizzando le seguenti due istruzioni:
features = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width']
output = 'class'
Dividi i dati in un rapporto 80:20 per addestramento e test -
train, test = data.split_frame(ratios=[0.8])
Applicazione di AutoML
Ora siamo pronti per applicare AutoML al nostro set di dati. AutoML verrà eseguito per un periodo di tempo fisso da noi impostato e ci fornirà il modello ottimizzato. Abbiamo impostato l'AutoML utilizzando la seguente dichiarazione:
aml = H2OAutoML(max_models = 30, max_runtime_secs=300, seed = 1)
Il primo parametro specifica il numero di modelli che vogliamo valutare e confrontare.
Il secondo parametro specifica il tempo per il quale viene eseguito l'algoritmo.
Ora chiamiamo il metodo train sull'oggetto AutoML come mostrato qui -
aml.train(x = features, y = output, training_frame = train)
Specifichiamo la x come matrice di caratteristiche che abbiamo creato in precedenza, la y come variabile di output per indicare il valore previsto e il dataframe come train set di dati.
Esegui il codice, dovrai aspettare 5 minuti (impostiamo max_runtime_secs a 300) fino a quando non ottieni il seguente output:
Stampa della classifica
Al termine dell'elaborazione AutoML, viene creata una classifica che classifica tutti i 30 algoritmi valutati. Per vedere i primi 10 record della classifica, utilizza il codice seguente:
lb = aml.leaderboard
lb.head()
Al momento dell'esecuzione, il codice precedente genererà il seguente output:
Chiaramente, l'algoritmo DeepLearning ha il punteggio massimo.
Previsione sui dati dei test
Ora che hai classificato i modelli, puoi vedere le prestazioni del modello più votato sui tuoi dati di test. A tale scopo, eseguire la seguente istruzione di codice:
preds = aml.predict(test)
L'elaborazione continua per un po 'e al termine verrà visualizzato il seguente output.
Risultato di stampa
Stampa il risultato previsto utilizzando la seguente dichiarazione:
print (preds)
Dopo l'esecuzione della dichiarazione di cui sopra, vedrai il seguente risultato:
Stampa della classifica per tutti
Se vuoi vedere i ranghi di tutti gli algoritmi testati, esegui la seguente dichiarazione di codice:
lb.head(rows = lb.nrows)
All'esecuzione dell'istruzione di cui sopra, verrà generato il seguente output (mostrato parzialmente):
Conclusione
H2O fornisce una piattaforma open source di facile utilizzo per applicare diversi algoritmi ML su un dato set di dati. Fornisce diversi algoritmi statistici e ML, incluso il deep learning. Durante il test, è possibile ottimizzare i parametri per questi algoritmi. Puoi farlo utilizzando la riga di comando o l'interfaccia basata sul web fornita chiamata Flow. H2O supporta anche AutoML che fornisce la classifica tra i diversi algoritmi in base alle loro prestazioni. H2O si comporta bene anche sui Big Data. Questo è sicuramente un vantaggio per Data Scientist applicare i diversi modelli di Machine Learning sul proprio set di dati e scegliere quello migliore per soddisfare le proprie esigenze.