Middle — Senior
Kako koristiti unakrsnu validaciju za procenu modela?
sobes.tech АИ
Одговор од АИ
Кросс-валидација је метод процене квалитета модела машинског учења који помаже да се провери колико добро ће модел радити на новим подацима. Основна идеја је да се оригинални скуп података подели на неколико делова (folds), да се модел обучи на неким деловима и тестира на осталим.
Најчешћа варијанта је k-fold крос-валидација:
- Поделите податке на k једнаких делова.
- За сваки од тих делова:
- Обучите модел на осталим k-1 деловима.
- Тестирајте модел на тренутном делу (валидаторски скуп).
- Просек метрика свих k итерација пружа поузданију процену квалитета модела.
Ово помаже да се избегне пренаглашавање и добије објективнија процена него једноставно делење на тренирајући и тест скуп.
Пример у Python-у са 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-кратна крос-валидација
print(f"Просечна тачност: {scores.mean():.2f}")