Middle
19
Что такое кросс-валидация? Какая бывает?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Кросс-валидация — это метод оценки качества модели машинного обучения, при котором данные разбиваются на несколько частей (фолдов), и модель поочерёдно обучается на одних частях и тестируется на других. Это помогает получить более надёжную оценку, чем простое разделение на тренировочную и тестовую выборки.
Основные виды кросс-валидации:
- k-fold: данные делятся на k равных частей. Модель обучается k раз, каждый раз используя k-1 часть для обучения и 1 часть для теста.
- Stratified k-fold: вариант k-fold, при котором сохраняется пропорция классов в каждом фолде (важно для несбалансированных данных).
- Leave-One-Out (LOO): каждый пример по очереди используется как тестовый, а остальные — для обучения. Очень затратный по времени.
- Shuffle Split: случайное многократное разбиение данных на обучающую и тестовую выборки.
Пример k-fold (k=5):
from sklearn.model_selection import KFold
kf = KFold(n_splits=5)
for train_index, test_index in kf.split(X):
X_train, X_test = X[train_index], X[test_index]
y_train, y_test = y[train_index], y[test_index]
# обучение и оценка модели