Middle — Senior
Kā izmantot krustpārbaudi modeļa novērtēšanai?
sobes.tech AI
Atbilde no AI
Krosvalidācija ir metode mašīnmācības modeļa kvalitātes novērtēšanai, kas palīdz pārbaudīt, cik labi modelis darbosies jaunos datos. Galvenā ideja ir sadalīt sākotnējo datu kopu vairākās daļās (folds), apmācīt modeli uz dažām daļām un pārbaudīt to uz pārējām.
Visbiežāk sastopamā ir k-fold krosvalidācija:
- Sadala datus vienādās daļās pa k.
- Katram no šiem daļām:
- Apmāca modeli uz pārējām k-1 daļām.
- Testē modeli uz pašreizējo daļu (validācijas kopu).
- Visu k iterāciju metrikas vidējā vērtība sniedz uzticamāku novērtējumu par modeļa kvalitāti.
Tas palīdz izvairīties no pārmācīšanās un iegūt objektīvāku novērtējumu nekā vienkārša sadale uz treniņa un testa kopām.
Python piemērs ar 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-fāžu krosvalidācija
print(f"Vidējā precizitāte: {scores.mean():.2f}")