Middle — Senior
Vaqt ketma-ketliklarida kross-validatsiya qilish qanday?
sobes.tech AI
AIdan javob
Vaqt ketma-ketliklarida kross-validatsiya klassikdan farq qiladi, chunki ma'lumotlar vaqtga bog'liq bo'lib, ularni tasodifiy aralashtirish mumkin emas.
Asosiy yondashuvlar:
-
Time Series Split (siljiy oynacha)
- Ma'lumotlar ketma-ket vaqt bloklariga bo'linadi.
- Har bir bosqichda model ma'lumotlarni ma'lum bir vaqtgacha o'qitiladi va keyingi vaqt oralig'ida sinovdan o'tkaziladi.
- Misol uchun: 1-3 oylar o'qitiladi, 4 da sinov; keyin 1-4 o'qitiladi, 5 da sinov va sh.k.
-
Oldinga yurish (Walk-forward validation)
- Time Series Split ga o'xshash, lekin model har bosqichda qayta o'qitiladi va yangi ma'lumotlar qo'shiladi.
-
Bloklangan kross-validatsiya (Blocked cross-validation)
- Ma'lumotlar bloklarga bo'linadi, shuningdek, o'qitish va sinov o'rtasida ma'lumotlar oqib o'tishini oldini oladi.
Python misoli sklearn bilan:
from sklearn.model_selection import TimeSeriesSplit
import numpy as np
X = np.arange(100).reshape(-1, 1) # Misol ma'lumotlar
y = np.sin(X).ravel()
tscv = TimeSeriesSplit(n_splits=5)
for train_index, test_index in tscv.split(X):
X_train, X_test = X[train_index], X[test_index]
y_train, y_test = y[train_index], y[test_index]
# Modelni X_train, y_train bilan o'qitish
# X_test, y_test bilan baholash
Vaqt ketma-ketligini saqlash muhim, shunda kelajakdagi ma'lumotlar modelni o'qitishda ishlatilmaydi.