Встречается на собеседованиях • сегодня
Как сплитуешь данные для избежания переобучения
Для избежания переобучения данные обычно делят на три части: тренировочную (60-80%), валидационную (10-20%) и тестовую (10-20%). Валидационная часть помогает подбирать гиперпараметры, а тестовая — оценивать итоговую модель.
python
from sklearn.model_selection import train_test_split
X_train, X_temp, y_train, y_temp = train_test_split(X, y, test_size=0.3, random_state=42)
X_val, X_test, y_val, y_test = train_test_split(X_temp, y_temp, test_size=0.5, random_state=42)
text
Для временных рядов используют `TimeSeriesSplit`, а для несбалансированных данных — `StratifiedKFold`.
Кросс-валидация (например, `KFold`) помогает лучше оценить модель, особенно при малом объеме данных.
```python
from sklearn.model_selection import KFold
kf = KFold(n_splits=5, shuffle=True, random_state=42)
for train_idx, val_idx in kf.split(X):
X_train, X_val = X[train_idx], X[val_idx]
y_train, y_val = y[train_idx], y[val_idx]
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы