Точность ниже 50% для бинарной классификации
Я тренирую наивный байесовский классификатор на сбалансированном наборе данных с равным количеством положительных и отрицательных примеров. Во время тестирования я поочередно вычисляю точность для примеров в положительном классе, отрицательном классе и подмножествах, которые составляют отрицательный класс. Однако для некоторых подмножеств отрицательного класса я получаю значения точности ниже 50%, то есть случайное угадывание. Мне интересно, стоит ли мне беспокоиться о том, что эти результаты намного ниже 50%? Спасибо!
2 ответа
Невозможно полностью ответить на этот вопрос без конкретных деталей, поэтому здесь приведены рекомендации:
Если у вас есть набор данных с равным количеством классов, то случайное угадывание даст вам в среднем 50% точности.
Чтобы быть ясным, вы уверены, что ваша модель узнала что-то из вашего учебного набора данных? Точность набора обучающих данных выше 50%? Если да, продолжайте чтение.
Если предположить, что ваш набор валидации достаточно велик, чтобы исключить статистические колебания, то точность ниже 50% предполагает, что с вашей моделью что-то действительно не так.
Например, случайно ли ваши классы каким-то образом переключены в набор данных проверки? Потому что обратите внимание, что если вы вместо этого будете использовать 1 - model.predict(x), ваша точность будет выше 50%.
Вас больше волновало, что ниже 50%, потому что это "бинарная классификация"?
Точность зависит больше от данных обучения
Если вы обучаете модель с данными {1, 2, 3, 4, 6} как нечетными числами (класс 0) и {2, 4, 5, 6} как четными (класс 1), вы не получите точный прогноз для "8".
Ваш вопрос: "Мне интересно, стоит ли мне беспокоиться о том, что эти результаты намного ниже 50%?"
Мое мнение: беспокойтесь о данных обучения, тренируйте модель с хорошими данными, которые лучше дифференцируют реальные занятия.