Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda R-Quadrado | Escolhendo o Melhor Modelo
Regressão Linear com Python

R-Quadrado

Deslize para mostrar o menu

O que é R-quadrado

Já abordamos MSE, RMSE e MAE. Eles ajudam a comparar modelos, mas um único valor é difícil de avaliar sem contexto. Pode ser que você não saiba se o valor é “bom o suficiente” para seu conjunto de dados.

R-quadrado resolve isso ao medir quanto da variância do alvo o modelo explica. Seu valor varia de 0 a 1, tornando a interpretação direta.

RSquaredFormulaSimple

O problema é que não podemos calcular a variância explicada imediatamente. Mas podemos calcular a variância não explicada, então vamos transformar a equação acima para:

RSquaredFormula

Variância Total

A variância total é simplesmente a variância do alvo, e podemos calcular a variância do alvo usando a fórmula da variância amostral da Estatística ( é a média do alvo):

TotalVariation

No exemplo, as diferenças entre os valores reais e a média alvo (linhas laranjas) são elevadas ao quadrado e somadas, depois divididas por m−1, resultando em uma variância total de 11,07.

TotalVariationGraph

Variância Não Explicada

Em seguida, calculamos a variância que o modelo não explica. Se as previsões fossem perfeitas, todos os pontos estariam exatamente sobre a linha de regressão. Utilizamos a mesma fórmula de variância, mas substituímos pelos valores previstos.

VariaçãoNãoExplicada

Exemplo com visualização:

UnexplainedVariationGraph

Agora sabemos tudo para calcular o R-quadrado:

R2Example

Obtivemos um valor de R-quadrado de 0,92, que está próximo de 1, indicando um modelo excelente. Também calcularemos o R-quadrado para mais um modelo.

R2Example2

O valor de R-quadrado é menor, pois o modelo subajusta um pouco os dados.

R-quadrado em Python

A classe sm.OLS calcula o R-quadrado para nós. Podemos encontrá-lo na tabela summary() aqui.

Resumo

O R-quadrado varia de 0 a 1, e quanto maior, melhor (a menos que o modelo esteja superajustado). A saída do summary() de sm.OLS inclui o valor do R-quadrado.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 3

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

R-Quadrado

O que é R-quadrado

Já abordamos MSE, RMSE e MAE. Eles ajudam a comparar modelos, mas um único valor é difícil de avaliar sem contexto. Pode ser que você não saiba se o valor é “bom o suficiente” para seu conjunto de dados.

R-quadrado resolve isso ao medir quanto da variância do alvo o modelo explica. Seu valor varia de 0 a 1, tornando a interpretação direta.

RSquaredFormulaSimple

O problema é que não podemos calcular a variância explicada imediatamente. Mas podemos calcular a variância não explicada, então vamos transformar a equação acima para:

RSquaredFormula

Variância Total

A variância total é simplesmente a variância do alvo, e podemos calcular a variância do alvo usando a fórmula da variância amostral da Estatística ( é a média do alvo):

TotalVariation

No exemplo, as diferenças entre os valores reais e a média alvo (linhas laranjas) são elevadas ao quadrado e somadas, depois divididas por m−1, resultando em uma variância total de 11,07.

TotalVariationGraph

Variância Não Explicada

Em seguida, calculamos a variância que o modelo não explica. Se as previsões fossem perfeitas, todos os pontos estariam exatamente sobre a linha de regressão. Utilizamos a mesma fórmula de variância, mas substituímos pelos valores previstos.

VariaçãoNãoExplicada

Exemplo com visualização:

UnexplainedVariationGraph

Agora sabemos tudo para calcular o R-quadrado:

R2Example

Obtivemos um valor de R-quadrado de 0,92, que está próximo de 1, indicando um modelo excelente. Também calcularemos o R-quadrado para mais um modelo.

R2Example2

O valor de R-quadrado é menor, pois o modelo subajusta um pouco os dados.

R-quadrado em Python

A classe sm.OLS calcula o R-quadrado para nós. Podemos encontrá-lo na tabela summary() aqui.

Resumo

O R-quadrado varia de 0 a 1, e quanto maior, melhor (a menos que o modelo esteja superajustado). A saída do summary() de sm.OLS inclui o valor do R-quadrado.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 3
some-alt