Если вы не поняли, о чем эта статья, по названию, извините меня, потому что мне, вероятно, нужен более краткий набор предложений и новый словарь.
В этой статье будет рассмотрен один из наиболее важных методов обучения ансамблю, известный как агрегация Bootstrap, также известная как бэггинг.
Имейте в виду, что это не сказка о Фродо Бэггинсе.
Видите, есть большая разница, но я буду здесь вашим Сэмом, чтобы объяснить ее вам.
В ансамблевом обучении есть два основных метода: один - бэггинг, а другой - вставка.
Бэггинг используется чаще, потому что он приводит к лучшим моделям, и мы рассмотрим бэггинг только в этой статье.
Что такое техника упаковки?
Ансамблевая техника – это
- Способ использования разных классификаторов или регрессоров в одном наборе обучающих данных с использованием разных алгоритмов.
- Или способ использовать один и тот же алгоритм обучения для разных предикторов, используя подмножества алгоритмов обучения (случайные экземпляры обучающих данных).
Когда мы выбираем набор данных, если мы предоставляем замену обучающих данных, мы называем это пакетированием, а отсутствие замены называется вставкой.
Это означает, что когда мы отбираем обучающие данные для создания подмножеств наборов данных и обучаем предикторы, используя эти подмножества снова и снова, повторяя упражнение по выборке для одних и тех же предикторов, оно накапливается.
Примеры
Представьте, что у вас есть набор данных о лунах, теперь мы возьмем 3 предиктора, например, логистическую регрессию, SVM и деревья решений, и запустим 10 000 выборок набора данных о лунах. Затем, когда мы используем все обучающие данные для получения одного агрегированного результата, это называется ансамблевым обучением (1).
Когда мы создаем 500 подмножеств из 10 000 выборок и случайным образом выбираем подмножества для обучения предикторов снова и снова, тогда агрегирование результата называется бэггингом.
Получил это до сих пор, отлично оставайтесь со мной сейчас.
Есть два способа получить результаты агрегации -
- Мягкое голосование
- Жесткое голосование
Принципиальное различие между ними — если используемые предикторы имеют класс 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]