Удаление столбцов в переборе python
Изучаю python для ИИ
Я хочу научиться работать с большими данными. Есть данные о пользователях - таблица из n столбцов, которые обрабатываются через логическую регрессию.
Столбцы имеют различные типы, которые я заранее преобразованию.
Мне нужна помощь в придумывании алгоритма откидывания менее значимых столбцов для анализа данных.
То есть придумать метод для перебора всех возможных откидывания столбцов (всех вариантов исключений), чтобы в первом случае убрали лишь первый, во втором второй, а в n третий и пятый Если есть статьи, которые я пропустил или уже готовые решения, то всегда рад самостоятельно изучить
Ответы (1 шт):
Почитайте для начала какие варианты отбора фич предлагает популярная библиотека scikit-learn: Feature selection
На самом деле это довольно широкая и неоднозначная тема. Отбор фич может хорошо себя показать на одних данных (тренировочных) и плохо на других (тестовых). А может при небольшой потере в качестве значительно ускорить анализ данных. А может даже и наоборот улучшить качество. Случаи разные бывают.
В продвинутых алгоритмах машинного обучения вроде Random Forest или XGBoost есть встроенные мерилки полезности фич, можно ими воспользоваться для отбора фич.
И есть ещё permutation importance, с помощью которой тоже можно отбирать фичи, но по моему опыту она тоже штука неоднозначная, всё надо пробовать на конкретных данных.
А ещё есть такие библиотеки для автоматизированного отбора фич, как Boruta и BoostARoota. У второй библиотеки, кстати, хорошо расписано, как она собственно отбирает фичи, это полезно почитать.