Come calcolare r quadrato in python (con esempio)


R al quadrato , spesso scritto R2 , è la proporzione della varianza nella variabile di risposta che può essere spiegata dalle variabili predittive in un modello di regressione lineare .

Il valore di R al quadrato può variare da 0 a 1 dove:

  • 0 indica che la variabile di risposta non può essere spiegata affatto dalla variabile predittrice.
  • 1 indica che la variabile di risposta può essere perfettamente spiegata senza errori dalle variabili predittive.

L’esempio seguente mostra come calcolare R 2 per un modello di regressione in Python.

Esempio: calcola R-quadrato in Python

Supponiamo di avere i seguenti panda DataFrame:

 import pandas as pd

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

#view DataFrame
print (df)

    hours prep_exams 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
11 3 3 75
12 6 2 96

Possiamo utilizzare la funzione LinearRegression() di sklearn per adattare un modello di regressione e la funzione score() per calcolare il valore R quadrato del modello:

 from sklearn.linear_model import LinearRegression

#initiate linear regression model
model = LinearRegression()

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

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

#calculate R-squared of regression model
r_squared = model. score (x,y)

#view R-squared value
print (r_squared)

0.7175541714105901

Il quadrato R del modello risulta essere 0,7176 .

Ciò significa che il 71,76% della variazione dei punteggi degli esami può essere spiegato dal numero di ore studiate e dal numero di esami pratici sostenuti.

Se volessimo, potremmo confrontare questo valore R quadrato con un altro modello di regressione con un diverso insieme di variabili predittive.

In generale, si preferiscono modelli con valori di R quadrato più alti perché significa che l’insieme delle variabili predittive nel modello è in grado di spiegare bene la variazione della variabile di risposta.

Correlato: Qual è un buon valore R quadrato?

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 *