r2_score -18,709, почему? - PullRequest
       4

r2_score -18,709, почему?

1 голос
/ 27 октября 2019

Я провожу множественную линейную регрессию в Python, ML. Насколько я знаю, r2_score должен быть в диапазоне от -1 до 1. Но я получил -18,709.

В чем проблема, чтобы получить этот ответ и как я могу его исправить? Его код и результат выглядят следующим образом:

вычислить R

from SK-learn.meterics import r2_score

score = r2_score(y_test, y_pred)
print(score)

Вывод:

-18.7097

Его прогнозРезультат выглядит следующим образом:

y_pred = model.predict(X_test)
print(y_pred)

Результат:

[25000. 123000. 73000. 103000.]

1 Ответ

0 голосов
/ 27 октября 2019

Коэффициент определения r-квадрат определяется как

enter image description here

Коэффициент эффективности модели Нэша-Сатклиффа (пояснение ниже)

enter image description here

В некоторых случаях вычислительное определение R2 может давать отрицательные значения в зависимости от используемого определения. Это может возникнуть, когда прогнозы, которые сравниваются с соответствующими результатами, не были получены из процедуры подбора модели с использованием этих данных.

Даже если использовалась процедура подбора модели, R2 все еще может быть отрицательнымНапример, когда линейная регрессия проводится без учета перехвата, или когда нелинейная функция используется для подгонки данных. В тех случаях, когда возникают отрицательные значения, среднее значение данных обеспечивает лучшее соответствие с результатами, чем адаптированные значения функции, в соответствии с этим конкретным критерием. Поскольку наиболее общее определение коэффициента детерминации также известно как коэффициент эффективности модели Нэша-Сатклиффа, это последнее обозначение является предпочтительным во многих областях, поскольку оно обозначает показатель качества соответствия, который может варьироваться от -∞ до 1 (т.е. , это может привести к отрицательным значениям) с квадратной буквой сбивает с толку.

ИСТОЧНИК: Википедия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...