Выбор функций — самая важная часть машинного обучения, поскольку она помогает нам выявить наиболее важные функции в нашем наборе данных.
Есть некоторые функции (функции означают столбцы ...), которые мы находим неуместными, и мы опускаем их с первого взгляда, например. Имя, идентификатор столбца.
Но помимо этого у нас также есть некоторые функции, которые мы не можем легко идентифицировать, что на самом деле снижает нашу точность. Нам нужно знать одну вещь: «Все функции, представленные в наборе данных, не обязательно способствуют лучшей производительности нашей модели. ».
Также есть одно преимущество: выбор функций уменьшает переобучение, таким образом, повышая точность, а также позволяет алгоритму ML обучаться быстрее.
Featurewiz, как следует из названия, — это новая библиотека Python, которая поможет вам выбрать наиболее важные функции / необходимые функции в вашем наборе данных, и это тоже без написания огромного кода. Featurewiz может автоматически определить, является ли проблема регрессией или классификацией.
Как это работает?
Featurewiz использует алгоритм SULOV и рекурсивный XGBoost, чтобы уменьшить количество функций и выбрать лучшие функции в модели. СУЛОВ (Поиск некоррелированного списка переменных) -
1. Он ищет пару сильно коррелированных переменных, которые превышают пороговое значение корреляции.
2. В отношении Целевой переменной находит показатель взаимной информации.
3. Пара с наименьшим показателем взаимной информации отбрасывается.
4. Берется пара с наивысшим информационным баллом и наименьшей корреляцией друг с другом.
Теперь Recursive XGBOOST находит лучшие функции среди оставшихся переменных.
1. Разделить данные на Train и Valid set
2. Найдите лучшие N функций в обучении, а также используйте раннюю остановку, которая фактически предотвращает переобучение.
3. Рекурсивно выполните шаг и повторите его пять раз, а затем объедините их и удалите дубликаты.
Монтаж:
!pip установить featurewiz
Итак, чтобы импортировать featurewiz, который мы используем,
из featurewiz импортировать featurewiz
Для автоматического выбора наших функций мы используем
dep_var = 'целевое_значение'
функции, поезд = featurewiz(данные, dep_var, corr_limit=0.7, verbose=2, sep=,, header=0,test_data=, feature_engg=, category_encoders=)
По умолчанию у нас есть предел корреляции, равный 7.
Я поделюсь своим проектом, в котором я использовал Featurewiz на одном из соревнований Kaggle.
— Наташа И Мешрам,
РАЗРАБОТЧИК ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ В ICICI SECURITIES