Walidacja krzyżowa typu leave-one-out

term_id: leave_one_out_cross_validation

Category: basic_concepts

Definition

Walidacja krzyżowa typu leave-one-out (LOOCV) jest szczególnym przypadkiem walidacji krzyżowej k-fold, gdzie k jest równe liczbie próbek w zbiorze danych. Zapewnia ona niemal nieobciążoną estymację wydajności modelu, ponieważ każda próbka jest używana dokładnie raz jako zbiór testowy.

Summary

Rygorystyczna technika próbkowania ponownego, w której model jest trenowany na wszystkich próbach z wyjątkiem jednej i testowany na tej pojedynczej, pominiętej próbce, co powtarzane jest dla każdego punktu danych.

Key Concepts

  • Próbkowanie ponowne
  • Ocena modelu
  • Kompromis między biasem a wariancją
  • Koszt obliczeniowy

Use Cases

  • Ewaluacja modeli na małych zestawach danych medycznych
  • Dopasowywanie hiperparametrów przy ograniczonej ilości danych
  • Rygorystyczne porównanie wydajności algorytmów

Code Example

1
2
3
4
5
6
7
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)