Logistisk regresjon i Python

Logistisk regresjon i Python
Logistisk regresjon er en klassifiseringsalgoritme. Logistisk regresjon ligner også på lineær regresjon. Men hovedforskjellen mellom logistisk regresjon og lineær regresjon er at de logistiske regresjonsutgangsverdiene alltid er binære (0, 1) og ikke numerisk. Den logistiske regresjonen skaper i utgangspunktet en sammenheng mellom uavhengige variabler (en eller flere enn en) og avhengige variabler. Den avhengige variabelen er en binær variabel som stort sett har to tilfeller:
  • 1 for sann eller
  • 0 for falsk

Den viktigste viktigheten av logistisk regresjon:

  1. De uavhengige variablene må ikke være multikollinearitet; Hvis det er noe forhold, bør det være veldig lite.
  2. Datasettet for den logistiske regresjonen skal være stor nok til å få bedre resultater.
  3. Bare disse attributtene skal være der i datasettet, som har en viss betydning.
  4. De uavhengige variablene må være i henhold til Logg odds.

Å bygge modellen til Logistisk regresjon, Vi bruker Scikit-Learn bibliotek. Prosessen med den logistiske regresjonen i Python er gitt nedenfor:

  1. Importer alle nødvendige pakker for den logistiske regresjonen og andre biblioteker.
  2. Last opp datasettet.
  3. Forstå de uavhengige datasettvariablene og avhengige variabler.
  4. Del datasettet i trenings- og testdata.
  5. Initialiser den logistiske regresjonsmodellen.
  6. Monter modellen med treningsdatasettet.
  7. Forutsi modellen ved hjelp av testdataene og beregne nøyaktigheten til modellen.

Problem: De første trinnene er å samle inn datasettet vi ønsker å bruke Logistisk regresjon. Datasettet som vi skal bruke her er for MS opptaksdatasett. Dette datasettet har fire variabler og hvorav tre er uavhengige variabler (GRE, GPA, Work_Experience), og en er en avhengig variabel (innrømmet). Dette datasettet vil fortelle om kandidaten vil få opptak eller ikke til et prestisjetunge universitet basert på deres GPA, GRE eller Work_Experience.

Trinn 1: Vi importerer alle nødvendige biblioteker som vi krevde for Python -programmet.

Steg 2: Nå laster vi opp MS -opptaksdatasettet ved å bruke read_csv pandas -funksjonen.

Trinn 3: Datasettet ser ut som nedenfor:

Trinn 4: Vi sjekker alle kolonnene som er tilgjengelige i datasettet og setter deretter alle uavhengige variabler til variabel x og avhengige variabler til y, som vist på skjermbildet nedenfor.

Trinn 5: Etter å ha satt de uavhengige variablene til X og den avhengige variabelen til Y, skriver vi nå ut her for å krysse av X og Y ved hjelp av Head Pandas-funksjonen.

Trinn 6: Nå skal vi dele hele datasettet i trening og teste. For dette bruker vi Train_Test_Split -metoden til Sklearn. Vi har gitt 25% av hele datasettet på testen og de resterende 75% av datasettet til opplæringen.

Trinn 7: Nå skal vi dele hele datasettet i trening og teste. For dette bruker vi Train_Test_Split -metoden til Sklearn. Vi har gitt 25% av hele datasettet på testen og de resterende 75% av datasettet til opplæringen.

Så oppretter vi den logistiske regresjonsmodellen og passer til treningsdataene.

Trinn 8: Nå er modellen vår klar for prediksjon, så vi består nå testen (X_TEST) til modellen og får resultatene. Resultatene viser (Y_Predictions) som verdier 1 (innrømmet) og 0 (ikke innrømmet).

Trinn 9: Nå skriver vi ut klassifiseringsrapporten og forvirringsmatrisen.

Classification_report viser at modellen kan forutsi resultatene med en nøyaktighet på 69%.
Forvirringsmatrisen viser de totale X_TEST -datadetaljene som:
TP = ekte positive = 8
TN = ekte negativer = 61
FP = Falske positiver = 4
Fn = falske negativer = 27

Så den totale nøyaktigheten i henhold til Confusion_matrix er:

Nøyaktighet = (tp+tn)/total = (8+61)/100 = 0.69

Trinn 10: Nå skal vi krysssjekke resultatet gjennom utskrift. Så vi skriver bare de 5 beste elementene i X_Test og Y_Test (faktisk ekte verdi) ved å bruke Head Pandas -funksjonen. Deretter skriver vi også ut de 5 beste resultatene av spådommene som vist nedenfor:

Vi kombinerer alle tre resultatene i et ark for å forstå spådommene som vist nedenfor. Vi kan se at bortsett fra 341 X_TEST -dataene, som var sant (1), er prediksjonen falsk (0) ellers. Så våre modellforutsigelser fungerer 69%, som vi allerede har vist ovenfor.

Trinn 11: Så vi forstår hvordan modellforutsigelsene gjøres på det usett datasettet som X_Test. Så vi opprettet bare et tilfeldig nytt datasett ved hjelp av en Pandas DataFrame, ga det til den trente modellen og fikk resultatet vist nedenfor.

Den komplette koden i Python gitt nedenfor:

Koden for denne bloggen, sammen med datasettet, er tilgjengelig på følgende lenke
https: // github.com/shekharpandey89/logistikk-regresjon