Sobes.tech
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:

  1. 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.
  2. Oldinga yurish (Walk-forward validation)

    • Time Series Split ga o'xshash, lekin model har bosqichda qayta o'qitiladi va yangi ma'lumotlar qo'shiladi.
  3. 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.