Можете ли вы исправить ложную отрицательную оценку в классификаторе в scikit learn
Я использую Randomifer classifer в scikit learn с несбалансированным набором данных из двух классов. Меня гораздо больше беспокоят ложные негативы, чем ложные срабатывания. Можно ли исправить ложную отрицательную скорость (скажем, 1%) и попросить scikit как-то оптимизировать ложноположительную ставку?
Если этот классификатор не поддерживает его, есть ли другой классификатор, который делает?
Ответы
Ответ 1
Я считаю, что проблема дисбаланса класса в sklearn может быть частично разрешена с помощью параметра class_weight
.
этот параметр является либо словарем, где каждому классу присваивается единый вес, либо строка, которая сообщает sklearn, как построить этот словарь. Например, установив этот параметр в "auto", вес каждого класса будет пропорционален инверсии его частоты.
Посредством взвешивания класса, который меньше присутствует с большей суммой, вы можете получить "лучшие" результаты.
Классификатор вроде SVM или логистической регрессии также предлагает этот параметр class_weight
.
Этот ответ "Переполнение стека" дает некоторые другие идеи о том, как справляться с дисбалансом класса, например, при выборке и передискретизации.
Ответ 2
Я нашел эту статью по проблеме дисбаланса класса.
http://www.chioka.in/class-imbalance-problem/
В основном обсуждались следующие возможные решения:
- Основанные на стоимости функции.
- Подходы, основанные на выборке
- SMOTE (Синтетическая методика сэмплирования меньшинства)
- недавние подходы: RUSBoost, SMOTEBagging и Underbagging.
Надеюсь, это поможет.
Ответ 3
Случайные леса уже представляют собой мешковатый классификатор, поэтому он должен дать хорошие результаты.
Один типичный способ получения желаемой False-положительной или ложной отрицательной точности заключается в анализе ее с использованием кривых ROC
http://scikit-learn.org/stable/auto_examples/plot_roc.html
и изменение определенных параметров для достижения желаемых скоростей FP, например.
Не уверен, можно ли настроить частоту FP случайного лесного классификатора с использованием параметров. Вы можете посмотреть другие классификаторы на основе вашего приложения.