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!