1
resposta

modelo.score e metrics.r2_score, Como distringui-los e quando usa-los?

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?

1 resposta

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!