Vijesti o Tehnologiji, Recenzije i Savjeti!

Generiranje prikladnih ML modela pomoću LazyPredict Python alata

Napomena: Sljedeći članak će vam pomoći: Generiranje prikladnih ML modela pomoću LazyPredict Python alata

Dok gradimo modele strojnog učenja, nismo sigurni koji bi algoritam trebao dobro funkcionirati s danim skupom podataka, stoga na kraju isprobavamo mnoge modele i ponavljamo sve dok ne dobijemo odgovarajuću točnost. Jeste li ikada razmišljali o tome da dobijete sve osnovne algoritme odjednom za predviđanje izvedbe modela?

LazyPredict je modul od pomoći u tu svrhu. LazyPredict će generirati performanse svih osnovnih algoritama strojnog učenja na vašem modelu. Uz ocjenu točnosti, LazyPredict pruža određene metrike procjene i vrijeme potrebno za svaki model.

Lazypredict je python paket otvorenog koda koji je stvorio Shankar Rao Pandala. Razvoj i doprinos tome još uvijek traje.

Svojstva LazyPredicta:

    Od sada se temelji samo na algoritmima nadziranog učenja (Regresija i klasifikacija) Kompatibilan s python verzijom 3.6 i iznad. Može se pokrenuti na sučelju naredbenog retka (CLI). Brz u predviđanju jer su sve osnovne izvedbe modela za skup podataka dane odjednom. Ima ugrađeni cjevovod za skaliranje i transformaciju podataka i rukovanje nedostajućim vrijednostima i promjenu kategoričkih podataka u numeričke. Pruža metriku procjene za pojedinačne modele. Prikazuje vrijeme potrebno za izradu svakog modela.

U ovom ću članku raspravljati o tome kako implementirati LazyPredict za modele regresije i klasifikacije sa samo nekoliko redaka koda.

Instaliranje LazyPredicta:

Ovo je vrlo jednostavno pomoću naredbe pip:

pip instaliraj lazypredict

LazyPredict za regresiju

Koristit ću Mercedesov skup podataka iz Kagglea koji je regresijski problem za predviđanje vremena koje će automobilu trebati potrošiti na testiranje svake značajke.

Veza za skup podataka: https://www.kaggle.com/c/mercedes-benz-greener-manufacturing/overview

Skup podataka predstavlja prilagođene značajke automobila (X0 do X385) povezane s jedinstvenim ID-om i ciljnom varijablom y je vrijeme (u sekundama) koje je automobilu trebalo da prođe testiranje za svaku varijablu.

Uvozimo nadzirani model LazyPredict u kojem je prisutna klasa LazyRegressor.

import pandas kao pd import lazypredict from sklearn.model_selection import train_test_split from lazypredict.Supervised import LazyRegressor df = pd.read_csv(‘/content/drive/My Drive/datasets/mercedes.csv’) df.head()

X = df.drop([‘y’]os=1) Y = df[‘y’]
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size = 0.2slučajno_stanje = 0) reg = LazyRegression(verbose=0,ignore_warnings=True, custom_metric=Ništa, predictions=True) modeli,pred = reg.fit(X_train, X_test, y_train, y_test)

Skup podataka je podijeljen na ovisne i nezavisne varijable pri čemu su nezavisne varijable pohranjene u X, a zavisne varijable u Y. Zatim se obučava 80% podataka i testira 20%.

varijabla modela sadrži sve modele s dvije metričke vrijednosti, a pred sadrži predviđanja.

Parametri korišteni u LazyRegressor():

    verbose – prema zadanim postavkama 0ignore_warning – prema zadanim postavkama postavljeno na True, kako bi se izbjegle poruke upozorenja za bilo kakvu vrstu odstupanja u generiranju modelscustom_metric – prema zadanim postavkama Ništa, može se postaviti na prilagođene metrike ako je definiranopredictions – prema zadanim postavkama False, ako je postavljeno na True vraća se predviđanja temeljena na svakom modelu.random_state prema zadanim je postavkama postavljen na 42.

Note da su svi ovi parametri opcijski, ako nisu definirani, poprimit će zadane vrijednosti.

izlaz modela:

Generiranje prikladnih ML modela pomoću LazyPredict Python alata 1

Ukupno 39 modela.

Za regresijske modele u LazyPredictu dostupne su dvije metrike procjene RMSE (srednja kvadratna pogreška) i R2 kvadratna pogreška u rasponu od najboljeg do najgoreg. Vrijeme potrebno za izradu svakog modela navedeno je u sekundama. Predviđanja za regresiju vraćena u okviru podataka.

izlaz predviđanja:

Generiranje prikladnih ML modela pomoću LazyPredict Python alata 2

Lazypredict za klasifikaciju

Za ovu demonstraciju uzeo sam skup podataka o prepoznavanju vina iz scikit-learn, što je višeklasna klasifikacija (klasa 0klasa 1klasa 2) koji sadrži 13 značajki – alkohol, jabučna kiselina, pepeo, alkalnost pepela, magnezij, ukupni fenoli, flavonoidi, neflavanoidni fenoli, proantocijanini, intenzitet boje, nijansa, OD280/OD315 razrijeđenih vina, prolin. Sve ove značajke su numeričke.

0 1 2 3 4 5 6 7 8 9 10 11 12 13
0 1 14.23 1.71 2.43 15.6 127 2.80 3.06 0.28 2.29 5.64 1.04 3.92
1 1 13.20 1.78 2.14 11.2 100 2.65 2.76 0.26 1.28 4.38 1.05 3.40

Prvi 2 redovi skupa podataka

from sklearn.datasets import load_wine from lazypredict.Supervised import LazyClassifier data = load_wine() X = data.data y = data.target X_train, X_test, y_train, y_test = train_test_split(X, y,test_size=.2,slučajno_stanje =0) klasifikator = LazyClassifier(verbose=0,ignore_warnings=True, custom_metric=Ništa, predictions=True) modeli,predictions = classifier.fit(X_train, X_test, y_train, y_test)

Skup podataka se učitava i zatim razdvaja u dvije varijable. Sve značajke pohranjene su u varijabli X, a ciljna vrijednost u varijabli y. Zatim obuka 80% podataka i testiranje 20%.

Parametri klasifikatora su isti kao i regresor. Na kraju, modeli su opremljeni.

izlaz modela:

Generiranje prikladnih ML modela pomoću LazyPredict Python alata 3

Ukupno 30 modela

Za klasifikaciju moramo uvesti modul LazyClassifier iz lazypredict.Supervised. Dostupne metrike procjene su – rezultat točnosti, uravnotežena točnost, rezultat f1 i ROC AUC.

Predviđanja za svaki model:

Generiranje prikladnih ML modela pomoću LazyPredict Python alata 4

Zaključak

LazyPredict bi bio vrlo zgodan za odabir točnijeg modela za skup podataka koji se koristi iz niza različitih modela zajedno s metrikom procjene unutar nekoliko sekundi. Nakon toga se najbolji model može testirati u odnosu na hiperparametre. Jednostavan za implementaciju i korištenje jer obavlja sve predobrade.

Potpuni kod gore navedene implementacije dostupan je na AIM-ovom GitHub repozitoriju. Posjetite ovu vezu kako biste pronašli bilježnicu ovog koda.