Na correçao do exercício é usado o modelo.score(x,y) para retornar o r2 do modelo. Depois para verificar o r2 do predict(x) é usado metrics.r2_score.
Porque são usados métodos diferentes?
Na correçao do exercício é usado o modelo.score(x,y) para retornar o r2 do modelo. Depois para verificar o r2 do predict(x) é usado metrics.r2_score.
Porque são usados métodos diferentes?
Olá Igor, tudo bem? Espero que sim!
Ambos os métodos são na verdade o mesmo. O r2_score da biblioteca metrics é o método original, que foi implementado.
Quando criamos um modelo linear e fazemos modelo.score(), por dentro do código a biblioteca metrics é importada e o r2_score é utilizado.
Nesse link você pode encontrar o código fonte do método score, utilizado na LinearRegression(). Repare que é importado o r2_score e depois utilizado.
def score(self, X, y, sample_weight=None):
from .metrics import r2_score
y_pred = self.predict(X)
return r2_score(y, y_pred, sample_weight=sample_weight)
Isso serve para deixar de forma mais simples e dinâmica a utilização do score, podendo obtê-lo diretamente através do modelo sem a necessidade de importar a métrica manualmente.
Espero que tenha tirado sua dúvida.
Estou à disposição. Bons estudos!