R-quadrado
O que é R-quadrado
Cobrimos algumas das métricas mais utilizadas para regressão no capítulo Métricas. São elas: MSE, RMSE e MAE. Elas são boas para comparar modelos, mas quando você constrói um único modelo, nem sempre compreende se o resultado obtido é bom para o seu conjunto de dados ou se precisa continuar testando outros modelos.
Felizmente, existe uma métrica chamada R-quadrado que mede o desempenho do modelo em uma escala de 0 a 1. O R-quadrado calcula a proporção da variância do alvo explicada pelo modelo.
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:
variação total
A variação total é simplesmente a variância do alvo, e podemos calcular a variância do alvo usando a fórmula de variância da amostra de Estatística (ȳ é a média do alvo):
Aqui está um exemplo com visualização. As diferenças entre o valor alvo real e a média do alvo são coloridas de laranja. Assim como ao calcular SSR, nós pegamos a extensão de cada linha laranja, elevamos ao quadrado e adicionamos à soma, mas agora também dividimos o resultado por m-1. Aqui, obtivemos uma variância total de 11.07.
variância não explicada
Agora precisamos calcular a variância que não é explicada pelo modelo. Se o modelo explicasse toda a variância, todos os pontos estariam sobre a linha de regressão construída. Isso raramente acontece, então queremos calcular a variância do alvo, mas agora em relação à linha de regressão em vez da média. Usaremos a mesma fórmula, mas substituiremos ȳ pelas previsões do modelo.
Aqui está um exemplo com visualização:
Agora conhecemos tudo para calcular o R-quadrado:
Obtivemos um coeficiente R-quadrado de 0,92, o que é próximo de 1, indicando que temos um ótimo modelo. Vamos também calcular o R-quadrado para mais um modelo.
O R-quadrado é mais baixo, pois o modelo está um pouco abaixo do ajuste aos dados.
R-quadrado em Python
A classe sm.OLS
calcula o R-quadrado para nós. Podemos encontrá-lo na tabela summary()
aqui.
Para resumir, R-quadrado é uma métrica para regressão. Pode assumir valores de 0 a 1. Ao contrário de outras métricas como MSE/MAE, um valor mais alto é melhor (a menos que o modelo esteja superajustado). Você pode encontrar o R-quadrado na tabela summary()
da classe sm.OLS
.
Tudo estava claro?
Conteúdo do Curso
Linear Regression with Python
4. Escolhendo o Melhor Modelo
Linear Regression with Python
R-quadrado
O que é R-quadrado
Cobrimos algumas das métricas mais utilizadas para regressão no capítulo Métricas. São elas: MSE, RMSE e MAE. Elas são boas para comparar modelos, mas quando você constrói um único modelo, nem sempre compreende se o resultado obtido é bom para o seu conjunto de dados ou se precisa continuar testando outros modelos.
Felizmente, existe uma métrica chamada R-quadrado que mede o desempenho do modelo em uma escala de 0 a 1. O R-quadrado calcula a proporção da variância do alvo explicada pelo modelo.
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:
variação total
A variação total é simplesmente a variância do alvo, e podemos calcular a variância do alvo usando a fórmula de variância da amostra de Estatística (ȳ é a média do alvo):
Aqui está um exemplo com visualização. As diferenças entre o valor alvo real e a média do alvo são coloridas de laranja. Assim como ao calcular SSR, nós pegamos a extensão de cada linha laranja, elevamos ao quadrado e adicionamos à soma, mas agora também dividimos o resultado por m-1. Aqui, obtivemos uma variância total de 11.07.
variância não explicada
Agora precisamos calcular a variância que não é explicada pelo modelo. Se o modelo explicasse toda a variância, todos os pontos estariam sobre a linha de regressão construída. Isso raramente acontece, então queremos calcular a variância do alvo, mas agora em relação à linha de regressão em vez da média. Usaremos a mesma fórmula, mas substituiremos ȳ pelas previsões do modelo.
Aqui está um exemplo com visualização:
Agora conhecemos tudo para calcular o R-quadrado:
Obtivemos um coeficiente R-quadrado de 0,92, o que é próximo de 1, indicando que temos um ótimo modelo. Vamos também calcular o R-quadrado para mais um modelo.
O R-quadrado é mais baixo, pois o modelo está um pouco abaixo do ajuste aos dados.
R-quadrado em Python
A classe sm.OLS
calcula o R-quadrado para nós. Podemos encontrá-lo na tabela summary()
aqui.
Para resumir, R-quadrado é uma métrica para regressão. Pode assumir valores de 0 a 1. Ao contrário de outras métricas como MSE/MAE, um valor mais alto é melhor (a menos que o modelo esteja superajustado). Você pode encontrar o R-quadrado na tabela summary()
da classe sm.OLS
.
Tudo estava claro?