Come estrarre i coefficienti di regressione dal modello scikit-learn


È possibile utilizzare la seguente sintassi di base per estrarre i coefficienti di regressione da un modello di regressione creato con scikit-learn in Python:

 p.d. DataFrame ( zip ( X.columns , model.coef_ ))

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: estrarre i coefficienti di regressione dal modello Scikit-Learn

Supponiamo di avere il seguente DataFrame panda che contiene informazioni sulle ore studiate, sul numero di esami preparatori sostenuti e sul voto dell’esame finale ottenuto da 11 studenti in una classe:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' hours ': [1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4],
                   ' exams ': [1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4],
                   ' score ': [76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90]})

#view DataFrame
print (df)

    hours exam score
0 1 1 76
1 2 3 78
2 2 3 85
3 4 5 88
4 2 2 72
5 1 2 69
6 5 1 94
7 4 1 94
8 2 0 88
9 4 3 92
10 4 4 90

Possiamo utilizzare il seguente codice per adattare un modello di regressione lineare multipla utilizzando ore ed esami come variabili predittive e punteggio come variabile di risposta:

 from sklearn. linear_model import LinearRegression

#initiate linear regression model
model = LinearRegression()

#define predictor and response variables
x, y = df[[' hours ', ' exams ']], df. score

#fit regression model
model. fit (x,y)

Possiamo quindi utilizzare la seguente sintassi per estrarre i coefficienti di regressione delle ore e degli esami :

 #print regression coefficients
p.d. DataFrame ( zip ( X.columns , model.coef_ ))

            0 1
0 hours 5.794521
1 exams -1.157647

Dal risultato, possiamo vedere i coefficienti di regressione per le due variabili predittive nel modello:

  • Coefficiente per ore : 5,794521
  • Coefficiente esami : -1.157647

Se vogliamo possiamo anche utilizzare la seguente sintassi per estrarre il valore originale dal modello di regressione:

 #print intercept value
print (model. intercept_ )

70.48282057040197

Utilizzando ciascuno di questi valori, possiamo scrivere l’equazione per il modello di regressione adattata:

Punteggio = 70.483 + 5.795 (ore) – 1.158 (esami)

Possiamo quindi utilizzare questa equazione per prevedere il voto dell’esame finale di uno studente in base al numero di ore trascorse a studiare e al numero di esami pratici sostenuti.

Ad esempio, uno studente che ha studiato 3 ore e ha sostenuto 2 esami preparatori dovrebbe ricevere un voto finale di 85,55 :

  • Punteggio = 70.483 + 5.795 (ore) – 1.158 (esami)
  • Punteggio = 70.483 + 5.795(3) – 1.158(2)
  • Punteggio = 85,55

Correlato: Come interpretare i coefficienti di regressione

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni in Python:

Come eseguire una semplice regressione lineare in Python
Come eseguire regressioni lineari multiple in Python
Come calcolare l’AIC dei modelli di regressione in Python

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *