Я работаю над прогностическим упражнением моделирования с использованием категориального вывода (pass/fail: двоичный 1 или 0) и около 200 функций. Для этого у меня есть около 350 тыс. Учебных примеров, но при необходимости я могу увеличить размер моего набора данных. Вот несколько вопросов, которые я запускаю:подготовка данных для случайного лесного и предсказательного моделирования в python
1- Я имею дело с категорически неуравновешенными классами. Из этих 350K примеров только 2K обозначаются как «fail» (т. Е. Категориальный вывод = 1). Как мне объяснить это? Я знаю, что существует несколько методов, таких как выборка с бутстрапом;
2- Большинство моих функций (~ 95%) являются категоричными (например, город, язык и т. Д.) С уровнем менее 5-6 уровней. Нужно ли преобразовывать их в двоичные данные для каждого уровня функции? Например, если функция «город» имеет 3 уровня с Нью-Йорком, Парижем и Барселоной, то я могу превратить ее в три бинарных объекта: city_New_york, city_Paris и city_Barcelona;
3 - Выбор модели сами: я имею в виду несколько таких как SVM, K-соседи, дерево решений Random Forest, логистическая регрессия, но я думаю, что Random Forest будет уместна для этого из большое количество категориальных особенностей. Есть предложения?
4 - Если я использую Random Forest, мне нужно (а) сделать функцию масштабирования для непрерывных переменных (я предполагаю, что нет), (б) изменить мои непрерывные переменные в двоичную, как описано в вопросе 2 выше (я угадываю не), (c) учитывают мои тяжелые несбалансированные классы, (d) удаляет отсутствующие значения.
Заранее благодарим за ответы!
Почему это помечено питоном? –