Middle — Senior
Моделди баалоо үчүн кросс-валидацияны кантип колдонуу керек?
sobes.tech AI
AIден жооп
Кросс-валидация — бул машиналык үйрөнүү моделинин сапатын баалоонун ыкмасы, ал модел жаңы маалыматтарда канчалык жакшы иштей турганын текшерүүгө жардам берет. Негизги идея — оригиналдуу маалымат топтомун бир нече бөлүккө (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}")