Я использую scikit-learn Multinomial классификатор Naive Bayes для классификации двоичного текста (классификатор сообщает мне, относится ли документ к категории X или нет). Я использую сбалансированный набор данных для обучения своей модели и сбалансированного набора тестов для тестирования, и результаты очень перспективны.
Этот classifer должен запускаться в режиме реального времени и постоянно анализировать брошенные на него случайные данные.
Однако, когда я запускаю свой классификатор в производстве, количество ложных срабатываний очень велико, и поэтому я получаю очень низкую точность. Причина проста: в сценарии реального времени (около 90% времени) встречается гораздо больше отрицательных образцов, что классифицирует его, и это не соответствует идеальному сбалансированному набору данных, который я использовал для тестирования и обучения.
Есть ли способ смоделировать этот случай в режиме реального времени во время обучения или есть какие-либо трюки, которые я могу использовать (включая предварительную обработку документов, чтобы узнать, подходят ли они для класса)?
Я планировал тренировать свой классификатор с использованием несбалансированного набора данных с теми же пропорциями, что и у меня в режиме реального времени, но я боюсь, что это может привести к смещению Наивного Байеса к отрицательному классу и потерять отзыв, который у меня есть на положительном классе.
Любые советы приветствуются.