Como calcular r-quadrado ajustado em python


R-quadrado , muitas vezes escrito R2 , é a proporção da variância na variável de resposta que pode ser explicada pelas variáveis preditoras em um modelo de regressão linear .

O valor de R ao quadrado pode variar de 0 a 1. Um valor de 0 indica que a variável de resposta não pode ser explicada pela variável preditora, enquanto um valor de 1 indica que a variável de resposta pode ser explicada pela variável preditora. perfeitamente explicado sem erro pelo preditor. variáveis.

R-quadrado ajustado é uma versão modificada do R-quadrado que ajusta o número de preditores em um modelo de regressão. É calculado da seguinte forma:

R 2 ajustado = 1 – [(1-R 2 )*(n-1)/(nk-1)]

Ouro:

  • R 2 : O R 2 do modelo
  • n : O número de observações
  • k : O número de variáveis preditoras

Como o R2 sempre aumenta à medida que você adiciona preditores a um modelo, o R2 ajustado pode servir como uma métrica que informa o quão útil é um modelo, ajustado com base no número de preditores em um modelo .

Este tutorial mostra dois exemplos de cálculo de R2 ajustado para um modelo de regressão em Python.

Relacionado: O que é um bom valor de R ao quadrado?

Exemplo 1: calcular R-quadrado ajustado com sklearn

O código a seguir mostra como ajustar um modelo de regressão linear múltipla e calcular o R-quadrado ajustado do modelo usando 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

O R-quadrado ajustado do modelo é 0,7787 .

Exemplo 2: Calcular R-quadrado ajustado com modelos estatísticos

O código a seguir mostra como ajustar um modelo de regressão linear múltipla e calcular o R-quadrado ajustado do modelo usando modelos estatísticos:

 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

O R-quadrado ajustado do modelo acaba sendo 0,7787 , o que corresponde ao resultado do exemplo anterior.

Recursos adicionais

Como realizar regressão linear simples em Python
Como realizar regressão linear múltipla em Python
Como calcular AIC de modelos de regressão em Python

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *