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:
- Ma’lumotlarni k ta teng qismga bo‘lish.
- Har bir k qismi uchun:
- Modelni qolgan k-1 qismda o‘qitish.
- Modelni hozirgi qismda (validatsiya to‘plami) sinash.
- 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}")