exponenta event banner

Введение в выбор элементов

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

Алгоритмы выбора элементов

Выбор элемента уменьшает размерность данных, выбирая только подмножество измеряемых элементов (переменных предиктора) для создания модели. Алгоритмы выбора функций ищут подмножество предикторов, которые оптимально моделируют измеренные ответы, с учетом таких ограничений, как требуемые или исключенные особенности и размер подмножества. Основные преимущества выбора функций заключаются в повышении производительности прогнозирования, обеспечении более быстрых и экономичных предикторов и обеспечении лучшего понимания процесса формирования данных [1]. Использование слишком большого количества функций может ухудшить производительность прогнозирования, даже если все функции являются релевантными и содержат информацию о переменной ответа.

Алгоритмы выбора элементов можно разделить на три типа:

  • Выбор элемента типа фильтра (Filter Type Feature Selection) - алгоритм выбора элемента типа фильтра измеряет важность элемента на основе характеристик элементов, таких как дисперсия элемента и релевантность элемента для ответа. Вы выбираете важные элементы как часть этапа предварительной обработки данных, а затем обучаете модель, используя выбранные элементы. Поэтому выбор функции типа фильтра не соотносится с алгоритмом обучения.

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

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

Кроме того, можно классифицировать алгоритмы выбора элементов в соответствии с последовательным ранжированием элементов. Алгоритм минимальной максимальной релевантности избыточности (MRMR) и пошаговая регрессия являются двумя примерами алгоритма последовательного выбора признаков. Дополнительные сведения см. в разделе Последовательный выбор элементов.

Можно сравнить важность переменных предиктора визуально, создав графики частичной зависимости (PDP) и графики индивидуального условного ожидания (ICE). Для получения более подробной информации см. plotPartialDependence.

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

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

Функции выбора элементов

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

Выбор элемента типа фильтра

ФункцияПоддерживаемая проблемаПоддерживаемый тип данныхОписание
fscchi2КлассификацияКатегориальные и непрерывные характеристики

Проверьте, не зависит ли каждая предикторная переменная от ответной переменной, используя отдельные тесты хи-квадрат, а затем ранжируйте признаки, используя p-значения статистики тестов хи-квадрат.

Примеры см. на странице справки по функциям. fscchi2.

fscmrmrКлассификацияКатегориальные и непрерывные характеристики

Ранжирование функций последовательно с использованием алгоритма минимальной максимальной релевантности избыточности (MRMR).

Примеры см. на странице справки по функциям. fscmrmr.

fscnca*КлассификацияНепрерывные функции

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

Для получения дополнительной информации см. справочную страницу функции. fscnca и эти темы:

fsrftestРегрессКатегориальные и непрерывные характеристики

Изучите важность каждого предиктора индивидуально, используя F-тест, а затем ранжируйте признаки, используя p-значения статистики F-теста. Каждый F-тест проверяет гипотезу о том, что значения ответа, сгруппированные по значениям переменных предиктора, взяты из популяций с одинаковым средним значением против альтернативной гипотезы о том, что средства популяции не все одинаковы.

Примеры см. на странице справки по функциям. fsrftest.

fsrnca*РегрессНепрерывные функции

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

Для получения дополнительной информации см. справочную страницу функции. fsrnca и эти темы:

fsulaplacianНеконтролируемое обучениеНепрерывные функции

Ранжирование элементов с помощью лапласианской оценки.

Примеры см. на странице справки по функциям. fsulaplacian.

relieffКлассификация и регрессияВсе категориальные или все непрерывные функции

Ранжирование признаков с использованием алгоритма ReliefF для классификации и алгоритма RRelFF для регрессии. Этот алгоритм лучше всего подходит для оценки важности функций для контролируемых моделей на основе расстояний, которые используют попарные расстояния между наблюдениями для прогнозирования ответа.

Примеры см. на странице справки по функциям. relieff.

sequentialfsКлассификация и регрессияВсе категориальные или все непрерывные функции

Последовательно выбирайте элементы с использованием пользовательского критерия. Определите функцию, которая измеряет характеристики данных для выбора элементов, и передайте дескриптор функции в sequentialfs функция. Можно указать последовательный прямой выбор или последовательный обратный выбор с помощью 'Direction' аргумент пары имя-значение. sequentialfs оценивает критерий с помощью перекрестной проверки.

* Вы также можете рассмотретьfscnca и fsrnca в качестве встроенных функций выбора элементов, поскольку они возвращают обучаемый объект модели и можно использовать функции объекта predict и loss. Однако эти объектные функции обычно используются для настройки параметра регуляризации алгоритма. После выбора элементов с помощью fscnca или fsrnca В рамках этапа предварительной обработки данных можно применить другой алгоритм классификации или регрессии.

Выбор элемента типа обертки

