Regresia logistică pentru învățarea automată: un ghid complet
Publicat: 2021-10-04Modelele de învățare automată necesită algoritmi pentru a funcționa. În funcție de setul de condiții, un anumit model ML poate funcționa cel mai bine folosind unul sau altul. Drept urmare, inginerii și entuziaștii de învățare automată ar trebui să fie conștienți de diferitele tipuri de algoritmi care pot fi utilizați în diferite contexte – pentru a ști pe care să îl folosească atunci când va veni momentul. Nu există niciodată o soluție unică pentru toate în Machine Learning, iar ajustarea cu diferiți algoritmi poate oferi rezultatele dorite.
De exemplu, trebuie să știți deja despre regresia liniară. Cu toate acestea, acest algoritm pur și simplu nu poate fi aplicat variabilelor dependente categoric. Aici este utilă regresia logistică.
În învățarea automată, regresia logistică este o metodă de învățare supravegheată utilizată pentru a prezice probabilitatea unei variabile dependente sau țintă. Folosind regresia logistică, puteți prezice și stabili relații între variabile dependente și una sau mai multe variabile independente.
Ecuațiile și modelele de regresie logistică sunt utilizate în general pentru analize predictive pentru clasificarea binară. De asemenea, le puteți folosi pentru clasificarea multiclasă.
Iată cum arată ecuația de regresie logistică pentru Machine Learning:
logit(p) = ln(p/(1-p)) = h0+h1X1+h2X2+h3X3….+hkXk
Unde;
p= probabilitatea de apariție a caracteristicii
x1,x2,..xk = set de caracteristici de intrare
h1,h2,….hk = valori parametrice care trebuie estimate în ecuația de regresie logistică.
Cuprins
Tipuri de modele de regresie logistică în învățarea automată
Pe baza modului în care este utilizată regresia logistică, tipul de modele de regresie logistică poate fi clasificat după cum urmează:
1. Modelul de regresie logistică binară
Acesta este unul dintre cele mai utilizate modele de regresie pentru regresia logistică. Ajută la clasificarea datelor în două clase și la prezicerea valorii unei noi intrări ca aparținând oricăreia dintre cele două clase. De exemplu, tumora unui pacient poate fi fie benignă, fie malignă, dar niciodată ambele.
2. Modelul de regresie logistică multinomială
Acest model ajută la clasificarea variabilelor țintă în mai mult de două clase – indiferent de orice semnificație cantitativă. Un exemplu în acest sens ar putea fi prezicerea tipului de alimente pe care un individ îl poate comanda pe baza preferințelor sale de dietă și a experiențelor anterioare.
Alăturați-vă Cursului de învățare automată online de la cele mai bune universități din lume – Master, Programe Executive Postuniversitare și Program de Certificat Avansat în ML și AI pentru a vă accelera cariera.
3. Modelul de regresie logistică ordinală
Acest model este utilizat pentru clasificarea variabilei țintă. De exemplu, performanța unui student la un examen poate fi clasificată ca slabă, bună și excelentă într-o ordine ierarhică. În acest fel, datele sunt clasificate în trei categorii distincte, fiecare clasă având un anumit nivel de importanță.
Ecuația de regresie logistică poate fi utilizată în mai multe cazuri, cum ar fi detectarea spam-ului, clasificarea tumorilor, clasificarea sexului și multe altele. Să ne uităm la două dintre cele mai comune exemple de cazuri de utilizare ale ecuației de regresie logistică în Machine Learning pentru a vă ajuta să înțelegeți mai bine.
Exemple de cazuri de utilizare a ecuației de regresie logistică
Exemplul 1: Identificarea e-mailurilor spam
Luați în considerare clasa 1 dacă e-mailul este spam și 0 dacă e-mailul nu este. Pentru a detecta acest lucru, mai multe atribute sunt analizate din corpul e-mailului. Acestea includ:
- Expeditorul
- Greșeli de ortografie
- Cuvinte cheie din e-mail precum „detalii bancare”, „noroc”, „câștigător”, „felicitari”.
- Detalii de contact sau URL în e-mail
Aceste date extrase pot fi apoi introduse în ecuația de regresie logistică pentru Machine Learning, care va analiza toate intrările și va oferi un scor între 0 și 1. Dacă scorul este mai mare de 0, dar mai mic de 0,5, e-mailul va fi clasificat ca spam și dacă scorul este între 0,5 și 1, e-mailul este marcat ca non-spam.
Exemplul 2: Identificarea fraudei cu cardul de credit
Folosind ecuațiile de regresie logistică sau modelele de învățare automată bazate pe regresia logistică, băncile pot identifica rapid tranzacțiile frauduloase cu cardul de credit. Pentru aceasta, detalii precum PoS, numărul cardului, valoarea tranzacției, datele tranzacției și like-urile sunt introduse în modelul de regresie logistică, care decide dacă o anumită tranzacție este autentică (0) sau frauduloasă (1). De exemplu, dacă valoarea de cumpărare este prea mare și se abate de la valorile tipice, modelul de regresie atribuie o valoare (între 0,5 și 1) care clasifică tranzacția drept fraudă.
Funcționarea regresiei logistice în Machine Learning
Regresia logistică funcționează prin utilizarea funcției Sigmoid pentru a mapa predicțiile la probabilitățile de ieșire. Această funcție este o curbă în formă de S care trasează valorile prezise între 0 și 1. Valorile sunt apoi trasate spre marginile din partea de sus și de jos a axei Y, folosind 0 și 1 ca etichete. Apoi, în funcție de aceste valori, variabilele independente pot fi clasificate.
Iată cum arată funcția Sigmoid:
Funcția sigmoidă se bazează pe următoarea ecuație:
y=1/(1+e^x)
Unde e^x= constanta exponențială cu o valoare de 2,718.
Ecuația funcției Sigmoid de mai sus furnizează valoarea prezisă (y) ca zero dacă x este considerat negativ. Dacă x este un număr pozitiv mare, valoarea prezisă este aproape de unu.
Construirea unui model de regresie logistică în Python
Să parcurgem procesul de construire a unui model de regresie logistică în Python. Pentru aceasta, să folosim setul de date de rețea socială pentru a efectua analiza de regresie și să încercăm să anticipăm dacă o persoană va cumpăra sau nu o anumită mașină. Iată cum arată pașii.
Pasul 1: Importarea bibliotecilor și a setului de date
Începe prin a importa bibliotecile necesare pentru a construi modelul. Acestea includ Pandas, Numpy și Matplotlib. De asemenea, trebuie să importam setul de date cu care vom lucra. Iată cum arată codul:
import numpy ca np
import matplotlib.pyplot ca pct
importa panda ca pd
set de date = pd.read_csv('Social_Network.csv')
Pasul 2: Împărțirea în variabile dependente și independente
Acum este timpul să împărțim datele furnizate în variabile dependente și independente. Pentru acest exemplu, vom considera valoarea de cumpărare ca variabilă dependentă în timpul salariului estimat și vârsta persoanelor ca variabile independente.
x = set de date.iloc[:, [2,3]].valori
y = set de date.iloc[:, 4].valori
Pasul 3: Împărțirea setului de date într-un set de antrenament și un set de testare
Este esențial să împărțiți setul de date în seturi de antrenament și de testare specifice. Setul de antrenament va antrena ecuația de regresie logistică, în timp ce datele de testare vor fi folosite pentru a valida antrenamentul modelului și a-l testa. Sklearn este folosit pentru a împărți setul de date dat în două seturi. Folosim funcția train_split_function specificând cantitatea de date pe care dorim să o rezervăm pentru antrenament și testare.
din sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0,33, random_state = 0)
După cum puteți vedea, am definit dimensiunea testului ca 33% din setul de date complet. Deci, restul de 66% vor fi folosite ca date de antrenament.
Pasul 4: Scalare
Pentru a îmbunătăți acuratețea modelului dvs. de regresie logistică, va trebui să redimensionați datele și să aduceți valori care ar putea fi foarte diferite în natură.
din sklearn.preprocessing import StandardScaler
sc_X = StandardScaler()
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.transform(X_test)
Pasul 5: Construirea modelului de regresie logistică
Odată terminat, trebuie să construiți modelul de regresie logistică și să îl încadrați în setul de antrenament. Începeți prin a importa algoritmul de regresie logistică din Sklearn.
din sklearn.linear_model import LogisticRegression
Apoi, creați un clasificator de instanță pentru a se potrivi cu datele de antrenament.
clasificator = LogisticRegression(random_state=0)
classifier.fit(x_train, y_train)
Apoi, creați predicții pe setul de date de testare.
y_pred = clasificator.predict(x_test)
În cele din urmă, verificați performanța modelului dvs. de regresie logistică folosind matricea de confuzie.
din sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_test, y_pred)
acc = scorul_preciziei(y_test, y_pred)
print(acc)
imprimare (cm)
Acum, puteți utiliza Matplotlib pentru a vizualiza întregul set de date, inclusiv seturile de antrenament și de testare!
În concluzie
Regresia logistică este unul dintre instrumentele care ajută la dezvoltarea modelelor și algoritmilor de învățare automată. De asemenea, există și mai mulți alți algoritmi care sunt utilizați în funcție de cazul de utilizare. Cu toate acestea, pentru a ști ce algoritm să folosești, ar trebui să fii conștient de toate opțiunile posibile. Abia atunci vei fi în măsură să selectezi algoritmul cel mai potrivit pentru setul tău de date.
Consultați Programul nostru Executive PG în învățarea automată, conceput într-un mod care vă duce de la zero și vă ajută să vă dezvoltați abilitățile până la vârf - astfel încât să fiți în măsură să rezolvați orice problemă de învățare automată din lumea reală. Consultați diferitele cursuri și înscrieți-vă la cel care vi se pare potrivit. Alăturați-vă upGrad și experimentați un mediu de învățare holistic și sprijin pentru plasare!
Regresia logistică este în general de trei tipuri: Regresia logistică este una dintre metodele de învățare supravegheată utilizate pentru a găsi și a construi cea mai bună relație între variabilele dependente și independente pentru a face previziuni viitoare adecvate. Regresia logistică pentru învățarea automată folosește funcția Sigmoid pentru a găsi cea mai bună curbă de potrivire.Câte tipuri de regresie logistică pentru învățarea automată sunt posibile?
1. Binar
2. Multinom
3. Ordinal. Pentru ce este folosită regresia logistică în Machine Learning?
Care este funcția pe care o folosește regresia logistică pentru învățarea automată?