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]
# модельді оқыту және бағалау