Sobes.tech
Middle — Senior

Ako použiť krížovú validáciu na hodnotenie modelu?

sobes.tech AI

Odpoveď od AI

Krížová validácia je metóda hodnotenia kvality modelu strojového učenia, ktorá pomáha overiť, ako dobre bude model fungovať na nových dátach. Hlavná myšlienka je rozdeliť pôvodný súbor dát na niekoľko častí (folds), trénovať model na niektorých častiach a testovať ho na ostatných.

Najbežnejšia varianta je k-fold krížová validácia:

  1. Rozdeľte dáta na k rovnakých častí.
  2. Pre každú z týchto častí:
    • Trénujte model na ostatných k-1 častiach.
    • Testujte model na aktuálnej časti (validácia).
  3. Priemerná hodnota metrík zo všetkých k iterácií poskytne spoľahlivejšiu hodnotenie kvality modelu.

Toto pomáha vyhnúť sa preučeniu a získať objektívnejšie hodnotenie než jednoduché rozdelenie na tréningové a testovacie sady.

Príklad v Pythone 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á krížová validácia
print(f"Priemerná presnosť: {scores.mean():.2f}")