Если вы не поняли, о чем эта статья, по названию, извините меня, потому что мне, вероятно, нужен более краткий набор предложений и новый словарь.

В этой статье будет рассмотрен один из наиболее важных методов обучения ансамблю, известный как агрегация Bootstrap, также известная как бэггинг.

Имейте в виду, что это не сказка о Фродо Бэггинсе.

Видите, есть большая разница, но я буду здесь вашим Сэмом, чтобы объяснить ее вам.

В ансамблевом обучении есть два основных метода: один - бэггинг, а другой - вставка.



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

Что такое техника упаковки?

Ансамблевая техника – это

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

Когда мы выбираем набор данных, если мы предоставляем замену обучающих данных, мы называем это пакетированием, а отсутствие замены называется вставкой.

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

Примеры

Представьте, что у вас есть набор данных о лунах, теперь мы возьмем 3 предиктора, например, логистическую регрессию, SVM и деревья решений, и запустим 10 000 выборок набора данных о лунах. Затем, когда мы используем все обучающие данные для получения одного агрегированного результата, это называется ансамблевым обучением (1).

Когда мы создаем 500 подмножеств из 10 000 выборок и случайным образом выбираем подмножества для обучения предикторов снова и снова, тогда агрегирование результата называется бэггингом.

Получил это до сих пор, отлично оставайтесь со мной сейчас.

Есть два способа получить результаты агрегации -

  1. Мягкое голосование
  2. Жесткое голосование

Принципиальное различие между ними — если используемые предикторы имеют класс predict_proba() или если предикторы, которые будут агрегироваться для получения результата, используют вероятность каждого класса для агрегирования результата, тогда это мягкое голосование, в противном случае жесткое голосование.

На мой взгляд, мягкое голосование лучше, т. е. использование predict_proba() лучше по сравнению с жестким голосованием.

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

bag_clf = BaggingClassifier(
    DecisionTreeClassifier(random_state=42), n_estimators=500,
    max_samples=100, bootstrap=True, random_state=42)
bag_clf.fit(X_train, y_train)
y_pred = bag_clf.predict(X_test)

Здесь мы используем 500 деревьев решений с подмножеством из 100 образцов в каждом подмножестве.

Bootstrap = True означает создание пакетов, а = False означает вставку.

Оценка точности

0.904

Что не очень хорошо, но если бы мы не использовали эту технику бэггинга и не использовали бы деревья решений только для прогнозов, наша оценка точности была бы

0.856

так что определенно мешки помогают.

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

В книге Аурелиона Герона есть отличная диаграмма, которая объясняет разницу между использованием бэггинга и его неиспользованием.

На рисунке слева показаны прогнозы деревьев решений и прогнозы Бэггинга. Посмотрите, насколько гладкой является кривая справа? и насколько облегает фигуру слева.

Если вы хотите получить доступ к исходному коду -



Если у вас есть отзывы или вы хотите сотрудничать, напишите мне @[email protected]