Mi az a keresztvalidáció és miért szükséges?
sobes.tech MI
Válasz az MI-től
Keresztvalidáció egy olyan módszer, amellyel értékelhetjük egy gépi tanulási modell minőségét, és segít ellenőrizni, hogy a modell mennyire fog jól működni új, láthatatlan adatokon. A fő ötlet az, hogy az eredeti adathalmazt több részre (foldokra), például 5 vagy 10 részre osztjuk. Ezután a modellt az összes részre, kivéve egyet, betanítjuk, és a maradékon teszteljük. Ezt a folyamatot addig ismételjük, amíg minden rész szerepel a tesztben.
Ez lehetővé teszi, hogy megbízhatóbb értékelést kapjunk a modell teljesítményéről, csökkentsük a túlillesztést, és kiválasszuk a legjobb paramétereket. Például, 5-ös keresztvalidáció esetén az adatok 5 részre vannak osztva, és a modellt 5 alkalommal tanítjuk, minden alkalommal 4 részre, és egy részre tesztelünk.
Python példával sklearn használatával:
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
X, y = load_iris(return_X_y=True)
model = RandomForestClassifier()
scores = cross_val_score(model, X, y, cv=5)
print(f"Átlagos pontosság: {scores.mean():.2f}")