Confronta i modelli ML con poche righe di codice

Utilizzando la libreria Lazy Predict possiamo confrontare facilmente gli algoritmi di classificazione e regressione con le migliori prestazioni. Questa libreria è stata creata da "Shankar Rao Pandala" ed ecco il link alla documentazione.

Useremo il set di dati sul cancro al seno per confrontare gli algoritmi di classificazione e il set di dati sull'alloggiamento di Boston per confrontare gli algoritmi di regressione con poche righe di codice per ogni attività che utilizza questa libreria.

Attività di classificazione:

Installazione della libreria:

! pip installa lazypredict

Usa il comando precedente per installare la libreria lazypredict

Importazione delle librerie necessarie e dei dati sul cancro al seno:

# Importa librerie
importa lazypredict
da lazypredict. Importazione supervisionato LazyClassifier
da sklearn.datasets importa load_breast_cancer
da sklearn.model_selection import train_test_split

# Carica dataset
data = load_breast_cancer ()
X = data.data
y = data.target

Ora suddivideremo i dati in un rapporto 80/20:

#
Divisione dei dati X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = .2, random_state = 100)

Assegnazione di lazyclassifier:

# Definisce e
compila lazyclassifier clf = LazyClassifier (verbose = 0, ignore_warnings = True, custom_metric = None)
models_train, predictions_train = clf.fit (X_train, X_train, y_train, y_train)
models_test, predictions_test = clf.fit, X_test (X_test y_train, y_test)

Addestrare le prestazioni dei dati:

# Stampa le prestazioni del modello sul set di addestramento
models_train

Vari modelli di prestazioni sui dati di allenamento

Test delle prestazioni dei dati:

# Stampa le prestazioni del modello sul set di dati di test
models_test

Vari modelli di prestazioni sui dati di test

Dalle immagini sopra possiamo capire come vengono costruiti i vari algoritmi di classificazione (circa 28 modelli) e possiamo confrontare le loro accuratezze, i punteggi ROC AUC e F1 insieme al tempo impiegato per costruire.

Creiamo un grafico a barre per confrontare questi modelli utilizzando le librerie seaborn e matplot.

importa matplotlib.pyplot come plt
importa seaborn come sns

plt.figure (figsize = (5, 10))
sns.set_theme (style = "whitegrid")
ax = sns.barplot (y = models_train.index, x = "Accuracy", data = models_train)

Confronto delle prestazioni di diversi modelli

Dal barplot sopra possiamo decidere quale algoritmo si adatta meglio alla nostra dichiarazione del problema e modificarlo ulteriormente per ottenere prestazioni migliori.

Attività di regressione:

# Caricamento del set di dati sull'alloggiamento di Boston
boston = datasets.load_boston ()
X, y = shuffle (boston.data, boston.target, random_state = 42)

Ora suddivideremo i dati in un rapporto 80/20:

# Data split
X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = .2, random_state = 42)

Assegnazione di lazyregressor:

# Definisce e compila il lazyclassifier
reg = LazyRegressor (verbose = 0, ignore_warnings = False, custom_metric = None)
models_train, predictions_train = reg.fit (X_train, X_train, y_train, y_train)
models_test, predictions_test = reg.fit, X_test y_train, y_test)

Addestrare le prestazioni dei dati:

# Stampa le prestazioni del modello sul set di dati di addestramento
models_train

Vari modelli di prestazioni sui dati di allenamento

Test delle prestazioni dei dati:

# Stampa le prestazioni del modello sul set di dati di test
models_test

Vari modelli di prestazioni sui dati di test

Dalle immagini sopra possiamo capire come vengono costruiti i vari algoritmi di regressione (circa 36 modelli) e possiamo confrontare i loro valori R-quadrato, RMSE e il tempo impiegato per costruire.

Creiamo un grafico a barre per confrontare questi modelli utilizzando le librerie seaborn e matplot.

importa matplotlib.pyplot come plt
importa seaborn come sns

models_train ["R-Squared"] = [0 if i <0 else i for i in models_train.iloc [:, 0]]

plt.figure (figsize = (5, 10))
sns.set_theme (style = "whitegrid")
ax = sns.barplot (y = models_train.index, x = "R-Squared", data = models_train)
ax.set ( xlim = (0, 1))

Confronto delle prestazioni di diversi modelli in base alla metrica R quadrato

Questo è un modo semplice per creare diversi modelli di machine learning utilizzando solo poche righe di codice. Se proviamo a costruire manualmente questi modelli ML individualmente, ci vorrebbe molto tempo per importare le rispettive librerie, costruirle individualmente e aggregare i loro risultati di previsione. Dal barplot di cui sopra possiamo trarre una conclusione su quale algoritmo sta funzionando bene e decidere di modificarlo ulteriormente per prestazioni migliori.

Nota :

La libreria LazyPredict ci consente di costruire i modelli con i loro parametri predefiniti. Non possiamo ottimizzare i parametri ma costruirà questi modelli con i loro parametri predefiniti, il che è ancora buono poiché siamo stati in grado di costruirli rapidamente e una volta identificato quale modello è il migliore, possiamo concentrare i nostri sforzi sull'ottimizzazione degli iperparametri per quel ML algoritmo.

Allora, cosa ne pensate? Mi interesserà conoscere i tuoi pensieri al riguardo. Spero di averti dato una breve idea su come creare rapidamente modelli ML utilizzando solo poche righe di codice. Dagli un 💚, se ti piace questo post per una motivazione extra. Sono sempre aperto ai tuoi suggerimenti e domande.

Suggested posts

Implementazione della memoria associativa

Implementazione della memoria associativa

Scritto da Shashata Sawmya e Harveer Singh Con l'avvento delle grandi reti neurali e i sempre crescenti progressi tecnologici che spingono i metodi attuali al loro limite assoluto, l'attenzione si è concentrata sulla creazione di uno strumento universale che mira a fare tutto. Tuttavia, la maggior parte delle attività non richiederebbe le reti profonde incredibilmente intense, ma comunque qualcosa di più versatile dei modelli matematici di base.

Come eseguire i plug-in ChatGPT gratuitamente utilizzando Langchain

Come eseguire i plug-in ChatGPT gratuitamente utilizzando Langchain

Devi aver sentito parlare di tutti i nuovi potenti plug-in ChatGPT come Browser, Code Interpreter ecc. Ma c'è un problema, l'accesso ai plug-in è limitato a una lista di attesa e quindi molti non hanno accesso ad essa.

Related posts

L'apprendimento alla settimana lavorativa conta più di quanto pensi

L'apprendimento alla settimana lavorativa conta più di quanto pensi

Spesso ci troviamo a lottare per implementare ciò che sappiamo essere buono per noi. Dal dire a un altro significativo che li amiamo al ricordare di parlare come un pirata, ci saranno sempre quelli che affermeranno che un giorno, una settimana o un mese di eventi non è necessario perché stanno già facendo quelle cose.

Journal Ouvert

Journal Ouvert

Diario aperto: una foto al giorno. Sono sempre stato affascinato dalle storie.

Creazione di un ambiente di lavoro sicuro

Creazione di un ambiente di lavoro sicuro

“Mi proteggerà quando sarò in pericolo. mi nasconderà nella sua tenda.

VITA SENZA LIMITI

Quando cresci tendi a sentirti dire che il mondo è così com'è e che la tua vita è vivere la tua vita dentro il mondo, senza mai rischiare la vita, basta seguire un percorso prestabilito e morire alla fine, e cercare di non farlo sfondare troppo i muri. Ma questa è una vita molto limitata.