Middle — Senior
Kaip naudoti kryžminę validaciją modelio įvertinimui?
sobes.tech AI
Atsakymas iš AI
Kryžminė validacija yra metodas, naudojamas įvertinti mašininio mokymosi modelio kokybę, kuris padeda patikrinti, kaip gerai modelis veiks naujuose duomenyse. Pagrindinė idėja yra padalinti pradinį duomenų rinkinį į kelias dalis (folds), mokyti modelį tam tikrose dalyse ir jį testuoti likusiose.
Dažniausiai naudojama yra k-fold kryžminė validacija:
- Padalinkite duomenis į k lygias dalis.
- Kiekvienai iš šių dalių:
- Mokykite modelį likusiose k-1 dalyse.
- Testuokite modelį dabartinėje dalyje (validacijos rinkinyje).
- Visų k iteracijų metrikų vidurkis suteikia patikimesnį įvertinimą apie modelio kokybę.
Tai padeda išvengti permokymo ir gauti objektyvesnį įvertinimą nei paprastas duomenų padalijimas į treniruočių ir testavimo rinkinius.
Pavyzdys Python kalba naudojant 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-kryptinė kryžminė validacija
print(f"Vidutinė tikslumas: {scores.mean():.2f}")