Стекинг - это способ объединить множественную классификацию или регрессионную модель. Есть много способов ансамбля моделей. Среди наиболее широко известных - это мешковина или бустинг. Пакетирование позволяет усреднить несколько похожих моделей с высокой дисперсией для уменьшения дисперсии. Boosting строит несколько инкрементных моделей для уменьшения смещения, сохраняя при этом малую дисперсию.

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

Смысл объединения состоит в том, чтобы исследовать пространство разных моделей для одной и той же проблемы. Идея состоит в том, что вы можете атаковать проблему обучения с помощью различных типов моделей, которые способны изучить некоторую часть проблемы, но не всю область проблемы. Таким образом, вы можете создать несколько разных обучаемых и использовать их для построения промежуточного прогноза, по одному прогнозу для каждой изученной модели. Затем вы добавляете новую модель, которая учится на промежуточных прогнозах той же цели. Эта последняя модель, как говорят, складывается поверх других, отсюда и название. Таким образом, вы можете улучшить свою общую производительность, и часто вы получаете модель, которая лучше любой отдельной промежуточной модели. Однако обратите внимание, что это не дает вам никаких гарантий, как это часто бывает с любым методом машинного обучения.

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

Постановка проблемы: можете ли вы сократить время, которое Mercedes-Benz проводит на испытательном стенде?

Источник данных: https://www.kaggle.com/c/mercedes-benz-greener-manufacturing/data

  1. Начиная с первого автомобиля, Benz Patent Motor Car в 1886 году, Mercedes-Benz олицетворяет важные автомобильные инновации. К ним относятся, например, ячейка безопасности пассажира с зоной деформации, подушка безопасности и интеллектуальные вспомогательные системы. Mercedes-Benz подает заявки на получение почти 2000 патентов в год, что делает бренд европейским лидером среди производителей автомобилей премиум-класса. Автомобили Mercedes-Benz, выпускаемые Daimler, являются лидерами в автомобильной промышленности премиум-класса. Благодаря огромному выбору функций и опций клиенты могут выбрать индивидуализированный Mercedes-Benz своей мечты.
  2. Чтобы гарантировать безопасность и надежность каждой уникальной конфигурации автомобиля, прежде чем он отправится в путь, инженеры Daimler разработали надежную систему испытаний. Но оптимизация скорости их системы тестирования для такого количества возможных комбинаций функций является сложной и трудоемкой задачей без мощного алгоритмического подхода. Как один из крупнейших мировых производителей автомобилей премиум-класса, на производственных линиях Daimler первостепенное значение имеют безопасность и эффективность.
  3. В этом соревновании задача состоит в том, чтобы сократить время, которое автомобили проводят на испытательном стенде, что, как следствие, снизит выбросы углекислого газа, связанные с процедурой испытания. Все необходимые данные для конкурса Экологичное производство были предоставлены Mercedes-Benz. Набор данных был собран в результате тысяч тестов на безопасность и надежность, проведенных на различных автомобилях Mercedes.
  4. Метрикой оценки соревнования является показатель R², известный как коэффициент детерминации.

Описание данных:

  1. Этот набор данных содержит набор переменных, каждая из которых представляет собой особенность автомобиля Mercedes. Например, переменной может быть 4WD, добавленная пневмоподвеска или проекционный дисплей.
  2. Абсолютная истина помечена как «y» и представляет время (в секундах), которое потребовалось автомобилю, чтобы пройти тестирование по каждой переменной.
  3. Описания файлов: Переменные с буквами относятся к категории. Переменные с 0/1 являются двоичными значениями.
  4. train.csv - обучающий набор
  5. test.csv - набор тестов, вы должны предсказать переменную «y» для идентификаторов в этом файле.
  6. sample_submission.csv - образец файла отправки в правильном формате

Анализ данных

Особенности данных:

  1. ID: идентификатор столбца данных.
  2. y: целевая переменная.
  3. X0-X385: столбцы данных.

Целевая переменная (y):

«Y» - это переменная, которую нам нужно предсказать. Итак, давайте проведем анализ этой переменной.

Наблюдения целевой переменной y:

  1. Мы можем заметить, что большинство значений находится в диапазоне 90–120. Таким образом, среднее время производства составляет 90–120 лет.
  2. Итак, у нас есть довольно стандартный дистрибутив, в котором почти ровно 100.
  3. Тот факт, что идентификатор не совпадает с идентификатором строки, предполагает, что обучающие и тестовые наборы выбираются случайным образом.

Переменные / Анализ характеристик:

Большинство столбцов представляют собой целые числа с 8 категориальными характеристиками и 1 функцией с плавающей запятой (целевая переменная).

Constant features: 12 
Binary features: 356 
Categorical features: 8

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

Предварительная обработка данных

Создание компонентов с использованием различных методов уменьшения размерности:

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

Модель регрессии XGboost

Полученные результаты:

  1. После 700 num_boost_round:

поезд-rmse: 6.22381

test-rmse: 8.08397

2. У нас есть довольно приличные значения параметра ошибки обучения и тестирования (RMSE).

3. Модель работает хорошо и не переоснащается.

4. r2_score = 0,533

Наблюдения:

  1. Категориальные особенности X0 и X5 очень важны при прогнозировании нашей модели XGBoost.
  2. Функции, созданные TSVD, PCA и ICA, также эффективно участвуют в прогнозировании.
  3. Мы также можем отбросить менее важные функции, чтобы увеличить эффективность модели / время для прогнозирования целевой переменной.

Модель глубокого обучения MLP

Полученные результаты:

  1. Данные обучения:

mean_squared_error потеря: 92.732

r2 метрика: 0,3655

2. Данные проверки:

mean_squared_error потеря: 57.118

метрика r2: 0,57795

Наблюдения:

  1. Мы легко видим, что модель блестяще предсказывает целевую переменную.
  2. Графики метрики потерь и R2 сходятся через несколько эпох.
  3. Нет переоборудования.

Модель с накоплением регрессии

Полученные результаты:

  1. После 1000 num_boost_round: 1. train-rmse: 6.28061 2. test-rmse: 8.58585
  2. У нас есть довольно приличные значения параметра ошибки обучения и тестирования (RMSE).
  3. Модель работает хорошо и не переоснащается.
  4. Оценка R2: 0,6805083932610694

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

Выводы:

1. Мы взяли данные Mercedes-Benz Greener Manufacturing и применили к ним различные модели ML и DL.

2. Модель стекирования дает наилучшую производительность для набора данных.

3. Причина, по которой модели стекирования так популярны среди конкурентов в области Data Science, очевидна.

Репозиторий Github

использованная литература

  1. Https://www.appliedaicourse.com
  2. Источник данных: https://www.kaggle.com/c/mercedes-benz-greener-manufacturing/data