Sobes.tech
Middle — Senior

Jak použít křížovou validaci k hodnocení modelu?

sobes.tech AI

Odpověď od AI

Křížová validace je metoda hodnocení kvality modelu strojového učení, která pomáhá ověřit, jak dobře bude model fungovat na nových datech. Hlavní myšlenkou je rozdělit původní datovou sadu na několik částí (folds), trénovat model na některých částech a testovat jej na zbývajících.

Nejčastější variantou je křížová validace k-fold:

  1. Rozdělte data na k stejných částí.
  2. Pro každou z těchto částí:
    • Trénujte model na ostatních k-1 částech.
    • Otestujte model na aktuální části (validace).
  3. Průměr metrik ze všech k iterací poskytne spolehlivější odhad kvality modelu.

Toto pomáhá zabránit přeučení a získat objektivnější hodnocení než jednoduché rozdělení na tréninkové a testovací sady.

Příklad v Pythonu s použitím 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-násobná křížová validace
print(f"Průměrná přesnost: {scores.mean():.2f}")