Sobes.tech
Middle

Кросс-валидация дегеніміз не? Қандай түрлері бар?

sobes.tech AI

AI-дан жауап

Кросс-валидация — бұл машиналық оқыту моделінің сапасын бағалау әдісі, онда деректер бірнеше бөлікке (фолдар) бөлінеді, және модель кезек-кезек бір бөлікке оқытылады, ал басқа бөлікке тестіленеді. Бұл қарапайым оқыту және тестілеу жиынтығына қарағанда сенімдірек бағалауға көмектеседі.

Негізгі кросс-валидация түрлері:

  • k-fold: деректер k тең бөлікке бөлінеді. Модель k рет оқытылады, әр ретте k-1 бөлік оқытуға, ал 1 бөлік тестілеуге пайдаланылады.
  • Stratified k-fold: k-fold нұсқасы, онда әр фолда сыныптардың пропорциясы сақталады (дұрыс емес деректер үшін маңызды).
  • Leave-One-Out (LOO): әр мысал кезек-кезек тест ретінде пайдаланылады, ал қалғандары оқыту үшін. Уақыты өте шығынды.
  • Shuffle Split: деректердің кездейсоқ бірнеше бөлікке бөлінуі оқыту және тестілеу жиынтығына.

k-fold мысалы (k=5):

from sklearn.model_selection import KFold
kf = KFold(n_splits=5)
for train_index, test_index in kf.split(X):
    X_train, X_test = X[train_index], X[test_index]
    y_train, y_test = y[train_index], y[test_index]
    # модельді оқыту және бағалау