Эта тема обеспечивает введение в алгоритмы выбора признаков и описывает функции выбора признаков, доступные в Statistics and Machine Learning Toolbox™.
Feature selection уменьшает размерность данных путем выбора только подмножества измеренных функций (переменные предикторы), чтобы создать модель. Алгоритмы выбора признаков ищут подмножество предикторов что оптимально измеренные отклики моделей согласно ограничениям такие как требуется или исключенные функции и размер подмножества. Основные преимущества выбора признаков должны улучшать производительность предсказания, обеспечить более быстрые и более экономически эффективные предикторы и обеспечить лучшее понимание процесса генерации данных [1]. Использование слишком многих функций может ухудшить эффективность предсказания, даже когда все функции релевантны и содержат информацию о переменной отклика.
Можно категоризировать алгоритмы выбора признаков в три типа:
Отфильтруйте Выбор признаков Типа — важность функции мер по алгоритму выбора признаков типа фильтра на основе характеристик функций, таких как отклонение функции и покажите отношение к ответу. Вы выбираете важные функции, когда часть предварительной обработки данных продвигается и затем обучает модель, использующую выбранные функции. Поэтому отфильтруйте выбор признаков типа, является некоррелированым к алгоритму настройки.
Выбор признаков Типа обертки — алгоритм выбора признаков типа обертки запускает обучение с помощью подмножества функций и затем добавляет или удаляет функцию с помощью критерия выбора. Критерий выбора непосредственно измеряет изменение в производительности модели, которая следует из добавления или удаления функции. Алгоритм повторяет обучение и улучшение модели, пока ее критерию остановки не удовлетворяют.
Встроенный Выбор признаков Типа — встроенный алгоритм выбора признаков типа изучает важность функции как часть процесса обучения модели. Если вы обучаете модель, вы получаете важность функций в обученной модели. Этот тип алгоритма выбирает функции, которые работают хорошо с конкретным процессом обучения.
Кроме того, можно категоризировать алгоритмы выбора признаков согласно тому, ранжирует ли алгоритм признаки последовательно. Алгоритм минимальной уместности максимума сокращения (MRMR) и ступенчатая регрессия являются двумя примерами последовательного алгоритма выбора признаков. Для получения дополнительной информации смотрите Последовательный Выбор признаков.
Для проблем регрессии можно сравнить важность переменных предикторов визуально путем создания графиков отдельного условного ожидания (ICE) и частичных графиков зависимости (PDP). Для получения дополнительной информации смотрите plotPartialDependence
.
Для проблем классификации, после выбора функций, можно обучить две модели (например, полную модель и модель, обученную с подмножеством предикторов), и сравнить точность моделей при помощи compareHoldout
, testcholdout
, или testckfold
функции.
Выбор признаков предпочтителен, чтобы показать преобразование, когда исходные функции и их модули важны, и цель моделирования состоит в том, чтобы идентифицировать влиятельное подмножество. Когда категориальные функции присутствуют, и числовые преобразования являются несоответствующими, выбор признаков становится основными средствами сокращения размерности.
Statistics and Machine Learning Toolbox предлагает несколько функций для выбора признаков. Выберите соответствующую функцию выбора признаков на основе своей проблемы и типов данных функций.
Функция | Поддерживаемая проблема | Поддерживаемый тип данных | Описание |
---|---|---|---|
fscchi2 | Классификация | Категориальные и непрерывные функции | Исследуйте, независим ли каждый переменный предиктор от переменной отклика при помощи отдельных тестов хи-квадрата, и затем отранжируйте признаки с помощью p - значения тестовой статистики хи-квадрата. Для примеров смотрите страницу ссылки на функцию |
fscmrmr | Классификация | Категориальные и непрерывные функции | Отранжируйте признаки последовательно с помощью Алгоритма Минимальной уместности максимума сокращения (MRMR). Для примеров смотрите страницу ссылки на функцию |
fscnca * | Классификация | Непрерывные функции | Определите веса функции при помощи диагональной адаптации анализа компонента окружения (NCA). Этот алгоритм работает лучше всего на оценку важности функции для основанных на расстоянии контролируемых моделей, которые используют попарные расстояния между наблюдениями, чтобы предсказать ответ. Для получения дополнительной информации смотрите страницу ссылки на функцию
|
fsrftest | Регрессия | Категориальные и непрерывные функции | Исследуйте важность каждого предиктора индивидуально с помощью F - тест, и затем отранжируйте признаки с помощью p - значения F - тестовая статистика. Каждый F - тест тестирует гипотезу, что значения отклика, сгруппированные значениями переменного предиктора, чертятся от популяций с тем же средним значением против альтернативной гипотезы, что средние значения населения не являются всеми одинаковыми. Для примеров смотрите страницу ссылки на функцию |
fsrnca * | Регрессия | Непрерывные функции | Определите веса функции при помощи диагональной адаптации анализа компонента окружения (NCA). Этот алгоритм работает лучше всего на оценку важности функции для основанных на расстоянии контролируемых моделей, которые используют попарные расстояния между наблюдениями, чтобы предсказать ответ. Для получения дополнительной информации смотрите страницу ссылки на функцию
|
fsulaplacian | Безнадзорное изучение | Непрерывные функции | Отранжируйте признаки с помощью Лапласового Счета. Для примеров смотрите страницу ссылки на функцию |
relieff | Классификация и регрессия | Или все категориальные или все непрерывные функции | Отранжируйте признаки с помощью алгоритма ReliefF для классификации и алгоритма RReliefF для регрессии. Этот алгоритм работает лучше всего на оценку важности функции для основанных на расстоянии контролируемых моделей, которые используют попарные расстояния между наблюдениями, чтобы предсказать ответ. Для примеров смотрите страницу ссылки на функцию |
sequentialfs | Классификация и регрессия | Или все категориальные или все непрерывные функции | Выберите функции последовательно с помощью пользовательского критерия. Задайте функцию, которая измеряет характеристики данных, чтобы выбрать функции и передать указатель на функцию |
*Можно также рассмотреть fscnca
и fsrnca
когда встроенный выбор признаков типа функционирует, потому что они возвращают обученный объект модели, и можно использовать объектные функции predict
и loss
. Однако вы обычно используете эти объектные функции, чтобы настроить параметр регуляризации алгоритма. После выбора функций с помощью fscnca
или fsrnca
функционируйте как часть шага предварительной обработки данных, можно применить другую классификацию или алгоритм регрессии для проблемы.
Функция | Поддерживаемая проблема | Поддерживаемый тип данных | Описание |
---|---|---|---|
sequentialfs | Классификация и регрессия | Или все категориальные или все непрерывные функции | Выберите функции последовательно с помощью пользовательского критерия. Задайте функцию, которая реализует алгоритм контролируемого обучения или функцию, которая измеряет уровень алгоритма обучения, и передайте указатель на функцию Для примеров смотрите страницу ссылки на функцию |
Функция | Поддерживаемая проблема | Поддерживаемый тип данных | Описание |
---|---|---|---|
DeltaPredictor свойство ClassificationDiscriminant объект модели | Классификация линейных дискриминантных анализов | Непрерывные функции | Создайте классификатор линейного дискриминантного анализа при помощи Для примеров смотрите эти темы:
|
fitcecoc с templateLinear | Линейная классификация для мультикласса, учащегося с высоко-размерными данными | Непрерывные функции | Обучите линейную модель классификации при помощи Для примера смотрите, Находят Хороший Штраф Лассо Используя Перекрестную проверку. Этот пример определяет хорошую силу штрафа лассо путем оценки моделей с различным использованием значений силы |
fitclinear | Линейная классификация для двоичного файла, учащегося с высоко-размерными данными | Непрерывные функции | Обучите линейную модель классификации при помощи Для примера смотрите, Находят Хороший Штраф Лассо Используя перекрестный Подтвержденный AUC. Этот пример определяет хорошую силу штрафа лассо путем оценки моделей с различными значениями силы с помощью значений AUC. Вычислите перекрестные подтвержденные следующие вероятности класса при помощи |
fitrgp | Регрессия | Категориальные и непрерывные функции | Обучите модель Gaussian process regression (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] Guyon, Изабель и А. Елиссеев. "Введение в переменную и выбор признаков". Журнал Исследования Машинного обучения. Издание 3, 2003, стр 1157–1182.
rankfeatures
(Bioinformatics Toolbox)