Встречается на собеседованиях • сегодня

Как сплитуешь данные для избежания переобучения

Для избежания переобучения данные обычно делят на три части: тренировочную (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]
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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