Regressione logistica in Python

Regressione logistica in Python
La regressione logistica è un algoritmo di classificazione dell'apprendimento automatico. La regressione logistica è anche simile alla regressione lineare. Ma la differenza principale tra regressione logistica e regressione lineare è che i valori di output di regressione logistica sono sempre binari (0, 1) e non numerico. La regressione logistica crea sostanzialmente una relazione tra variabili indipendenti (una o più di una) e variabili dipendenti. La variabile dipendente è una variabile binaria che ha principalmente due casi:
  • 1 per vero o
  • 0 per false

L'importanza chiave della regressione logistica:

  1. Le variabili indipendenti non devono essere multicollinearità; Se c'è qualche relazione, allora dovrebbe essere molto poco.
  2. Il set di dati per la regressione logistica dovrebbe essere abbastanza grande da ottenere risultati migliori.
  3. Solo quegli attributi dovrebbero essere presenti nel set di dati, che ha qualche significato.
  4. Le variabili indipendenti devono essere secondo Odds log.

Per costruire il modello del regressione logistica, noi usiamo il Scikit-learn biblioteca. Il processo della regressione logistica in Python è riportato di seguito:

  1. Importa tutti i pacchetti richiesti per la regressione logistica e altre librerie.
  2. Carica il set di dati.
  3. Comprendi le variabili di set di dati indipendenti e le variabili dipendenti.
  4. Dividi il set di dati in Dati di formazione e test.
  5. Inizializza il modello di regressione logistica.
  6. Montare il modello con il set di dati di addestramento.
  7. Prevedere il modello utilizzando i dati di test e calcolare l'accuratezza del modello.

Problema: I primi passi sono raccogliere il set di dati su cui vogliamo applicare il Regressione logistica. Il set di dati che useremo qui è per il set di dati di ammissione MS. Questo set di dati ha quattro variabili e su cui tre sono variabili indipendenti (GRE, GPA, Work_Experience) e una è una variabile dipendente (ammessa). Questo set di dati dirà se il candidato riceverà l'ammissione o meno a una prestigiosa università basata sul loro GPA, GRE o Work_Experience.

Passo 1: Importiamo tutte le librerie richieste che abbiamo richiesto per il programma Python.

Passo 2: Ora stiamo caricando il nostro set di dati di ammissione MS utilizzando la funzione PANDAS read_csv.

Passaggio 3: Il set di dati sembra sotto:

Passaggio 4: Controlliamo tutte le colonne disponibili nel set di dati e quindi impostiamo tutte le variabili indipendenti su variabili variabili e dipendenti a y, come mostrato nella screenshot seguente.

Passaggio 5: Dopo aver impostato le variabili indipendenti su x e la variabile dipendente a y, ora stiamo stampando qui per verificare la cross X e Y usando la funzione Panda della testa.

Passaggio 6: Ora, divideremo l'intero set di dati in formazione e test. Per questo, stiamo usando il metodo train_test_split di Sklearn. Abbiamo dato il 25% dell'intero set di dati al test e il restante 75% del set di dati alla formazione.

Passaggio 7: Ora, divideremo l'intero set di dati in formazione e test. Per questo, stiamo usando il metodo train_test_split di Sklearn. Abbiamo dato il 25% dell'intero set di dati al test e il restante 75% del set di dati alla formazione.

Quindi creiamo il modello di regressione logistica e adattiamo i dati di allenamento.

Passaggio 8: Ora, il nostro modello è pronto per la previsione, quindi ora stiamo passando i dati di test (x_test) al modello e ottenuto i risultati. I risultati mostrano (y_predtions) che valori 1 (ammesso) e 0 (non ammesso).

Passaggio 9: Ora, stampiamo il rapporto di classificazione e la matrice di confusione.

Classification_Report mostra che il modello può prevedere i risultati con una precisione del 69%.
La matrice di confusione mostra i dettagli dei dati X_Test totali come:
TP = veri positivi = 8
Tn = veri negativi = 61
Fp = falsi positivi = 4
Fn = falsi negativi = 27

Quindi, l'accuratezza totale secondo la confusione_matrix è:

Precisione = (tp+tn)/totale = (8+61)/100 = 0.69

Passaggio 10: Ora, controlleremo il risultato attraverso la stampa. Quindi, stampiamo semplicemente i 5 migliori elementi di X_Test e Y_Test (Valore reale effettivo) usando la funzione Panda Head. Quindi, stampiamo anche i primi 5 risultati delle previsioni come mostrato di seguito:

Combiniamo tutti e tre i risultati in un foglio per comprendere le previsioni come mostrato di seguito. Possiamo vedere che ad eccezione dei dati 341 x_test, che era vero (1), la previsione è falsa (0) altro. Quindi, le previsioni del nostro modello funzionano il 69%, come abbiamo già mostrato sopra.

Passaggio 11: Quindi, capiamo come vengono fatte le previsioni del modello sul set di dati invisibile come X_TEST. Quindi, abbiamo creato solo un set di dati casualmente nuovo utilizzando un Frame Data Pandas, lo abbiamo passato al modello addestrato e ottenuto il risultato mostrato di seguito.

Il codice completo in Python indicato di seguito:

Il codice per questo blog, insieme al set di dati, è disponibile al seguente link
https: // github.com/shekharpandey89/logistic-regression