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 влияют выбросы.
Удачного кодирования!