Код: Выделить всё
R² from sklearn.metrics.r2_score(y_true, y_pred)
Код: Выделить всё
r from scipy.stats.pearsonr(y_true, y_pred)
Затем вычисляется вручную как:
def calculate_r2(y_true, y_pred):
sse = ((y_true - y_pred) ** 2).sum()
sst = ((y_true - y_true.mean()) ** 2).sum()
r2 = 1 - (sse / sst)
return r2
< /code>
`< /p>
Я заметил, что R² и R² близки, но не совсем равны.
Например: < /p>
r² = 0,56
r = 0,75 → R = 0,5625 < /p>
также в случае: также в случае, это так и в некоторых случаях. -2.25, здесь r² отрицательный < /p>
Я понимаю, что в простой линейной регрессии R² = R². Но так как я использую несколько предикторов, мне интересно:
Почему R² и R² расходится (отрицательно) в многомерной регрессии?
Это ожидаемое поведение? /> Любое разъяснение или официальный источник будет оценен! < /p>
Подробнее здесь: https://stackoverflow.com/questions/795 ... c2%b2-in-m