Ecco FLAML: il machine learning automatico, facile ed economico

Ecco FLAML: il machine learning automatico, facile ed economico

2 Marzo 2022 ai 1
Ecco FLAML: il machine learning automatico, facile ed economico

Finché dobbiamo creare un modello di Machine Learning va tutto bene. Le prime difficoltà per un data engineer arrivano però quando si tratta di selezionare quale modello è in grado di trarre le migliori prestazioni e generalizzazioni dai nostri dati, con il machine learning automatico.

Gli algoritmi di Machine Learning sono moltissimi, dalla regressione alla classificazione, ma il problema è sempre andare ad analizzarli tutti in base al tipo di problema che stiamo cercando di risolvere. Ci vuole tempo.

Ecco perché in questo articolo vorrei parlare di FLAML, una libreria di Python che ci aiuta nel processo di selezione del miglior modello di Machine Learning in modo automatico ed efficiente (AutoML).

Che cos’è FLAML

FLAML è una libreria Python open source, che aiuta a trovare il miglior modello di Machine Learning in automatico. È veloce, leggera e senza un design complicato, e fa risparmiare davvero molto tempo.

Vedremo nel corso dell’articolo le sue funzionalità più interessanti, e come possono aiutarci nella vita di machine learning di ogni giorno.

Come funziona

Installazione delle librerie e importazione

FLAML si installa tramite pip. Il comando riportato di seguito installerà FLAML usando pip.

pip install flaml

Ora importiamo le librerie necessarie per creare un modello di Machine Learning e scaricare il dataset.

from flaml import AutoML

Classificazione col machine learning automatico

Risolviamo prima di tutto un problema di classificazione, usando i dati del noto dataset Iris, che puoi caricare dalla libreria Seaborn. Iniziamo con la creazione del modello.

#Caricare il Dataset
from sklearn.datasets import load_iris

Ora definiamo le impostazioni di AutoML, creando l’istanza di AutoML e poi definendo le impostazioni. Il time budget è espresso in secondi.

automl = AutoML()
automl_settings = {
   "time_budget": 10,  
   "metric": 'accuracy',
   "task": 'classification'
}

Successivamente, divideremo il carico dei dati e lo inseriremo nel modello. Infine, predirremo anche utilizzando il modello e troveremo il modello migliore.

X_train, y_train = load_iris(return_X_y=True)
# Addestrare con dati input
automl.fit(X_train=X_train, y_train=y_train, **automl_settings)
print(automl.predict_proba(X_train).shape)
# Esportare il modello migliore

print(automl.model)

Basta un clic, ed è fatta: ti verrà consigliato il modello per il tuo dataset, senza ulteriori indugi. In questo caso, il migliore è l’Extra Tree Estimator. Ora mandiamo in print i migliori iperparametri e la precisione del modello.

print('Best ML leaner:', automl.best_estimator)
print('Best hyperparmeter config:', automl.best_config)
print('Best accuracy on validation data: {0:.4g}'.format(1-automl.best_loss))
print('Training duration of best run: {0:.4g} s'.format(automl.best_config_train_time))

Regressione col machine learning automatico

A questo punto non ci resta che risolvere la questione della regressione. Usiamo i dati del Boston Dataset, che si trova nella libreria Seaborn. Seguiamo lo stesso percorso che abbiamo già visto per la regressione poco fa:

from sklearn.datasets import load_boston

automl = AutoML()

automl_settings = {
   "time_budget": 10,  # in seconds
   "metric": 'r2',
   "task": 'regression'
}
X_train, y_train = load_boston(return_X_y=True)
# Addestrare con dati input
automl.fit(X_train=X_train, y_train=y_train, **automl_settings)
# Predire
print(automl.predict(X_train).shape)
# Esportare il modello migliore
print(automl.model)

E procediamo così:

print('Best ML leaner:', automl.best_estimator)
print('Best hyperparmeter config:', automl.best_config)
print('Best accuracy on validation data: {0:.4g}'.format(1-automl.best_loss))
print('Training duration of best run: {0:.4g} s'.format(automl.best_config_train_time))

Ora il quadro è completo: vedi chiaramente come FLAML ti possa aiutare nella risoluzione di problemi ordinari come la classificazione e la regressione, e come riesca a risolvere tutto in modo automatico e, cosa molto importante, rapido.

Ora prova con i tuoi dataset e trova i tuoi modelli preferiti e iperparametri!

Se non sei soddisfatto prova a chiedere al nostro bot di intelligenza artificiale.

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *