Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

+1 582новые вакансии за сутки·92 562вакансии открыты сейчас·Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Новые вакансии в TelegramРаботодателям
Talanto
Вакансии
Компании7 220
РезюмеAIПодготовкаСтатьи
BoostТарифыBoost
Войти

Не нашли подходящее?

Пусть нужная вакансия найдёт вас сама.

  1. Подборка в TelegramНовые вакансии по вашему фильтру — сразу в бота.Подключить
  2. Мэтчи по резюмеЗагрузите резюме — покажем, где вы подходите лучше всего.Загрузить
  3. Сохранить фильтрНастройте поиск один раз и возвращайтесь к новым вакансиям.Настроить
Что нового на TalantoTalanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Для работодателей

Опубликуйте вакансию — отклики придут в ваш кабинет.

  1. Вакансиябесплатно
  2. Откликиконтакты бесплатно
  3. Наймэтапы и интервью

40 компаний публикуют вакансии напрямую · 4 402 кандидата открыты к предложениям

Разместить вакансию

Популярные направления

Все подборки
  • Python17 105
  • Облачные технологии14 068
  • QA вакансии3 460
  • Backend вакансии2 098
  • Инженер данных1 796
  • Продакт-менеджер1 248

Разработка

  • Android1 866
  • iOS1 699
  • Fullstack вакансии979
  • AI вакансии951
  • Frontend вакансии742
  • Mobile вакансии44

По стеку

  • Go8 651
  • Java6 544
  • Node.js2 018
  • .NET1 719
  • Kotlin1 623
  • Rust1 453
  • C#709
  • PHP683
  • C++571

DevOps и инфраструктура

  • Kubernetes7 761
  • DevOps вакансии6 057
  • Linux-инфраструктура5 492
  • Terraform / IaC4 259
  • CI/CD3 240
  • Мониторинг и Observability1 782
  • SRE565
  • Кибербезопасность450

Аналитика и данные

  • Data Scientist1 127
  • Бизнес-аналитик925
  • Аналитик данных845
  • Системный аналитик154

Другие направления

  • Проджект-менеджер611
  • UI/UX дизайн145
  • Ручное тестирование14

По регионам

  • Вакансии в США43 686
  • Вакансии в Европе23 668
  • Вакансии в Канаде4 413
  • Работа в России3 909

По формату

  • Удалённые вакансии73 889
  • Релокация в США43 686
  • Гибридная работа12 392
  • Офисная работа7 088

По уровню

  • Senior вакансии42 236
  • Middle вакансии20 545
  • Junior вакансии6 653

Сейчас нанимают

Все компании
  • Wise190 вакансий
  • Rakuten189 вакансий
  • ASML166 вакансий
  • Grab138 вакансий
  • Celonis39 вакансий
  • Spotify36 вакансий
  • Adyen29 вакансий
  • Infobip28 вакансий
  • Monzo20 вакансий
  • Darktrace16 вакансий

Вакансии из 344 источников: карьерные страницы компаний и джоб-борды.

КомпанииО насНовостиПубличная офертаУсловия использованияПолитика конфиденциальностиПоддержка
←К теме scikit-learnВсе вопросы
scikit-learnMiddleАлгоритмы

В чём разница между bagging и boosting? Назовите реализации каждого из них в scikit-learn.

В закладки
Сначала попробуйте ответить сами30 секунд
Сравнить с ответом ↓

Bagging обучает модели параллельно на бутстрап-выборках и усредняет результат (снижает дисперсию). Boosting обучает последовательно, каждая следующая модель исправляет ошибки предыдущей (снижает смещение). В sklearn: BaggingClassifier, RandomForestClassifier; GradientBoostingClassifier, AdaBoostClassifier.

Пример: сравнение на одном датасете

from sklearn.datasets import make_classification
from sklearn.ensemble import (
    RandomForestClassifier,
    GradientBoostingClassifier,
    BaggingClassifier,
    AdaBoostClassifier,
)
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import cross_val_score
import numpy as np

X, y = make_classification(n_samples=1000, n_features=20,
                            n_informative=10, random_state=42)

models = {
    "Bagging(DT)": BaggingClassifier(
        estimator=DecisionTreeClassifier(), n_estimators=100, random_state=42
    ),
    "RandomForest": RandomForestClassifier(n_estimators=100, random_state=42),
    "AdaBoost": AdaBoostClassifier(n_estimators=100, random_state=42),
    "GradientBoosting": GradientBoostingClassifier(n_estimators=100, random_state=42),
}

