1
resposta

Diferença entre os coeficientes R²

Olá!

Eu ainda não consegui entender qual a diferença entre o coeficiente R² encontrado pelo score() e pelo metrics.r2_score(). Algúem poderia me explicar o que eles significam e a diferença entre eles? Eles devem ter o valor igual? Qual dos dois eu devo levar em conta para avaliar meu modelo?

1 resposta

Olá, tudo bem?

Tanto o score() quanto o r2_score() calculam o R², porém, eles têm diferenças na forma como são calculados.

O score() é um método da classe do modelo de regressão linear que retorna o R² do modelo ajustado aos dados de treino. Já o r2_score() é uma função da biblioteca metrics que calcula o R² entre as previsões do modelo e os valores reais dos dados de teste.

O código modelo_2.score(X2_train, y2_train) calcula o R² para o modelo que utiliza a temperatura média como variável explicativa. O valor retornado representa a proporção da variação da variável dependente que é explicada por esse modelo. No exemplo, o R² obtido foi de 0.66, indicando que aproximadamente 66% da variação do consumo é explicada pelas variáveis temperatura média, chuva e fim de semana.

Já o metrics.r2_score() é uma função mais genérica que pode ser utilizada para calcular o R² não apenas nos dados de treinamento, mas também em dados de teste ou mesmo em um conjunto totalmente diferente. Ele leva como argumentos os valores reais da variável dependente e os valores previstos pelo modelo. Portanto, ele permite avaliar como o modelo generaliza para novos dados, não se restringindo apenas aos dados de treinamento.

Quanto a qual usar, depende do objetivo. Para avaliar o ajuste aos dados de treinamento, use score(). Para avaliar a previsão de novos dados, use metrics.r2_score() com os dados de teste.

Para complementar a explicação, deixo outro tópico semelhante que aborda também sobre esse conteúdo.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!