В этом разделе содержится введение в алгоритмы выбора функций и описываются функции выбора функций, доступные в Toolbox™ статистики и машинного обучения.
Выбор элемента уменьшает размерность данных, выбирая только подмножество измеряемых элементов (переменных предиктора) для создания модели. Алгоритмы выбора функций ищут подмножество предикторов, которые оптимально моделируют измеренные ответы, с учетом таких ограничений, как требуемые или исключенные особенности и размер подмножества. Основные преимущества выбора функций заключаются в повышении производительности прогнозирования, обеспечении более быстрых и экономичных предикторов и обеспечении лучшего понимания процесса формирования данных [1]. Использование слишком большого количества функций может ухудшить производительность прогнозирования, даже если все функции являются релевантными и содержат информацию о переменной ответа.
Алгоритмы выбора элементов можно разделить на три типа:
Выбор элемента типа фильтра (Filter Type Feature Selection) - алгоритм выбора элемента типа фильтра измеряет важность элемента на основе характеристик элементов, таких как дисперсия элемента и релевантность элемента для ответа. Вы выбираете важные элементы как часть этапа предварительной обработки данных, а затем обучаете модель, используя выбранные элементы. Поэтому выбор функции типа фильтра не соотносится с алгоритмом обучения.
Выбор элемента типа оболочки - алгоритм выбора элемента типа оболочки начинает обучение с использованием подмножества элементов, а затем добавляет или удаляет элемент с использованием критерия выбора. Критерий выбора непосредственно измеряет изменение производительности модели в результате добавления или удаления элемента. Алгоритм повторяет обучение и совершенствование модели до тех пор, пока не будут выполнены его критерии остановки.
Выбор элемента встроенного типа - алгоритм выбора элемента встроенного типа определяет важность элемента как часть процесса обучения модели. Как только вы тренируете модель, вы получаете важность элементов в обучаемой модели. Этот тип алгоритма выбирает функции, которые хорошо работают с определенным процессом обучения.
Кроме того, можно классифицировать алгоритмы выбора элементов в соответствии с последовательным ранжированием элементов. Алгоритм минимальной максимальной релевантности избыточности (MRMR) и пошаговая регрессия являются двумя примерами алгоритма последовательного выбора признаков. Дополнительные сведения см. в разделе Последовательный выбор элементов.
Можно сравнить важность переменных предиктора визуально, создав графики частичной зависимости (PDP) и графики индивидуального условного ожидания (ICE). Для получения более подробной информации см. plotPartialDependence.
Для проблем классификации после выбора элементов можно обучить две модели (например, полную модель и модель, обученную с подмножеством предикторов) и сравнить точность моделей с помощью compareHoldout, testcholdout, или testckfold функции.
Выбор элемента предпочтительнее преобразования элемента, когда исходные элементы и их единицы измерения важны и целью моделирования является определение влиятельного подмножества. Когда присутствуют категориальные элементы и числовые преобразования неуместны, выбор элемента становится основным средством уменьшения размера.
Набор инструментов для статистики и машинного обучения предлагает несколько функций для выбора элементов. Выберите соответствующую функцию выбора элементов в зависимости от проблемы и типов данных элементов.
| Функция | Поддерживаемая проблема | Поддерживаемый тип данных | Описание |
|---|---|---|---|
fscchi2 | Классификация | Категориальные и непрерывные характеристики | Проверьте, не зависит ли каждая предикторная переменная от ответной переменной, используя отдельные тесты хи-квадрат, а затем ранжируйте признаки, используя p-значения статистики тестов хи-квадрат. Примеры см. на странице справки по функциям. |
fscmrmr | Классификация | Категориальные и непрерывные характеристики | Ранжирование функций последовательно с использованием алгоритма минимальной максимальной релевантности избыточности (MRMR). Примеры см. на странице справки по функциям. |
fscnca* | Классификация | Непрерывные функции | Определите веса элементов с помощью диагональной адаптации анализа компонентов окрестности (NCA). Этот алгоритм лучше всего подходит для оценки важности функций для контролируемых моделей на основе расстояний, которые используют попарные расстояния между наблюдениями для прогнозирования ответа. Для получения дополнительной информации см. справочную страницу функции.
|
fsrftest | Регресс | Категориальные и непрерывные характеристики | Изучите важность каждого предиктора индивидуально, используя F-тест, а затем ранжируйте признаки, используя p-значения статистики F-теста. Каждый F-тест проверяет гипотезу о том, что значения ответа, сгруппированные по значениям переменных предиктора, взяты из популяций с одинаковым средним значением против альтернативной гипотезы о том, что средства популяции не все одинаковы. Примеры см. на странице справки по функциям. |
fsrnca* | Регресс | Непрерывные функции | Определите веса элементов с помощью диагональной адаптации анализа компонентов окрестности (NCA). Этот алгоритм лучше всего подходит для оценки важности функций для контролируемых моделей на основе расстояний, которые используют попарные расстояния между наблюдениями для прогнозирования ответа. Для получения дополнительной информации см. справочную страницу функции.
|
fsulaplacian | Неконтролируемое обучение | Непрерывные функции | Ранжирование элементов с помощью лапласианской оценки. Примеры см. на странице справки по функциям. |
relieff | Классификация и регрессия | Все категориальные или все непрерывные функции | Ранжирование признаков с использованием алгоритма ReliefF для классификации и алгоритма RRelFF для регрессии. Этот алгоритм лучше всего подходит для оценки важности функций для контролируемых моделей на основе расстояний, которые используют попарные расстояния между наблюдениями для прогнозирования ответа. Примеры см. на странице справки по функциям. |
sequentialfs | Классификация и регрессия | Все категориальные или все непрерывные функции | Последовательно выбирайте элементы с использованием пользовательского критерия. Определите функцию, которая измеряет характеристики данных для выбора элементов, и передайте дескриптор функции в |
* Вы также можете рассмотретьfscnca и fsrnca в качестве встроенных функций выбора элементов, поскольку они возвращают обучаемый объект модели и можно использовать функции объекта predict и loss. Однако эти объектные функции обычно используются для настройки параметра регуляризации алгоритма. После выбора элементов с помощью fscnca или fsrnca В рамках этапа предварительной обработки данных можно применить другой алгоритм классификации или регрессии.
| Функция | Поддерживаемая проблема | Поддерживаемый тип данных | Описание |
|---|---|---|---|
sequentialfs | Классификация и регрессия | Все категориальные или все непрерывные функции | Последовательно выбирайте элементы с использованием пользовательского критерия. Определите функцию, которая реализует контролируемый алгоритм обучения или функцию, которая измеряет производительность алгоритма обучения, и передайте дескриптор функции в Примеры см. на странице справки по функциям. |
| Функция | Поддерживаемая проблема | Поддерживаемый тип данных | Описание |
|---|---|---|---|
DeltaPredictor свойство ClassificationDiscriminant объект модели | Классификация линейного дискриминантного анализа | Непрерывные функции | Создание классификатора линейного дискриминантного анализа с помощью Примеры см. в следующих разделах:
|
fitcecoc с templateLinear | Линейная классификация для многоклассного обучения с помощью высокоразмерных данных | Непрерывные функции | Обучение модели линейной классификации с помощью Пример см. в разделе Поиск хорошего штрафа Лассо с помощью перекрестной проверки. Этот пример определяет хорошую силу лассо-штрафа путем оценки моделей с различными значениями прочности с помощью |
fitclinear | Линейная классификация для бинарного обучения с помощью высокомерных данных | Непрерывные функции | Обучение модели линейной классификации с помощью Пример см. в разделе Поиск хорошего штрафа Лассо с использованием перекрестной проверки AUC. Этот пример определяет хорошую силу лассо-штрафа путем оценки моделей с различными значениями силы с использованием значений AUC. Вычислите перекрестно проверенные вероятности заднего класса с помощью |
fitrgp | Регресс | Категориальные и непрерывные характеристики | Обучение модели регрессии гауссова процесса (GPR) с помощью Примеры см. в следующих разделах:
|
fitrlinear | Линейная регрессия с помощью высокомерных данных | Непрерывные функции | Обучение модели линейной регрессии с помощью Примеры см. в следующих разделах:
|
lasso | Линейная регрессия | Непрерывные функции | Обучение модели линейной регрессии с регуляризацией Лассо с помощью Примеры см. на странице справки по функциям.
|
lassoglm | Обобщенная линейная регрессия | Непрерывные функции | Обучить обобщенную модель линейной регрессии с регуляризацией Лассо с помощью Для получения дополнительной информации см. справочную страницу функции.
|
oobPermutedPredictorImportanceиз ClassificationBaggedEnsemble | Классификация с ансамблем фасованных деревьев принятия решений (например, случайный лес) | Категориальные и непрерывные характеристики | Обучение ансамбля классификации в мешках с учащимися дерева с помощью Примеры см. на странице справки по функциям и в разделе |
oobPermutedPredictorImportanceиз RegressionBaggedEnsemble | Регрессия с ансамблем фасованных деревьев принятия решений (например, случайный лес) | Категориальные и непрерывные характеристики | Обучение ансамбля регрессии в мешках с учащимися дерева с помощью Примеры см. на странице справки по функциям. |
predictorImportanceиз ClassificationEnsemble | Классификация с комплексом деревьев решений | Категориальные и непрерывные характеристики | Обучение классификационного ансамбля с учащимися дерева с помощью Примеры см. на странице справки по функциям. |
predictorImportanceиз ClassificationTree | Классификация с деревом решений | Категориальные и непрерывные характеристики | Обучение дерева классификации с помощью Примеры см. на странице справки по функциям. |
predictorImportanceиз RegressionEnsemble | Регрессия с ансамблем деревьев решений | Категориальные и непрерывные характеристики | Обучение ансамбля регрессии с учащимися дерева с помощью Примеры см. на странице справки по функциям. |
predictorImportanceиз RegressionTree | Регрессия с деревом решений | Категориальные и непрерывные характеристики | Обучение дерева регрессии с помощью Примеры см. на странице справки по функциям. |
stepwiseglm*** | Обобщенная линейная регрессия | Категориальные и непрерывные характеристики | Подгонка обобщенной модели линейной регрессии с использованием пошаговой регрессии с помощью Для получения дополнительной информации см. справочную страницу функции.
|
stepwiselm*** | Линейная регрессия | Категориальные и непрерывные характеристики | Подгонка модели линейной регрессии с использованием пошаговой регрессии с помощью Для получения дополнительной информации см. справочную страницу функции.
|
* * Для алгоритма на основе дерева укажите'PredictorSelection' как 'interaction-curvature' чтобы использовать тест взаимодействия для выбора наилучшего расщепленного предиктора. Тест взаимодействия полезен для идентификации важных переменных в присутствии многих неактуальных переменных. Кроме того, если данные обучения включают много предикторов, то укажите 'NumVariablesToSample' как 'all' для обучения. В противном случае программное обеспечение может не выбирать некоторые предикторы, недооценивая их важность. Для получения более подробной информации см. fitctree, fitrtree, и templateTree.
***stepwiseglm и stepwiselm не являются функциями типа оболочки, поскольку их нельзя использовать в качестве оболочки для другой функции обучения. Однако эти две функции используют алгоритм типа оболочки для поиска важных функций.
[1] Гайон, Изабель и А. Элиссееефф. «Введение в выбор переменных и компонентов». Журнал исследований машинного обучения. Т. 3, 2003, с. 1157-1182.
rankfeatures(Панель инструментов биоинформатики)