Esplorazione di AutoML: i migliori strumenti disponibili [Quello che devi sapere]
Pubblicato: 2020-12-07Il ciclo di vita dell'apprendimento automatico è un insieme di processi che includono la raccolta dei dati, la pulizia dei dati, l'ingegneria delle funzionalità, la selezione delle funzionalità, la creazione di modelli, l'ottimizzazione degli iperparametri, la convalida e la distribuzione del modello.
Sebbene la raccolta dei dati possa assumere molte forme come sondaggi manuali, immissione di dati, rottamazione web o dati generati durante un esperimento, la pulizia dei dati è il momento in cui i dati vengono trasformati in un modulo standard che può essere utilizzato durante altre fasi del ciclo di vita .
La recente ondata di apprendimento automatico ha anche accolto con favore molte aziende che hanno adottato una soluzione basata sull'intelligenza artificiale per i loro prodotti tradizionali e, pertanto, è arrivato sul mercato un nuovo capitolo di AutoML. Può essere un ottimo strumento per configurare rapidamente soluzioni basate sull'intelligenza artificiale, ma ci sono ancora alcuni fattori preoccupanti che devono essere affrontati.
Sommario
Cos'è AutoML?
È quell'insieme di strumenti che automatizzano alcune parti dell'apprendimento automatico, che è esso stesso un processo automatizzato di generazione di previsioni e classificazioni che portano a risultati attuabili. Sebbene possa automatizzare solo la progettazione delle funzionalità, la creazione di modelli e talvolta le fasi di distribuzione, la maggior parte degli strumenti AutoML supporta più algoritmi di apprendimento automatico e quasi altrettante metriche di valutazione.
Quando questo tipo di strumento viene avviato, esegue lo stesso set di dati su tutti gli algoritmi, verifica varie metriche associate al problema e quindi presenta una pagella dettagliata. Esploriamo alcuni strumenti famosi disponibili sul mercato e ampiamente utilizzati.
H2O.ai
Una delle soluzioni leader in AutoML è H2O.ai, che offre soluzioni pronte per il settore ai problemi aziendali che non codificano nulla da zero. Ciò consente a chiunque di qualsiasi dominio di estrarre informazioni significative dai dati senza la necessità di avere esperienza nell'apprendimento automatico.

H2O è un open source che supporta tutti i modelli di machine learning e gli approcci statistici ampiamente utilizzati. È progettato per fornire soluzioni veloci in quanto i dati vengono distribuiti tra i cluster e quindi archiviati in un formato colonnare in memoria, consentendo operazioni di lettura parallela.
Le versioni più recenti di questo progetto hanno anche il supporto GPU, il che lo rende più veloce ed efficiente. Diamo un'occhiata a come questo può essere eseguito usando Python (esegui il codice in jupyter notebook per una migliore comprensione):
!pip install h2o # esegui questo se non lo hai installato
importare acqua
h2o.init()
da h2o.automl importa H2OAutoML
df = h2o.import_file() # Qui fornisci il percorso del file
y = 'etichetta_destinazione'
x = df.rimuovi(y)
X_train, X_test, X_validate = df.split_frame(ratios=[.7, .15])
model_obj = H2OAutoML(max_models = 10, seed = 10, verbosity=”info”, nfolds=0)
model_obj.train(x = x, y = y, training_frame = X_train, validation_frame=X_validate)
risultati = model_obj.leaderboard
Ciò memorizzerà i risultati di tutti gli algoritmi visualizzando le rispettive metriche a seconda del problema.
Leggi: Strumenti di apprendimento automatico
Picaret
Questa è una libreria abbastanza nuova lanciata quest'anno, che supporta un'ampia gamma di funzionalità di AutoML con poche righe di codice. Che si tratti di elaborare i valori mancanti, trasformare i dati categoriali in un formato feedable del modello, ottimizzare gli iperparametri o persino l'ingegneria delle funzionalità, PyCaret automatizza tutto questo dietro le quinte quando puoi concentrarti maggiormente sulle strategie di manipolazione dei dati.

È più un wrapper Python per tutti gli strumenti e le librerie di apprendimento automatico disponibili come NumPy, panda, sklearn, XGBoost, ecc. Capiamo come eseguire problemi di classificazione usando Pycaret:
!pip install pycaret # esegui questo se non lo hai installato
da pycaret.datasets importa get_data
da pycaret.classification import *
df = get_data('diabete')
setting = setup(diabete, target = 'Variabile di classe')
compare_models() # Questa funzione mostra semplicemente il confronto di tutti gli algoritmi!
modello_selezionato = create_modello() # passa il nome dell'algoritmo che vuoi creare
predict_model(selected_model)
modello_finale = modello_finale(modello_selezionato)
save_model(final_model, 'file_name')
caricato = modello_carico('nome_file')
Ecco fatto, hai appena creato una pipeline di trasformazione che ha eseguito l'ingegneria delle funzionalità, addestrato un modello e lo ha salvato!
Google DataPrep
Abbiamo esaminato due librerie che automatizzano la selezione delle funzionalità, la creazione di modelli e l'ottimizzazione per ottenere i migliori risultati, ma non abbiamo discusso di come automatizzare la pulizia dei dati. Questo processo può essere sicuramente automatizzato, ma richiede la verifica manuale se i dati corretti vengono passati o se i valori hanno un senso o meno.
Più dati sono un vantaggio per la costruzione del modello, ma dovrebbero essere dati di qualità per ottenere risultati di qualità. Google DataPrep è uno strumento di preparazione dei dati intelligente offerto come piattaforma come servizio che consente la pulizia visiva dei dati dei dati, il che significa che puoi modificare i dati senza codificare nemmeno una singola riga e selezionando solo le opzioni.

Offre una GUI interattiva, che semplifica la selezione delle opzioni per eseguire le funzioni che si desidera applicare. La parte migliore di questo strumento è che visualizzerà tutte le modifiche apportate al set di dati in un pannello laterale nell'ordine in cui sono state eseguite e qualsiasi passaggio può essere modificato. Aiuta a tenere traccia dei cambiamenti. Ti verranno richiesti suggerimenti da fare, che sono per lo più corretti.
Il file risultante può essere esportato nell'archiviazione locale o poiché questo servizio è fornito in Google Cloud Platform, puoi trasferire questo file direttamente in qualsiasi bucket di archiviazione di Google o tabelle BigQuery dove puoi eseguire attività di machine learning direttamente nell'editor di query. La principale battuta d'arresto può essere rappresentata dai costi ricorrenti, non si tratta di un progetto open source ma piuttosto di una soluzione industriale a tutti gli effetti.
Questo può sostituire i data scientist?
Assolutamente no! L'AutoML è eccezionale e può aiutare il Data Scientist ad accelerare un particolare ciclo di vita, ma è sempre necessaria la consulenza di un esperto. Ad esempio, ci vorrà molto tempo per ottenere il modello giusto per una particolare dichiarazione di problema da un AutoML che esegue tutti gli algoritmi che da un esperto che lo eseguirà su algoritmi specifici che meglio si adattano al problema.
I data scientist dovranno convalidare i risultati di questi tipi di automazione e quindi fornire una soluzione fattibile alle aziende. Gli esperti di dominio troveranno questa automazione molto utile in quanto potrebbero non avere molta esperienza nel derivare approfondimenti dai dati, ma questi strumenti li guideranno nel migliore dei modi.
Se vuoi padroneggiare l'apprendimento automatico e imparare come addestrare un agente a giocare a tic tac toe, ad addestrare un chatbot, ecc. dai un'occhiata al corso di diploma PG di apprendimento automatico e intelligenza artificiale di upGrad.
