Используя перекрестную проверку sklearn, я смущен оценкой, представляющей R-квадрат или частотой ошибок? Как сравнивать модели с отрицательными оценками?

Начну с того, что я здесь по примеру книги (Панды для всех).

В одном разделе объясняется, как выполнить перекрестную проверку k-Fold с использованием KFold из sklearn и cross_val_scores для сравнения модели.

Итак, вот мое замешательство:

Утверждается, что k-кратное вычисление средней ошибки и, при сравнении нескольких моделей, модель с наименьшей ошибкой является лучшей моделью. Хорошо, пока это имеет смысл.

Теперь вот моя проблема: также упоминается, что оценка, возвращаемая cross_val_score(), представляет собой коэффициент детерминации R-квадрат. Я также понимаю, что R-квадрат должен быть как можно ближе к 1, а отрицательный R-квадрат указывает на действительно плохую модель.

Вдобавок я вижу пример, предполагающий, что у нас есть 3 модели: m1, m2, m3, и после выполнения cross_val_score для каждой из них мы получаем следующие оценки:

м1: -5 м2: -1000 м3: - 3

Поэтому у m2 лучшая производительность.

Это меня очень сбивает с толку и вызывает несколько вопросов:

  1. Что представляет собой оценка перекрестной проверки? средняя частота ошибок или R-квадрат? Они одинаковы?

  2. Предполагая, что они одинаковы, хотим ли мы наибольшее или наименьшее значение? Я понимаю, что низкая ошибка лучше, но высокий R-квадрат тоже лучше, а отрицательный R-квадрат плох.

0 ответов

Другие вопросы по тегам