В случае наличия несбалансированного набора данных наиболее распространенным подходом является использование взвешенного класса, но наличие такого большого набора данных ( 30M обучающий пример) для задачи двоичной классификации, представляющей 2% для первого класса и 98% для второго, я могу сказать, что это слишком сложно предотвратить модель, которая будет несмещенной по сравнению с первым классом с использованием взвешенного класса, поскольку это не слишком сильно отличается от уменьшения размера обучающего набора, который необходимо сбалансировать.
Вот несколько шагов для оценки точности модели.
разделите набор данных на наборы для обучения, оценки и тестирования.
Для оценочных показателей c я предлагаю эти альтернативы.
a. Убедитесь, что у вас есть не менее + 20%, что соответствует первому классу как для оценочных, так и для тестовых наборов.
b. Установите метрику оценки c на точность и отзыв для точности вашей модели (вместо использования показателя f1).
c. Установить метрику оценки * 1 116 * будет оценка Каппа Коэна (коэффициент).
С моей точки зрения, я предпочитаю использовать b .
Поскольку вы используете тензорный поток, я предполагаю, что вы знакомы с глубоким обучением. поэтому используйте глубокое обучение вместо машинного обучения, это дает вам возможность иметь множество дополнительных альтернатив, в любом случае, вот некоторые шаги как для машинного обучения, так и для подхода к глубокому обучению.
Для алгоритмов машинного обучения
- Деревья решений Алгоритмы (особенно Случайный лес ).
- Если у моих функций нет корреляции, корреляция приближается к нулю (т.е. 0,01), я собираюсь попробовать Дополнять наивный байесовский классификаторы для полиномиальных функций или гауссовского наивного байесовского , используя взвешенный класс для непрерывные функции .
- Попробуйте некоторые непараметрические c алгоритмы обучения. Возможно, вам не удастся легко подогнать этот обучающий набор с помощью машин опорных векторов ( SVM ) из-за большого объема данных, но вы можете попробовать.
- Попробуйте обучение без учителя алгоритмы (иногда это дает больше generi c модель)
Для алгоритмов глубокого наклона
- Энкодер и декодер архитектуры или просто генеративные состязательные сети ( GAN ).
- Сиамская сеть .
- Обучить модель, используя 1D свертку Слои.
- Использовать взвешенный класс.
- Сбалансированные партии обучающего набора, случайно выбрано.
У вас есть много других альтернатив, с моей точки зрения, я могу очень постараться, чтобы получить его с помощью 1, 3 или 5.
Для глубокого обучения Пятый подход иногда работает очень хорошо, и я рекомендую попробовать его с 1, 3.