Știința datelor

Regresie logistică în Python

Regresie logistică în Python
Regresia logistică este un algoritm de clasificare a învățării automate. Regresia logistică este, de asemenea, similară cu regresia liniară. Dar diferența principală între regresia logistică și regresia liniară este că valorile de ieșire ale regresiei logistice sunt întotdeauna binare (0, 1) și nu numerice. Regresia logistică creează practic o relație între variabile independente (una sau mai multe) și variabile dependente. Variabila dependentă este o variabilă binară care are în principal două cazuri:

Importanța cheie a regresiei logistice:

  1. Variabilele independente nu trebuie să fie multicoliniaritate; dacă există o relație, atunci ar trebui să fie foarte puțin.
  2. Setul de date pentru regresia logistică ar trebui să fie suficient de mare pentru a obține rezultate mai bune.
  3. Numai acele atribute ar trebui să fie acolo în setul de date, care are o anumită semnificație.
  4. Variabilele independente trebuie să fie în conformitate cu cotă jurnal.

Pentru a construi modelul regresie logistică, noi folosim scikit-learn bibliotecă. Procesul de regresie logistică în python este dat mai jos:

  1. Importați toate pachetele necesare pentru regresia logistică și alte biblioteci.
  2. Încărcați setul de date.
  3. Înțelegeți variabilele setului de date independente și variabilele dependente.
  4. Împărțiți setul de date în date de antrenament și de testare.
  5. Inițializați modelul de regresie logistică.
  6. Potriviți modelul cu setul de date de antrenament.
  7. Preziceți modelul folosind datele de testare și calculați acuratețea modelului.

Problemă: Primii pași sunt colectarea setului de date pe care dorim să aplicăm Regresie logistică. Setul de date pe care îl vom folosi aici este pentru setul de date de admitere MS. Acest set de date are patru variabile și dintre care trei sunt variabile independente (GRE, GPA, work_experience), iar una este o variabilă dependentă (admisă). Acest set de date va spune dacă candidatul va primi sau nu admiterea la o universitate de prestigiu pe baza GPA, GRE sau a experienței sale de lucru.

Pasul 1: Importăm toate bibliotecile necesare pentru programul python.

Pasul 2: Acum, încărcăm setul de date de admitere ms folosind funcția read_csv pandas.

Pasul 3: Setul de date arată ca mai jos:

Pasul 4: Verificăm toate coloanele disponibile în setul de date și apoi setăm toate variabilele independente la variabila X și variabilele dependente la y, așa cum se arată în captura de ecran de mai jos.

Pasul 5: După setarea variabilelor independente la X și a variabilei dependente la y, acum imprimăm aici pentru a verifica încrucișat X și y folosind funcția cap pandas.

Pasul 6: Acum, vom împărți întregul set de date în antrenament și test. Pentru aceasta, folosim metoda train_test_split de sklearn. Am dat 25% din ansamblul setului de date pentru test și restul de 75% din setul de date pentru instruire.

Pasul 7: Acum, vom împărți întregul set de date în antrenament și test. Pentru aceasta, folosim metoda train_test_split de sklearn. Am dat 25% din ansamblul setului de date pentru test și restul de 75% din setul de date pentru instruire.

Apoi creăm modelul de regresie logistică și potrivim datele de instruire.

Pasul 8: Acum, modelul nostru este gata pentru predicție, așa că acum trecem datele testului (X_test) modelului și am obținut rezultatele. Rezultatele arată (y_predictions) că valorile 1 (admise) și 0 (neadmise).

Pasul 9: Acum, imprimăm raportul de clasificare și matricea de confuzie.

Raportul de clasificare arată că modelul poate prezice rezultatele cu o precizie de 69%.
Matricea de confuzie arată detaliile totale ale datelor X_test ca:
TP = Adevărate pozitive = 8
TN = Adevărate negative = 61
FP = Pozitive false = 4
FN = negative negative = 27

Deci, precizia totală în conformitate cu confusion_matrix este:

Precizie = (TP + TN) / Total = (8 + 61) / 100 = 0.69

Pasul 10: Acum, vom verifica rezultatul prin imprimare. Deci, tipărim doar primele 5 elemente ale testului X_ și testul y_test (valoarea reală reală) folosind funcția cap pandas. Apoi, imprimăm și primele 5 rezultate ale predicțiilor, așa cum se arată mai jos:

Combinăm toate cele trei rezultate într-o foaie pentru a înțelege predicțiile așa cum se arată mai jos. Putem vedea că, cu excepția datelor 341 X_test, care erau adevărate (1), predicția este falsă (0) altceva. Deci, predicțiile modelului nostru funcționează cu 69%, așa cum am arătat deja mai sus.

Pasul 11: Deci, înțelegem cum se fac predicțiile modelului pe setul de date nevăzut, cum ar fi X_test. Deci, am creat doar un set de date nou aleatoriu folosind un cadru de date pandas, l-am transmis modelului instruit și am obținut rezultatul prezentat mai jos.

Codul complet în python dat mai jos:

Codul pentru acest blog, împreună cu setul de date, este disponibil la următorul link
https: // github.com / shekharpandey89 / logistic-regression

Cele mai bune jocuri de linie de comandă pentru Linux
Linia de comandă nu este doar cel mai mare aliat al tău când folosești Linux - poate fi și sursa de divertisment, deoarece poți să o folosești pentru ...
Best Gamepad Mapping Apps for Linux
If you like to play games on Linux with a gamepad instead of a typical keyboard and mouse input system, there are some useful apps for you. Many PC ga...
Instrumente utile pentru jucătorii Linux
Dacă vă place să jucați jocuri pe Linux, este posibil să fi folosit aplicații și utilitare precum Wine, Lutris și OBS Studio pentru a îmbunătăți exper...