ФункцияПоддерживаемая проблемаПоддерживаемый тип данныхОписание
sequentialfsКлассификация и регрессияВсе категориальные или все непрерывные функции

Последовательно выбирайте элементы с использованием пользовательского критерия. Определите функцию, которая реализует контролируемый алгоритм обучения или функцию, которая измеряет производительность алгоритма обучения, и передайте дескриптор функции в sequentialfs функция. Можно указать последовательный прямой выбор или последовательный обратный выбор с помощью 'Direction' аргумент пары имя-значение. sequentialfs оценивает критерий с помощью перекрестной проверки.

Примеры см. на странице справки по функциям. sequentialfs и эти темы:

Выбор элемента встроенного типа

ФункцияПоддерживаемая проблемаПоддерживаемый тип данныхОписание
DeltaPredictor свойство ClassificationDiscriminant объект моделиКлассификация линейного дискриминантного анализаНепрерывные функции

Создание классификатора линейного дискриминантного анализа с помощью fitcdiscr. Обученный классификатор, возвращенный как ClassificationDiscriminant, сохраняет величину коэффициента в DeltaPredictor собственность. Можно использовать значения в DeltaPredictor в качестве показателей важности предиктора. Этот классификатор использует два параметра регуляризации Гамма и Дельта для идентификации и удаления избыточных предикторов. Можно получить соответствующие значения для этих параметров с помощью cvshrink функции или 'OptimizeHyperparameters' аргумент пары имя-значение.

Примеры см. в следующих разделах:

fitcecoc с templateLinearЛинейная классификация для многоклассного обучения с помощью высокоразмерных данныхНепрерывные функции

Обучение модели линейной классификации с помощью fitcecoc и линейные двоичные ученики, определенные templateLinear. Определить 'Regularization' из templatelinear как 'lasso' использовать регуляризацию лассо.

Пример см. в разделе Поиск хорошего штрафа Лассо с помощью перекрестной проверки. Этот пример определяет хорошую силу лассо-штрафа путем оценки моделей с различными значениями прочности с помощью kfoldLoss. Можно также вычислять модели с помощью kfoldEdge, kfoldMargin, edge, loss, или margin.

fitclinearЛинейная классификация для бинарного обучения с помощью высокомерных данныхНепрерывные функции

Обучение модели линейной классификации с помощью fitclinear. Определить 'Regularization' из fitclinear как 'lasso' использовать регуляризацию лассо.

Пример см. в разделе Поиск хорошего штрафа Лассо с использованием перекрестной проверки AUC. Этот пример определяет хорошую силу лассо-штрафа путем оценки моделей с различными значениями силы с использованием значений AUC. Вычислите перекрестно проверенные вероятности заднего класса с помощью kfoldPredictи вычислить значения AUC с помощью perfcurve. Можно также вычислять модели с помощью kfoldEdge, kfoldLoss, kfoldMargin, edge, loss, margin, или predict.

fitrgpРегрессКатегориальные и непрерывные характеристики

Обучение модели регрессии гауссова процесса (GPR) с помощью fitrgp. Установите 'KernelFunction' аргумент пары имя-значение для использования автоматического определения релевантности (ARD). Доступны следующие параметры: 'ardsquaredexponential', 'ardexponential', 'ardmatern32', 'ardmatern52', и 'ardrationalquadratic'. Найдите веса предиктора, взяв экспоненту отрицательных усвоенных шкал длины, сохраненных в KernelInformation собственность.

Примеры см. в следующих разделах:

fitrlinearЛинейная регрессия с помощью высокомерных данныхНепрерывные функции

Обучение модели линейной регрессии с помощью fitrlinear. Определить 'Regularization' из fitrlinear как 'lasso' использовать регуляризацию лассо.

Примеры см. в следующих разделах:

lassoЛинейная регрессияНепрерывные функции

Обучение модели линейной регрессии с регуляризацией Лассо с помощью lasso. Вы можете указать вес лассо по сравнению с оптимизацией гребня, используя 'Alpha' аргумент пары имя-значение.

Примеры см. на странице справки по функциям. lasso и эти темы:

lassoglmОбобщенная линейная регрессияНепрерывные функции

Обучить обобщенную модель линейной регрессии с регуляризацией Лассо с помощью lassoglm. Вы можете указать вес лассо по сравнению с оптимизацией гребня, используя 'Alpha' аргумент пары имя-значение.

Для получения дополнительной информации см. справочную страницу функции. lassoglm и эти темы:

oobPermutedPredictorImportanceиз ClassificationBaggedEnsembleКлассификация с ансамблем фасованных деревьев принятия решений (например, случайный лес)Категориальные и непрерывные характеристики

