Sobes.tech
Middle — Senior

Modelni baholash uchun kross-validatsiyani qanday ishlatish mumkin?

sobes.tech AI

AIdan javob

Kross-validatsiya — bu mashina o‘rganish modeli sifatini baholash usuli bo‘lib, u model yangi ma’lumotlarda qanday ishlashini tekshirishga yordam beradi. Asosiy g‘oya — asl ma’lumotlar to‘plamini bir nechta qismga (folds) bo‘lish, modelni ba’zi qismlarda o‘qitish va qolgan qismlarda sinash.

Eng keng tarqalgan variant — k-fold kross-validatsiya:

  1. Ma’lumotlarni k ta teng qismga bo‘lish.
  2. Har bir k qismi uchun:
    • Modelni qolgan k-1 qismda o‘qitish.
    • Modelni hozirgi qismda (validatsiya to‘plami) sinash.
  3. Barcha k takrorlashdagi metriklarning o‘rtacha qiymati model sifatiga yanada ishonchli baho beradi.

Bu overfittingdan qochishga va oddiy trening va test to‘plamlariga bo‘lishdan ko‘ra ob’ektiv baho olishga yordam beradi.

Python’da scikit-learn bilan misol:

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-fold kross-validatsiya
print(f"O‘rtacha aniqlik: {scores.mean():.2f}")