R-квадрат – это важный статистический показатель в регрессионной модели, представляющий долю разницы или дисперсии в зависимой переменной, которая может быть объяснена независимой переменной или переменными.

Проще говоря, R-квадрат — это мера согласия для регрессионных моделей. Он используется, чтобы дать нам представление о том, насколько хорошо регрессионная модель соответствует наблюдаемым данным. Например, модель с квадратом R около 80 % означает, что 80 % данных соответствуют регрессионной модели.

Из приведенного выше случая мы можем понять, что более высокие значения R в квадрате указывают на лучшую модель. Хотя, это не всегда верно. В некоторых очень редких случаях нам также может понадобиться низкое значение R в квадрате.

Но в идеале более высокое значение R в квадрате указывает на лучшую модель. Значение R в квадрате находится в диапазоне от 0 до 1, где 0 указывает на плохую модель, а 1 указывает на хорошо подобранную модель (идеальное соответствие).

R в квадрате можно представить как

Здесь,

SSres = остаточная сумма квадратов ошибок

SStot = общая сумма квадратов ошибок

ВЫПОЛНЕНИЕ:

Scikit-learn поставляется со всеми встроенными показателями оценки. Мы можем импортировать их из модуля metrics перед использованием в нашей модели.

Вот простой пример, чтобы узнать, как работает R в квадрате с использованием массива numpy.

Как видите, мы импортировали r2_score из модуля метрик sklearn, прежде чем использовать его в массиве numpy. Поскольку y_true (данные наблюдения) и y_pred (данные прогноза) одинаковы, r2_score возвращает 1, что является максимально возможным значением. Это означает, что модель идеально подходит.

В этом случае мы видим, что r2_score равен 0, потому что ни одно из наблюдаемых значений не соответствует предсказанным значениям. Так что это очень плохая модель.

Здесь следует отметить, что r2_score в sklearn также может быть отрицательным значением (поскольку модель может быть сколь угодно хуже).

Это происходит, когда ваша линия регрессии хуже, чем при использовании среднего значения.

РЕАЛИЗАЦИЯ МОДЕЛИ:

Давайте теперь применим его к модели линейной регрессии.

Как видите, r2_score для этой модели меньше 0,5, что означает, что модель не подходит. Кроме того, следует помнить, что на значение r2_score влияют выбросы.

Удачного кодирования!