Предложения по методам выбора функций?

Цитата

Я студент и новичок в машинном обучении. Я хочу сделать выбор столбцов feature
. Мой набор данных 50000 X 370, и это проблема бинарной классификации. Сначала я удалил столбцы со std.deviation = 0, затем удалил повторяющиеся столбцы. После этого я проверил 20 лучших функций с самой высокой площадью кривой ROC. Каким должен быть следующий шаг после проведения PCA? Может ли кто-нибудь дать последовательность шагов для выбора функции?


person Prashant Sharma    schedule 14.04.2016    source источник


Ответы (3)


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

Или вы хотите избежать PCA? Если корреляция между вашими функциями не слишком сильна, это может быть нормально. Затем пропустите PCA и просто нормализуйте значения.

person Frank Puffer    schedule 14.04.2016
comment
Хорошо, я получил это для первой части. Можете ли вы прокомментировать вторую часть проблемы. - person Prashant Sharma; 14.04.2016
comment
Фиксированной последовательности шагов нет. Все шаги предварительной обработки, которые вы упомянули, имеют смысл в большинстве случаев. Другие упомянули дополнительные шаги, такие как регуляризация L1 или случайный лес, которые также имеют определенные преимущества. Но мой главный совет: не переусердствуйте. Оставьте некоторую работу для вашего алгоритма обучения. - person Frank Puffer; 14.04.2016

Попробуйте регуляризацию L1. Это стандартный способ удаления менее важных функций.

http://www.andrewng.org/portfolio/feature-selection-l1-vs-l2-regularization-and-rotational-invariance/

person Kun Wu    schedule 14.04.2016

Вы можете попробовать следующие методы/алгоритмы:

  1. Регуляризация L1: создаст разреженную матрицу признаков; вес большинства функций будет равен нулю. Но этот метод полезен, если у вас есть многомерный набор данных, что кажется верным в вашем случае. Существуют алгоритмы, которые не поддерживают регуляризацию.

  2. Последовательный выбор признаков. Может быть полезен для алгоритмов, не поддерживающих регуляризацию. Такие алгоритмы автоматически выбирают подмножество функций, которые более важны для решения проблемы. Подробнее об этом можно узнать здесь: (1) Сравнительное изучение методов для выбора крупномасштабных объектов, Ф. Ферри, П. Пудил, М. Хатеф и Дж. Киттлер. Сравнительное исследование методов крупномасштабного отбора признаков. Распознавание образов на практике IV, стр. 403–413, 1994. (2) Выбор признаков в scikit- учиться.

  3. Уменьшение размерности: PCA (анализ главных компонентов) и LDA (линейный дискриминантный анализ) будут хорошо работать, если ваша задача является линейной, т. е. ваши данные линейно разделимы. Если данные не являются линейно разделимыми, вы можете попробовать компонентный анализ ядра.

  4. Важность признаков со случайным лесом. Это метод ансамбля, который даст вам важность признаков (числовые значения). Вы можете отбросить функции с низкой важностью.

person Ranjan Kumar    schedule 14.04.2016
comment
Я знаю, что Random forest работает на получение информации. Итак, если я выберу только первые 20 переменных, чей прирост информации максимален. Тогда могу ли я сказать, что мне не нужно делать PCA, регуляризацию и другие методы, поскольку у меня есть 20 лучших функций? Я прав, говоря это? - person Prashant Sharma; 14.04.2016
comment
Если вы очень конкретно подходите к выбору 20 лучших функций, то ответ — да. - person Ranjan Kumar; 15.04.2016