Middle — Senior
Hogyan használjuk a keresztvalidációt egy modell értékelésére?
sobes.tech MI
Válasz az MI-től
A keresztvalidáció egy olyan módszer a gépi tanulási modell minőségének értékelésére, amely segít ellenőrizni, hogy a modell mennyire fog jól működni új adatokon. A fő ötlet az, hogy az eredeti adathalmazt több részre (folds) osztjuk, a modellt néhány részen tanítjuk, és a többi részen teszteljük.
A leggyakoribb változat a k-fold keresztvalidáció:
- Oszd fel az adatokat k egyenlő részre.
- Minden k rész esetében:
- Tanítsd a modellt a többi k-1 részen.
- Teszteld a modellt az aktuális részen (validációs készlet).
- Az összes k iteráció metrikáinak átlaga megbízhatóbb értékelést ad a modell minőségéről.
Ez segít elkerülni a túlillesztést, és objektívebb értékelést nyújt, mint egyszerűen az edzés- és tesztkészletek felosztása.
Python példával scikit-learn használatával:
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-féle keresztvalidáció
print(f"Átlagos pontosság: {scores.mean():.2f}")