Кросс-валидация методом «один против всех»
term_id: leave_one_out_cross_validation
Category: basic_concepts
Definition
Кросс-валидация методом «один против всех» (LOOCV) является частным случаем k-блочной кросс-валидации, где k равно количеству образцов в наборе данных. Она дает почти несмещенную оценку производительности модели, вычисляя среднее значение ошибки на каждой итерации, когда одна точка используется как тестовая, а остальные — как обучающая.
Summary
Строгий метод ресэмплинга, при котором модель обучается на всех выборках, кроме одной, и тестируется на этой единственной оставленной выборке; процесс повторяется для каждой точки данных.
Key Concepts
- Ресэмплинг
- Оценка модели
- Компромисс смещения и дисперсии
- Вычислительная стоимость
Use Cases
- Оценка моделей на небольших медицинских наборах данных
- Настройка гиперпараметров при дефиците данных
- Строгое сравнение производительности алгоритмов
Code Example
from sklearn.model_selection import LeaveOneOut
loo = LeaveOneOut()
for train_index, test_index in loo.split(X):
X_train, X_test = X[train_index], X[test_index]
y_train, y_test = y[train_index], y[test_index]
model.fit(X_train, y_train)
score = model.score(X_test, y_test)