Come calcolare l'r quadrato corretto in python
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. Un valore pari a 0 indica che la variabile di risposta non può essere spiegata affatto dalla variabile predittore, mentre un valore pari a 1 indica che la variabile di risposta può essere spiegata dalla variabile predittore. perfettamente spiegato senza errori dal predittore. variabili.
R-quadrato rettificato è una versione modificata di R-quadrato che regola il numero di predittori in un modello di regressione. Viene calcolato come segue:
R 2 corretto = 1 – [(1-R 2 )*(n-1)/(nk-1)]
Oro:
- R 2 : La R 2 del modello
- n : il numero di osservazioni
- k : il numero di variabili predittive
Poiché R2 aumenta sempre man mano che aggiungi predittori a un modello, R2 modificato può fungere da metrica che indica quanto è utile un modello, modificato in base al numero di predittori in un modello .
Questo tutorial mostra due esempi di calcolo di R2 aggiustato per un modello di regressione in Python.
Correlato: Qual è un buon valore R quadrato?
Esempio 1: calcolare l’R quadrato corretto con sklearn
Il codice seguente mostra come adattare un modello di regressione lineare multipla e calcolare l’R quadrato adattato del modello utilizzando sklearn:
from sklearn. linear_model import LinearRegression import pandas as pd #define URL where dataset is located url = "https://raw.githubusercontent.com/Statorials/Python-Guides/main/mtcars.csv" #read in data data = pd. read_csv (url) #fit regression model model = LinearRegression () x, y = data[["mpg", "wt", "drat", "qsec"]], data.hp model. fit (x,y) #display adjusted R-squared 1 - (1-model. score (X, y))*( len (y)-1)/( len (y)-X. shape [1]-1) 0.7787005290062521
L’R quadrato corretto del modello risulta essere 0,7787 .
Esempio 2: calcolare l’R quadrato corretto con modelli statistici
Il codice seguente mostra come adattare un modello di regressione lineare multipla e calcolare l’R quadrato adattato del modello utilizzando statsmodels:
import statsmodels. api as sm import pandas as pd #define URL where dataset is located url = "https://raw.githubusercontent.com/Statorials/Python-Guides/main/mtcars.csv" #read in data data = pd. read_csv (url) #fit regression model x, y = data[["mpg", "wt", "drat", "qsec"]], data.hp X = sm. add_constant (X) model = sm. OLS (y,x). fit () #display adjusted R-squared print ( model.rsquared_adj ) 0.7787005290062521
L’R quadrato corretto del modello risulta essere 0,7787 , che corrisponde al risultato dell’esempio precedente.
Risorse addizionali
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