Como calcular r-quadrado em python (com exemplo)


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 onde:

  • 0 indica que a variável de resposta não pode ser explicada pela variável preditora.
  • 1 indica que a variável resposta pode ser perfeitamente explicada sem erros pelas variáveis preditoras.

O exemplo a seguir mostra como calcular R 2 para um modelo de regressão em Python.

Exemplo: calcular R ao quadrado em Python

Suponha que temos o seguinte DataFrame do pandas:

 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

Podemos usar a função LinearRegression() do sklearn para ajustar um modelo de regressão e a função score() para calcular o valor R-quadrado do modelo:

 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

O R quadrado do modelo é 0,7176 .

Isso significa que 71,76% da variação nas notas dos exames pode ser explicada pela quantidade de horas estudadas e pela quantidade de simulados realizados.

Se quiséssemos, poderíamos comparar esse valor de R ao quadrado com outro modelo de regressão com um conjunto diferente de variáveis preditoras.

Em geral, modelos com valores de R-quadrado mais elevados são preferidos porque significam que o conjunto de variáveis preditoras no modelo é capaz de explicar bem a variação na variável resposta.

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

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em Python:

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 *