Объединение предсказателей с использованием Stacking

Machine LearningMachine LearningBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии мы будем использовать метод Stacking для комбинирования нескольких оценщиков для получения предсказаний. В этой стратегии некоторые оценщики отдельно настраиваются на части обучающих данных, а конечный оценщик обучается с использованием накопленных предсказаний этих базовых оценщиков. Мы будем использовать набор данных по недвижимости в Амесе для предсказания конечной логарифмической цены домов. Мы будем использовать 3 модели обучения, линейные и нелинейные, и использовать регрессию с риджем для комбинирования их выходных данных. Мы также сравним производительность каждого отдельного прогнозирующего алгоритма, а также производительность комбинации регрессоров.

Советы по использованию ВМ

После запуска ВМ перейдите в левый верхний угол и переключитесь на вкладку Notebook, чтобы приступить к практике в Jupyter Notebook.

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Проверка операций не может быть автоматизирована из-за ограничений в Jupyter Notebook.

Если вы столкнетесь с проблемами при обучении, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills ml/sklearn -.-> lab-49302{{"Объединение предсказателей с использованием Stacking"}} end

Загрузка набора данных

Мы будем использовать набор данных по недвижимости в Амесе, который был впервые собран Деаном Де Кок и стал более известным после использования в соревновании на Kaggle. Это набор из 1460 жилых домов в Амесе, Айова, каждый из которых описывается 80 характеристиками. Мы будем использовать его для предсказания конечной логарифмической цены домов. В этом примере мы будем использовать только 20 самых интересных характеристик, выбранных с использованием GradientBoostingRegressor(), и ограничить количество записей.

Создание конвейера для предобработки данных

Прежде чем мы сможем использовать набор данных по Амесу, нам по-прежнему нужно выполнить некоторую предобработку. Во - первых, мы выберем категориальные и числовые столбцы набора данных, чтобы построить первый этап конвейера. Затем нам нужно разработать конвейеры предобработки, которые зависят от конечного регрессора. Если конечный регрессор - это линейная модель, нужно выполнить one - hot кодирование категорий. Если конечный регрессор - это модель на основе деревьев, достаточно будет использовать порядковый кодировщик. Кроме того, числовые значения нужно стандартизировать для линейной модели, в то время как исходные числовые данные могут быть обработаны в исходном виде моделью на основе деревьев. Однако обе модели нуждаются в заполнителе для обработки пропущенных значений.

Стекирование предсказателей на одном наборе данных

Теперь мы можем использовать набор данных по недвижимости в Амесе для получения предсказаний. Мы проверяем производительность каждого отдельного предсказателя, а также производительность стека регрессоров. Мы комбинируем 3 модели обучения (линейные и нелинейные) и используем регрессию с риджем для комбинирования их выходных данных. Стекированный регрессор будет комбинировать сильные стороны различных регрессоров. Однако мы также видим, что обучение стекированного регрессора требует гораздо больших вычислительных ресурсов.

Измерение и построение графиков результатов

Мы будем измерять и строить графики результатов стекированного регрессора по сравнению с отдельными предсказателями.

Резюме

В этом практическом занятии мы изучили метод Stacking для комбинирования нескольких оценщиков для получения предсказаний. Мы использовали набор данных по недвижимости в Амесе для предсказания конечной логарифмической цены домов. Мы также узнали, как проектировать конвейеры предобработки, которые зависят от конечного регрессора, и как измерять производительность каждого отдельного предсказателя, а также производительность стека регрессоров.