for name, model in models.items():
    scores = cross_val_score(model, X, y, cv=5, scoring="roc_auc")
    print(f"{name:25s}: {scores.mean():.4f} ± {scores.std():.4f}")

Bagging и Boosting: ключевое различие

Bagging (Bootstrap Aggregating) обучает базовые модели независимо и параллельно на случайных подвыборках с возвращением. Итоговый прогноз — среднее (регрессия) или голосование (классификация). Главный эффект — снижение дисперсии при сохранении уровня смещения.

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

Реализации в scikit-learn

  • Bagging: BaggingClassifier / BaggingRegressor — универсальная обёртка для любого estimator; RandomForestClassifier / RandomForestRegressor — bagging деревьев с дополнительной рандомизацией признаков (Extra-Trees: ExtraTreesClassifier).
  • Boosting: AdaBoostClassifier — обновляет веса объектов; GradientBoostingClassifier / GradientBoostingRegressor — градиентный бустинг на деревьях; HistGradientBoostingClassifier — быстрая версия на гистограммах (аналог LightGBM).

Когда что выбирать

  • Модель переобучается (высокая дисперсия) → Bagging / RandomForest.
  • Модель недообучается (высокое смещение) → Boosting.
  • Нужна скорость обучения на большом датасете → HistGradientBoostingClassifier.
  • Интерпретируемость важна → RandomForest (feature importances, легче объяснить).

Подводные камни

  • Утечка данных в бустинге: если подбирать n_estimators на test-выборке, метрика будет завышена — используйте early_stopping или отдельный validation set.
  • Параллелизм bagging vs boosting: RandomForest поддерживает n_jobs=-1 (параллельное обучение), GradientBoosting — нет (деревья строятся последовательно); HistGradientBoosting поддерживает.
  • Чувствительность бустинга к выбросам: AdaBoost значительно усиливает вес аномальных объектов; GradientBoosting менее чувствителен при использовании устойчивых функций потерь (loss="huber").
  • Переобучение бустинга: большое n_estimators без регуляризации (learning_rate, max_depth, subsample) приводит к переобучению; для bagging этот риск значительно ниже.
  • RandomForest и несбалансированные классы: параметр class_weight="balanced" корректирует выборку, иначе лес смещается в сторону большинства.
  • Воспроизводимость: обязательно фиксируйте random_state — иначе результаты кросс-валидации будут отличаться между запусками.
  • Память при большом числе деревьев: каждое дерево хранится в RAM; 1000 деревьев на глубоком датасете могут занять несколько GB — контролируйте max_depth и max_leaf_nodes.

Частые вопросы на собеседовании

  • В чём разница между train_test_split() и кросс-валидацией (cross_val_score)? Когда применять каждый из них?
  • Как работает Pipeline в scikit-learn и какие проблемы он решает (утечка данных — data leakage)?
  • Какие метрики применять для задачи классификации с несбалансированными классами и как их вычислить в scikit-learn?
  • Как обнаружить и предотвратить утечку данных (data leakage) при построении пайплайна в scikit-learn?

Типичные ошибки

  • Объяснять bagging vs boosting только синтаксисом без shape, dtype, состояния или режима выполнения.
  • Игнорировать leakage, воспроизводимость, пустые входы и скрытые копии данных.
  • Не проверять production-симптомы: latency, память, ретраи, дрейф качества и несовпадение версий.

Что проверяет интервьюер

  • Может ли связать bagging vs boosting с реальным контрактом входов и выходов.
  • Упоминает ли тесты, метрики, reproducibility и диагностику ошибок.
  • Видит ли различие между demo-кодом в ноутбуке и production-пайплайном.

Как вы знаете этот вопрос?

Проверить себя по теме scikit-learn →

Источники

  • https://scikit-learn.org/stable/modules/ensemble.html
←Предыдущий вопросКак работает `ColumnTransformer` и почему он полезен для гетерогенных датасетов?Следующий вопрос→Что такое компромисс между смещением и дисперсией (bias-variance tradeoff) и как сложность модели связана с каждым из них?

Связанные темы

scikit-learndata-aievaluationmodel-training

Вакансии с этим навыком

  • 📑 Вакансия Junior Data Scientist / ML Engineer