Позвольте мне начать с того, что я здесь, следуя примеру книги (Панды для всех).
В одном разделе объясняется, как выполнить перекрестную проверку k-Fold, используя для сравнения KFold из sklearn и cross_val_scoresмодель.
Итак, вот моя путаница:
Утверждается, что k-кратное вычисление вычисляет среднюю ошибку, и при сравнении нескольких моделей модель с наименьшей ошибкой является лучшей моделью. Хорошо, пока это имеет смысл.
Теперь вот моя проблема: также упоминается, что оценка, возвращаемая cross_val_score () , представляет коэффициент детерминации R-квадрат. Я также понимаю, что R-квадрат должен быть как можно ближе к 1, а отрицательный R-квадрат указывает на действительно плохую модель.
Кроме того, я вижу пример, предполагающий, что у нас есть 3 модели:m1, m2, m3 и после выполнения cross_val_score для каждого из них мы получаем следующие баллы:
m1: -5 m2: -1000 m3: - 3
Следовательно, m2 имеет лучшую производительность.
Это очень смущает меня и вызывает несколько вопросов:
Что представляет собой оценка перекрестной проверки? средняя частота ошибок или R-квадрат? Они одинаковые?
Предполагая, что они одинаковы, хотим ли мы наивысшее или наименьшее значение? Я понимаю, что меньшая ошибка лучше, но высокий R-квадрат тоже лучше, а отрицательный R-квадрат плохой