TGViewer
Data Science | Вопросы собесов Data Science | Вопросы собесов @easy_ds · 4.9K subscribers
Post #2677 300
🤔 Что такое boosting?

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

🚩Основные идеи бустинга

🟠Последовательное обучение:
В отличие от bagging (например, Random Forest), где модели обучаются параллельно, в бустинге модели обучаются последовательно.
🟠Фокус на ошибках:
Каждая новая модель пытается исправить ошибки, сделанные предыдущими моделями, обучаясь на данных с учетом этих ошибок.
🟠Взвешивание:
Примеры, на которых предыдущие модели ошиблись, получают больший вес, чтобы новая модель уделяла им больше внимания.

🚩Виды бустинга

🟠AdaBoost (Adaptive Boosting):
Один из первых методов бустинга. В AdaBoost каждая новая модель обучается на тех же данных, но с разными весами, которые обновляются в зависимости от ошибок предыдущей модели.
from sklearn.ensemble import AdaBoostClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# Загрузка данных
iris = load_iris()
X, y = iris.data, iris.target

# Разделение данных на обучающую и тестовую выборки
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# Создание и обучение модели AdaBoost
model = AdaBoostClassifier(n_estimators=50, random_state=42)
model.fit(X_train, y_train)

# Предсказание на тестовой выборке
y_pred = model.predict(X_test)

# Оценка точности
accuracy = accuracy_score(y_test, y_pred)
print(f"Точность: {accuracy}")


🟠Gradient Boosting:
Более современный и сложный метод, который строит новые модели для предсказания остаточных ошибок (градиентов) предыдущих моделей.
from sklearn.ensemble import GradientBoostingClassifier

# Создание и обучение модели Gradient Boosting
model = GradientBoostingClassifier(n_estimators=100, learning_rate=0.1, random_state=42)
model.fit(X_train, y_train)

# Предсказание на тестовой выборке
y_pred = model.predict(X_test)

# Оценка точности
accuracy = accuracy_score(y_test, y_pred)
print(f"Точность: {accuracy}")


🟠XGBoost:
Экстремальный градиентный бустинг — это улучшенная и оптимизированная версия Gradient Boosting, которая обеспечивает более высокую производительность и эффективность.
from sklearn.ensemble import GradientBoostingClassifier

# Создание и обучение модели Gradient Boosting
model = GradientBoostingClassifier(n_estimators=100, learning_rate=0.1, random_state=42)
model.fit(X_train, y_train)

# Предсказание на тестовой выборке
y_pred = model.predict(X_test)

# Оценка точности
accuracy = accuracy_score(y_test, y_pred)
print(f"Точность: {accuracy}")


🚩Плюсы

➕Высокая точность:
Бустинг часто превосходит по точности одиночные модели и другие методы ансамблевого обучения.
➕Гибкость:
Может быть использован с различными базовыми моделями и легко адаптируется к различным задачам.
➕Обработка сложных данных:
Эффективно работает с большими наборами данных и сложными зависимостями.

🚩Минусы

➖Время обучения:
Обучение бустинговых моделей может быть медленным, особенно для больших наборов данных.
➖Чувствительность к шуму:
Бустинг может переобучаться на шумных данных, так как модели пытаются исправить каждую ошибку.

Ставь 👍 и забирай 📚 Базу знаний
More from @easy_ds
  1. Oct 9, 2026Post #2695
  2. Oct 9, 2026🤔 Расскажи о Gradient-boosted trees Gradient-boosted trees — это ансамблевый метод машинн…
  3. Oct 9, 2026🤔 Какие слабые стороны есть у алгоритма кластериации ? Алгоритмы кластеризации имеют неск…
  4. Oct 8, 2026🤔 В чем разница между листом и кортежем? В Python список (list) — это изменяемая коллекци…
  5. Oct 7, 2026🤔 Какие есть проблемы с Batch Norm? 1. Зависимость от мини-батчей: небольшие батчи могут…
  6. Oct 7, 2026🤔 Что можешь сказать про оконные функции? Оконные функции предоставляют мощные возможност…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →