Middle — Senior
30
Как использовать кросс-валидацию для оценки модели?
Companies where asked
Answer from AI
sobes.tech AI
Кросс-валидация — это метод оценки качества модели машинного обучения, который помогает проверить, насколько хорошо модель будет работать на новых данных. Основная идея — разбить исходный набор данных на несколько частей (folds), обучать модель на части данных и проверять её на оставшейся части.
Самый распространённый вариант — k-fold кросс-валидация:
- Разбиваем данные на k равных частей.
- Для каждой из k частей:
- Обучаем модель на остальных k-1 частях.
- Проверяем модель на текущей части (валидационном наборе).
- Среднее значение метрик по всем k итерациям даёт более надёжную оценку качества модели.
Это помогает избежать переобучения и получить более объективную оценку, чем простое разбиение на тренировочную и тестовую выборки.
Пример на Python с использованием scikit-learn:
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
iris = load_iris()
X, y = iris.data, iris.target
model = RandomForestClassifier()
scores = cross_val_score(model, X, y, cv=5) # 5-fold кросс-валидация
print(f"Средняя точность: {scores.mean():.2f}")