Современные наборы данных очень богаты информацией, собранной с миллионов устройств и датчиков IoT. Это приводит к многомерным данным, и довольно часто можно увидеть наборы данных с сотнями функций, и нет ничего необычного в том, что они вырастают до десятков тысяч.
Выбор столбца/функции — очень важный элемент рабочего процесса Data Scientist. При представлении данных с очень высокой размерностью модели обычно задыхаются, потому что
- Время обучения увеличивается в геометрической прогрессии с увеличением количества функций.
- Модели имеют растущий риск переобучения с увеличением количества функций.
- Методы выбора признаков помогают решить эти проблемы за счет уменьшения размеров без большой потери общей информации. Это также помогает понять особенности и их важность.
На этой странице я обсуждаю следующие методы выбора признаков и их характеристики.
- Методы фильтрации
- методы упаковки и
- Встроенные методы.
Методы фильтрации
Методы фильтрации учитывают взаимосвязь между функциями и целевой переменной для расчета значимости функций.
F-тест
F-тест — это статистический тест, используемый для сравнения моделей и проверки значимости различий между моделями.
F-Test создает модель проверки гипотез X и Y, где X — это модель, созданная только константой, а Y — модель, созданная константой и функцией.
Сравниваются ошибки метода наименьших квадратов в двух моделях и проверяется, является ли разница в ошибках между моделями X и Y значительной или случайной.
F-тест полезен при выборе функций, поскольку мы узнаем важность каждой функции для улучшения модели.
Scikit Learn предоставляет лучшие функции K с использованием F-Test.
sklearn.feature_selection.f_regression
Для столбцов типа классификации:
sklearn.feature_selection.f_classif
Есть некоторые недостатки в использовании F-Test для выбора ваших функций. F-Test проверяет и фиксирует только линейные отношения между функциями и метками. Высококоррелированная характеристика получает более высокий балл, а менее коррелированные характеристики получают более низкий балл.
- То корреляция вводит в заблуждение, поскольку не отражает сильных нелинейных отношений.
- Использование грубой статистики, такой как корреляция, может быть плохой идеей, как показывает квартет Анскомба.
Фрэнсис Анскомб иллюстрирует, как четыре отдельных набора данных имеют одинаковое среднее значение, дисперсию и корреляцию, чтобы указать, что «сводная статистика» не полностью описывает наборы данных и может вводить в заблуждение.
Взаимная информация
Взаимная информация между двумя переменными измеряет зависимость одной переменной от другой. Если X и Y — две переменные и
- Если X и Y независимы, информацию об Y нельзя получить, зная X, и наоборот. Поэтому их взаимная информация равно 0.
- Если X является детерминированной функцией Y, то мы можем определить X из Y и Y из X с взаимной информацией 1.
- Когда у нас есть Y = f (X, Z, M, N), 0 < взаимная информация < 1
Мы можем выбрать наши функции из пространства функций, классифицируя их общую информацию с помощью целевой переменной.
Преимущество использования взаимной информации перед F-тестом заключается в том, что он хорошо работает с нелинейной связью между функцией и целевой переменной.
Sklearn предлагает набор функций с общей информацией для задач регрессия и классификация.
sklearn.feature_selection.mututal_info_regression
sklearn.feature_selection.mututal_info_classif

Порог отклонения
Этот метод удаляет функции с вариацией ниже определенного порога.
Идея состоит в том, что когда функция не сильно меняется сама по себе, она обычно имеет очень небольшую предсказательную силу.
sklearn.feature_selection.VarianceThreshold
Порог дисперсии не учитывает взаимосвязь характеристик с целевой переменной.
Методы упаковки (обертка)
Методы-оболочки генерируют модели с подмножеством функциональных возможностей и измеряют производительность своих моделей.
ВпередПоиск
Этот метод позволяет вам найти лучшую функцию с точки зрения производительности модели и добавлять их в подмножество функций по одной.
Метод прямого выбора, когда используется для выбора 3-х лучших функций из 5-ти, функции 3, 2 и 5 являются лучшим подмножеством.
Для данных с n функциями
-> В первом раунде создается «n» моделей с индивидуальной функциональностью и выбирается лучшая прогностическая функциональность.
-> Во втором раунде создается «n-1» моделей с каждой функцией и ранее выбранной функцией.
-> Это повторяется до тех пор, пока не будет выбрано лучшее подмножество признаков «m».
Рекурсивное устранение признаков
Как следует из названия, этот метод устраняет худшие функции в конкретной модели одну за другой, пока не будет известно лучшее подмножество функций.
Для данных с n функциями
-> В первом раунде создаются модели «n-1» с комбинацией всех признаков, кроме одного. Худшая функция удалена
-> Во втором раунде модели «n-2» создаются путем удаления другого признака.
обертка Методы обещает вам лучший набор функций с расширенным жадным поиском.
Но основным недостатком методов-оболочек является количество моделей, которые необходимо обучить. Это очень дорого в вычислительном отношении и непрактично с большим количеством функций.
Встроенные методы
Выбор функций также может быть достигнут с помощью информации, предоставляемой некоторыми моделями машинного обучения.
Линейную регрессию LASSO можно использовать для выбора признаков. Лассо-регрессия выполняется путем добавления дополнительного члена к функции стоимости линейной регрессии. Это, помимо предотвращения переобучения, также сводит к нулю коэффициенты менее важных характеристик.
Модели на основе дерева рассчитывают важность функций, поскольку им необходимо сохранять наиболее эффективные функции как можно ближе к корню дерева. Построить дерево Принятие решения включает в себя расчет наилучшей прогностической характеристики.
Деревья решений сохраняют наиболее важные функции близко к корню. В этом дереве решений мы обнаруживаем, что количество ножек является наиболее важной характеристикой, за которой следует, прячется ли она под кроватью, вкусна ли она и т. д.
Важность признаков в древовидных моделях рассчитывается на основе индекса Джини, энтропии или значения хи-квадрат.