Одна из методологий выбора подмножества доступных функций для вашего классификатора состоит в том, чтобы ранжировать их в соответствии с критерием (таким как получение информации), а затем рассчитать точность, используя ваш классификатор и подмножество ранжированных функций.
Например, если у вас есть характеристики A, B, C, D, E
, и если они ранжируются следующим образом D,B,C,E,A
, то вы вычисляете точность, используя D
, D, B
затем D, B, C
, затем D, B, C, E
... пока ваша точность не начнет уменьшаться. Как только он начинает уменьшаться, вы перестаете добавлять функции.
В примере 1 (выше) вы выбираете элементы F, C, D, A
и отбрасываете другие элементы, поскольку они снижают вашу точность.
Эта методология предполагает, что добавление дополнительных функций в вашу модель повышает точность вашего классификатора до определенного момента, после которого добавление дополнительных функций снижает точность (как видно в примере 1).
Однако моя ситуация иная. Я применил методологию, описанную выше, и обнаружил, что добавление дополнительных функций снижает точность вплоть до точки, после которой она увеличивается.
В таком сценарии, как вы выбираете свои функции? Вы только выбираете F
и бросаете все остальное? Есть ли у вас идеи, почему точность будет уменьшаться, а затем увеличиваться?
О конкретном вопросе
Вы не должны ожидать определенного поведения (увеличение, а затем снижение точности), пока вы выбираете подмножество функций, так как это будет полностью зависеть от проблемы (и каждой модели)
Когда вы вычисляете переменную важность функций, вы учитываете вклад всех функций одновременно. После того, как вы выберете подмножество функций и создадите новую модель, вы получите другое представление или моделирование проблемы (которая не учитывает другие функции - информационные или нет).
Теперь вы хотите выбрать лучшее количество функций. Это также зависит от вашей проблемы и характеристик или условий, которые вы должны выполнить. Если вам действительно нужно иметь меньше возможных функций при оптимизации точности прогнозирования, вы можете выбрать наименьшее количество функций, которые достигают наименьшей ошибки ... и, если у вас разные случаи с очень похожими ошибками, затем выберите порог, соблюдайте в верхних случаях, у которых попарная разность ошибок ниже порогового значения, и выберите один (например, вариант с меньшим количеством признаков - поскольку ошибки незначительно одинаковы).
Рассмотреть возможность рекурсивного удаления
Метод, который вы используете, может быть не самым стабильным. Вам следует подумать о том, чтобы попробовать что-то вроде рекурсивного исключения признаков (RFE), метода-оболочки, в котором вы строите классификатор, ранжируете все функции, удаляете худшие и перестраиваете модель на оставшихся объектах. Затем вы повторите метод снова. Это будет иметь тенденцию быть более стабильным ... и вы должны ожидать разные рейтинги каждый раз.
Дисперсия также является критическим фактором
Помимо фактической ошибки (или точности), которую модель дает вам с каждым подмножеством, вы должны рассмотреть возможность построения каждой модели с помощью процедуры перекрестной проверки и учитывать как среднюю ошибку сгибов, так и стандартное отклонение этих ошибок. Если стандартное отклонение велико, то выбранный набор функций нестабилен и будет иметь тенденцию к значительным изменениям при тестировании с невидимыми данными. Это важно для оценки ожидаемых обобщающих возможностей модели и может быть полезно для выбора между моделями (построенными с различными подмножествами).
источник
Вам необходимо удалить как лишние, так и нерелевантные функции из вашего набора данных. Видно, что в вашем наборе данных есть нерелевантные и избыточные функции.
Я рекомендую вам взглянуть на алгоритм выбора функции минимальной избыточности (MRMR). Это очень популярный и мощный фильтр перед тренировкой модели.
«Однако моя ситуация иная. Я применил методологию, описанную выше, и обнаружил, что добавление дополнительных функций снижает точность вплоть до точки, после которой она увеличивается»
Это также возможно, но это приведет к более сложной модели.
источник
Обычно существует три класса алгоритмов выбора признаков.
Методы фильтрации, которые анализируют внутренние свойства данных и присваивают оценку каждому объекту, не затрагивая какую-либо модель. Примерами являются фолд смена, студенческий t-тест.
Методы обертки, различные подмножества функций которых выбираются с помощью определенных алгоритмов. Затем мы вписываемся в классификационную или регрессионную модель, чтобы оценить каждый выбор и выбрать тот, который лучше всего подходит для фитнеса. Некоторыми примерами являются Генетический алгоритм выбора объектов, оптимизация Монте-Карло для выбора объектов, пошаговый выбор вперед / назад.
Встроенные методы, которые позволяют самой модели выбирать функции, имеющие лучший вклад в пригодность модели. Типичными являются ЛАССО, регрессия гребня.
Вот отличная статья в деталях введения в выбор функций .
источник