У меня есть набор данных с 330 выборками и 27 функциями для каждой выборки, с проблемой двоичного класса для логистической регрессии.
Согласно «правилу если десять» мне нужно по крайней мере 10 событий для каждой функции, которая будет включена. Тем не менее, у меня есть несбалансированный набор данных, с 20% положительного класса и 80% отрицательного класса.
Это дает мне только 70 событий, что позволяет включить в модель логистики только 7/8 функций.
Я хотел бы оценить все функции в качестве предикторов, я не хочу вручную выбирать какие-либо функции.
Так что бы вы предложили? Должен ли я сделать все возможные 7 комбинаций функций? Должен ли я оценивать каждую функцию отдельно с моделью ассоциации, а затем выбирать только лучшие из них для окончательной модели?
Мне также интересно узнать об обработке категориальных и непрерывных функций, могу ли я их смешать? Если у меня есть категориальный [0-1] и непрерывный [0-100], я должен нормализовать?
В настоящее время я работаю с Python.
Большое спасибо за вашу помощь!
Ответы:
Чтобы уменьшить вашу модель до 7 переменных, есть несколько подходов:
Как прокомментировал @ E_net4, ваш постоянный вопрос рассматривается в другом посте.
источник
Вы принимаете «Правило 10» слишком серьезно. Это очень грубое правило. Он не предназначен для использования так, как вы его используете.
Похоже, вы думаете: «У меня только 70 положительных примеров, поэтому по правилу 10 мне разрешено использовать только 7 функций; как выбрать, какие 7 функций использовать?»
Это не то, что означает Правило 10. Это не какое-то правило, которое определяет, сколько функций вам разрешено использовать. Правило 10 носит описательный, а не предписывающий характер и является приблизительным указанием: если число экземпляров намного меньше, чем число функций, в 10 раз, вы особенно подвержены риску переобучения и можете получить плохие результаты.
Итак, что нужно сделать? В любом случае вы должны делать то, что делали бы: использовать регуляризацию и перекрестную проверку для выбора гиперпараметров регуляризации. Кроме того, важно иметь тестовый набор, который вы не трогаете, пока не доработаете все о классификаторе, чтобы избежать переобучения и предвзятых оценок точности.
И если вы сможете получить больше данных, это действительно поможет.
Наконец, поскольку у вас есть несбалансированные классы, вы можете рассмотреть вопрос о дисбалансе классов и методах борьбы с ним.
источник