Освоение выбора функций: советы и рекомендации по выбору лучших функций для ваших данных

Важным этапом машинного обучения является выбор функций. Чтобы повысить эффективность и обобщаемость модели, она включает в себя выбор и создание подмножества функций из набора данных, которые наиболее связаны с целевой переменной.

Существует множество различных методов, которые можно использовать для выбора признаков, и подходящий метод будет зависеть от конкретной проблемы и типа данных, с которыми вы работаете. Некоторые распространенные методы включают в себя:

  1. Методы фильтрации: эти методы оценивают релевантность каждой функции путем расчета статистической оценки и выбора подмножества функций с наивысшей оценкой. Эти методы быстрые и простые, но они не учитывают взаимодействие между функциями или общую прогностическую силу подмножества.
  2. Методы-оболочки: эти методы используют алгоритм обучения для оценки производительности подмножества функций. Выбирается подмножество с наилучшей производительностью. Методы-оболочки более требовательны к вычислительным ресурсам, чем методы фильтров, но они могут обеспечить лучшие результаты, учитывая взаимодействие между функциями.
  3. Встроенные методы: эти методы изучают оптимальное подмножество функций как часть самого алгоритма обучения. Например, регрессия Лассо — это тип линейной регрессии, который включает член регуляризации, который наказывает большие коэффициенты и может эффективно обнулить некоторые из менее важных функций.
  4. Гибридные методы: эти методы сочетают в себе элементы нескольких методов выбора признаков. Например, гибридный метод может использовать метод фильтра для выбора подмножества объектов, а затем использовать метод-оболочку для дальнейшего уточнения выбора.

ПРИМЕЧАНИЕ. Методы фильтрации измеряют релевантность функций по их корреляции с зависимой переменной, в то время как методы-оболочки измеряют полезность подмножества функций путем фактического обучения модели на них.

Важно отметить, что выбор признаков — это компромисс между сложностью модели и предсказательной силой. Добавление дополнительных функций к модели потенциально может улучшить ее производительность, но также может затруднить интерпретацию модели и увеличить риск переобучения (хорошо работает на обучающих данных, но плохо на невидимых данных).

Методы фильтрации

  • Тест хи-квадрат: этот метод вычисляет статистику хи-квадрат для каждой функции, которая измеряет зависимость между функцией и целевой переменной. Функции с высокой статистикой хи-квадрат считаются более важными, поскольку они имеют более сильную связь с целевой переменной.
  • Взаимная информация: этот метод вычисляет общую информацию между функцией и целевой переменной, которая измеряет количество информации, которую функция предоставляет о цели.
  • F-значение ANOVA: этот метод вычисляет F-значение для каждого признака, которое измеряет разницу в среднем значении признака между различными классами целевой переменной. Признаки с высоким F-значением считаются более важными, поскольку они тесно связаны с целью.
  • Прирост информации. Этот метод измеряет количество информации, которую функция предоставляет о цели, на основе энтропии цели до и после того, как стало известно значение функции.

Метод оболочки

  • Выбор вперед. Этот метод начинается с пустого набора функций и итеративно добавляется одна функция за раз в зависимости от ее влияния на производительность модели. Функция, которая приводит к наибольшему улучшению производительности модели, добавляется в набор, и процесс повторяется до тех пор, пока не будет достигнуто дальнейшее улучшение.
  • Последовательный плавающий выбор вперед (SFFS). Этот метод аналогичен выбору вперед, но вместо добавления одного объекта за раз он добавляет группу объектов за раз. Он начинается с пустого набора функций и итеративно добавляет наиболее многообещающую группу функций в зависимости от их влияния на производительность модели.
  • Обратное исключение. Этот метод начинается с набора всех функций и итеративно удаляет одну функцию за раз в зависимости от ее влияния на производительность модели. Функция, которая приводит к наименьшему ухудшению производительности модели, удаляется из набора, и процесс повторяется до тех пор, пока не будет достигнуто дальнейшее улучшение.
  • Последовательный обратный плавающий выбор (SBFS). Этот метод аналогичен обратному исключению, но вместо удаления одного объекта за раз удаляется группа объектов за раз. Он начинается с набора всех функций и итеративно удаляет наименее важную группу функций в зависимости от их влияния на производительность модели.


Встроенный метод

  • Методы L1 и L2: этот метод представляет собой линейную модель, которая включает член регуляризации, уменьшающий коэффициенты признаков до нуля. У члена регуляризации есть параметр настройки, который контролирует силу усадки, а признаки с нулевым или ~нулевым коэффициентом удаляются из модели.


  • Деревья решений. Деревья решений — это тип алгоритма машинного обучения, который создает древовидную модель решений на основе особенностей данных. Алгоритм дерева решений включает в себя компонент выбора признаков, поскольку он определяет, какие признаки наиболее важны для принятия решений в дереве.


  • Регрессия гребня, эластичная сеть, наименьшее абсолютное отклонение (LAD)

Гибридный метод

Гибридный метод включает в себя объединение двух или более из вышеперечисленных методов для поиска оптимального подмножества признаков. Например, гибридный метод может включать использование метода фильтра для предварительного выбора подмножества функций, а затем использование метода-оболочки для точной настройки выбора функций.

  • Обобщение с накоплением
  • Многоцелевая оптимизация

Другой метод выбора функции

  • Выбор признаков на основе корреляции. Этот метод включает выбор подмножества признаков, которые сильно коррелируют с целевой переменной и не коррелируют друг с другом.
  • Группирование объектов. Этот метод включает в себя разделение диапазона непрерывного объекта на интервалы и обработку каждого интервала как отдельного категориального признака.
  • Функция низкой дисперсии. Откажитесь от функции низкой дисперсии, поскольку она не влияет на прогнозирование модели.
  • Функция удаления дубликатов как в числовом отношении, так и в соответствии с интуитивным знанием предметной области.
  • PCA (анализ главных компонентов): это метод уменьшения размерности, который проецирует данные в пространство с меньшим размером, сохраняя при этом как можно большую дисперсию.

Секреты и уловки

  1. Начните с большого набора функций. Обычно рекомендуется начинать с большого набора функций, а затем выбирать наиболее важные функции.
  2. Используйте несколько методов. Различные методы выбора признаков могут давать разные результаты в зависимости от характеристик данных и требований задачи.
  3. Используйте проверочный набор. Важно оценивать производительность модели на проверочном наборе, а не только на обучающем наборе. Это гарантирует, что модель хорошо обобщает невидимые данные.
  4. Используйте знания предметной области. Знание предметной области может быть ценным источником информации для выбора функций.
  5. Учитывайте интерпретируемость функций. В некоторых случаях может быть важно сохранить интерпретируемые функции, даже если они не имеют наивысшей важности в соответствии с методом выбора функций.
  6. Отслеживание выбранных функций. Может быть полезно вести учет выбранных функций на случай, если потребуется вернуться к ним позже.
  7. Избегайте выбора слишком большого количества функций. Как правило, рекомендуется избегать выбора слишком большого количества функций, так как это может привести к тому, что модель будет излишне сложной и склонной к переоснащению.
  8. Используйте инструменты автоматического выбора функций. Существует множество доступных инструментов автоматического выбора функций, таких как «SelectFromModel» и «RFE» от scikit-learn, которые может сделать процесс выбора функций более эффективным.
  9. Учитывайте сложность модели. В зависимости от характеристик данных и требований задачи может потребоваться компромисс между сложностью модели и повышением производительности.

Спасибо, что прочитали это длинное…

Предложения и новые методы приветствуются.