Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Что такое шаговая регрессия? Можно ли её использовать для классификации, в каком методе?

ПрограммированиеМашинное обучение+3
  · 1,3 K
Openstack DevOps and IBM/Informix Certified DBA . Phd in Math (Duality of spaces of...  · 8 авг 2022
Некоторые разработчики используют пошаговую регрессию, чтобы сократить список правдоподобных объясняющих переменных до небольшого набора «наиболее полезных» переменных. Другие мало или совсем не обращают внимания на правдоподобие. Они позволяют пошаговой процедуре выбирать за них переменные.
===========================
Пошаговая логистическая регрессия состоит из автоматического выбора уменьшенного числа переменных-предикторов для построения наиболее эффективной модели логистической регрессии.
==========================
Когда дело доходит до дисциплинированных подходов к выбору функций, методы-оболочки — это те, которые объединяют процесс выбора функций с типом создаваемой модели, оценивая подмножества функций, чтобы определить производительность модели между функциями, а затем выбирают наиболее эффективное подмножество. Другими словами, вместо того, чтобы существовать как независимый процесс, происходящий до построения модели, методы-оболочки пытаются оптимизировать процесс выбора признаков для данного алгоритма машинного обучения в тандеме с этим алгоритмом. Два известных метода обертки для выбора функций — это выбор функций с шагом вперед и выбор функций с шагом назад.
==========================
Выбор функции шага вперед начинается с оценки каждой отдельной функции и выбирает ту, которая приводит к наилучшей эффективности выбранной модели алгоритма. Что такое «лучшее»? Это полностью зависит от определенных критериев оценки (AUC, точность прогнозирования, RMSE и т. д.). Затем оцениваются все возможные комбинации этой выбранной функции и последующей функции, выбирается вторая функция и так далее, пока не будет выбрано требуемое предопределенное количество функций.
Выбор признаков с шагом назад тесно связан начинается со всего набора признаков и работает в обратном направлении, удаляя признаки, чтобы найти оптимальное подмножество предопределенного размера.
Оба они потенциально очень затратны в вычислительном отношении. У вас есть большой многомерный набор данных? Эти методы могут занять слишком много времени, чтобы быть вообще полезными, или могут быть полностью неосуществимы. Тем не менее, с набором данных подходящего размера и размерности такой подход вполне может быть вашим лучшим подходом.
Чтобы увидеть, как они работают, давайте посмотрим, в частности, на выбор функции шаг вперед. Обратите внимание, что, как уже говорилось, алгоритм машинного обучения должен быть определен до начала нашего процесса выбора симбиотических функций.
Имейте в виду, что оптимизированный набор выбранных функций с использованием заданного алгоритма может или не может одинаково хорошо работать с другим алгоритмом. Например, если мы выбираем функции с помощью логистической регрессии, нет гарантии, что эти же функции будут работать оптимально, если мы затем опробуем их с помощью K-ближайших соседей или SVM.
============================
Мы будем использовать классификатор случайного леса для выбора признаков и построения модели (которые, опять же, тесно связаны в случае пошагового выбора признаков). Нам нужны данные для демонстрации, поэтому давайте воспользуемся набором данных о качестве вина. В частности, использован нетронутый файл winequality-white.csv в качестве входных данных в приведенном ниже коде.
Произвольно мы установим желаемое количество признаков равным 5 (в наборе данных их 12). Что мы можем сделать, так это сравнить баллы оценки для каждой итерации процесса выбора функций, и поэтому имейте в виду, что если мы обнаружим, что меньшее количество функций имеет лучший балл, мы можем альтернативно выбрать это подмножество с наилучшей производительностью для запуска. с нашей «живой» моделью продвижения вперед. Также имейте в виду, что установка слишком малого желаемого количества функций может привести к неоптимальному количеству и комбинации функций (скажем, если какая-то комбинация из 11 функций в нашем случае лучше, чем наилучшая комбинация <= 10 особенности, которые мы обнаруживаем в процессе отбора). Поскольку нас больше интересует демонстрация того, как реализовать выбор признаков с шагом вперед, чем фактические результаты для этого конкретного набора данных, мы не будем слишком беспокоиться о фактической производительности наших моделей, но мы все равно сравним производительность. чтобы показать, как это будет сделано в реальном проекте.