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