Встречается на 5% собеседований по Data Engineer

В чём разница между стекингом и блендингом

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

Стекинг использует метамодель (например, линейную регрессию или нейросеть), которая обучается на предсказаниях базовых моделей. Это двухэтапный процесс: сначала обучаются базовые модели, затем их выходы подаются на вход метамодели.

Блендинг — упрощённая версия стекинга, где предсказания базовых моделей усредняются (или взвешиваются) без обучения метамодели. Часто используется holdout-набор для смешивания.

Пример стекинга с StackingClassifier из sklearn:

python
from sklearn.ensemble import StackingClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier

base_models = [('dt', DecisionTreeClassifier())]
meta_model = LogisticRegression()
stacker = StackingClassifier(estimators=base_models, final_estimator=meta_model)
stacker.fit(X_train, y_train)

Блендинг проще:

python
pred1 = model1.predict(X_test)
pred2 = model2.predict(X_test)
blend_pred = (pred1 + pred2) / 2  # Простое усреднение

Стекинг мощнее, но требует больше вычислительных ресурсов, блендинг быстрее, но менее гибкий.

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы