Sobes.tech
Middle — Senior

Моделди баалоо үчүн кросс-валидацияны кантип колдонуу керек?

sobes.tech AI

AIден жооп

Кросс-валидация — бул машиналык үйрөнүү моделинин сапатын баалоонун ыкмасы, ал модел жаңы маалыматтарда канчалык жакшы иштей турганын текшерүүгө жардам берет. Негизги идея — оригиналдуу маалымат топтомун бир нече бөлүккө (folds) бөлүү, моделди кээ бир бөлүктөрдө үйрөтүү жана калган бөлүктөрдө текшерүү.

Эң кеңири тараган варианты — k-fold кросс-валидация:

  1. Маалыматтарды k бирдей бөлүккө бөлүү.
  2. Ар бир бөлүк үчүн:
    • Моделди калган k-1 бөлүктө үйрөтүү.
    • Моделди учурдагы бөлүктө (валидация топтомунда) текшерүү.
  3. Бардык 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}")