Обучение ансамбля классификации в мешках с учащимися дерева с помощью fitcensemble и определение 'Method' как 'bag'. Затем используйте oobPermutedPredictorImportance для вычисления оценки важности предиктора по перестановке. Функция измеряет, насколько влиятельны переменные предиктора в модели при прогнозировании ответа.

Примеры см. на странице справки по функциям и в разделе oobPermutedPredictorImportance.

oobPermutedPredictorImportanceиз RegressionBaggedEnsembleРегрессия с ансамблем фасованных деревьев принятия решений (например, случайный лес)Категориальные и непрерывные характеристики

Обучение ансамбля регрессии в мешках с учащимися дерева с помощью fitrensemble и определение 'Method' как 'bag'. Затем используйте oobPermutedPredictorImportance для вычисления оценки важности предиктора по перестановке. Функция измеряет, насколько влиятельны переменные предиктора в модели при прогнозировании ответа.

Примеры см. на странице справки по функциям. oobPermutedPredictorImportance и Выберите предикторы для случайных лесов.

predictorImportanceиз ClassificationEnsembleКлассификация с комплексом деревьев решенийКатегориальные и непрерывные характеристики

Обучение классификационного ансамбля с учащимися дерева с помощью fitcensemble. Затем используйте predictorImportance вычислять оценки важности предиктора для ансамбля путем суммирования изменений риска из-за расщеплений на каждом предикторе и деления суммы на количество узлов ветвления.

Примеры см. на странице справки по функциям. predictorImportance.

predictorImportanceиз ClassificationTreeКлассификация с деревом решенийКатегориальные и непрерывные характеристики

Обучение дерева классификации с помощью fitctree. Затем используйте predictorImportance вычислять оценки важности предиктора для дерева путем суммирования изменений риска из-за расщеплений на каждом предикторе и деления суммы на количество узлов ветвления.

Примеры см. на странице справки по функциям. predictorImportance.

predictorImportanceиз RegressionEnsembleРегрессия с ансамблем деревьев решенийКатегориальные и непрерывные характеристики

Обучение ансамбля регрессии с учащимися дерева с помощью fitrensemble. Затем используйте predictorImportance вычислять оценки важности предиктора для ансамбля путем суммирования изменений риска из-за расщеплений на каждом предикторе и деления суммы на количество узлов ветвления.

Примеры см. на странице справки по функциям. predictorImportance.

predictorImportanceиз RegressionTreeРегрессия с деревом решенийКатегориальные и непрерывные характеристики

Обучение дерева регрессии с помощью fitrtree. Затем используйте predictorImportance вычислять оценки важности предиктора для дерева путем суммирования изменений в среднеквадратической ошибке (MSE) из-за разбиений на каждом предикторе и деления суммы на число узлов ветви.

Примеры см. на странице справки по функциям. predictorImportance.

stepwiseglm***Обобщенная линейная регрессияКатегориальные и непрерывные характеристики

Подгонка обобщенной модели линейной регрессии с использованием пошаговой регрессии с помощью stepwiseglm. Можно также подогнать модель линейной регрессии с помощью fitglm а затем скорректировать модель с помощью step. Ступенчатая регрессия - это систематический метод добавления и удаления терминов из модели на основе их статистической значимости при объяснении переменной ответа.

Для получения дополнительной информации см. справочную страницу функции. stepwiseglm и эти темы:

stepwiselm***Линейная регрессияКатегориальные и непрерывные характеристики

Подгонка модели линейной регрессии с использованием пошаговой регрессии с помощью stepwiselm. Можно также подогнать модель линейной регрессии с помощью fitlm а затем скорректировать модель с помощью step. Ступенчатая регрессия - это систематический метод добавления и удаления терминов из модели на основе их статистической значимости при объяснении переменной ответа.

Для получения дополнительной информации см. справочную страницу функции. stepwiselm и эти темы:

* * Для алгоритма на основе дерева укажите'PredictorSelection' как 'interaction-curvature' чтобы использовать тест взаимодействия для выбора наилучшего расщепленного предиктора. Тест взаимодействия полезен для идентификации важных переменных в присутствии многих неактуальных переменных. Кроме того, если данные обучения включают много предикторов, то укажите 'NumVariablesToSample' как 'all' для обучения. В противном случае программное обеспечение может не выбирать некоторые предикторы, недооценивая их важность. Для получения более подробной информации см. fitctree, fitrtree, и templateTree.

***stepwiseglm и stepwiselm не являются функциями типа оболочки, поскольку их нельзя использовать в качестве оболочки для другой функции обучения. Однако эти две функции используют алгоритм типа оболочки для поиска важных функций.

Ссылки

[1] Гайон, Изабель и А. Элиссееефф. «Введение в выбор переменных и компонентов». Журнал исследований машинного обучения. Т. 3, 2003, с. 1157-1182.

См. также

(Панель инструментов биоинформатики)

Связанные темы