Встречается на собеседованиях • сегодня
Как настроить валидацию при использовании стекинга и блендинга
Для валидации при стекинге и блендинге важно избегать утечки данных.
Стекинг:
- Разбейте данные на
kфолдов. - Обучите базовые модели на
k-1фолдах, предскажите для оставшегося. - Используйте out-of-fold предсказания как фичи для метамодели.
Блендинг:
- Разделите данные на train и holdout (обычно 70/30).
- Обучите модели на train, предскажите для holdout.
- Смешайте предсказания (например, среднее) для метамодели.
Пример с кодом (стекинг):
python
from sklearn.model_selection import KFold
from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import LogisticRegression
import numpy as np
X, y = ... # данные
kf = KFold(n_splits=5)
stacked_preds = np.zeros(len(X))
for train_idx, val_idx in kf.split(X):
X_train, X_val = X[train_idx], X[val_idx]
y_train = y[train_idx]
# Обучаем базовую модель
rf = RandomForestClassifier().fit(X_train, y_train)
stacked_preds[val_idx] = rf.predict_proba(X_val)[:, 1]
# Используем stacker (метамодель)
meta_X = np.column_stack([stacked_preds]) # можно добавить другие фичи
meta_model = LogisticRegression().fit(meta_X, y)Ключевое:
- Никогда не используйте тестовые данные для обучения стекинга/блендинга.
- Для блендинга holdout должен быть полностью изолирован.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы