اذهب إلى المحتوى
  • 0

ماهو ال Time Series Split وهل يمكن تطبيقه باستخدام مكتبة sklearn؟

Meezo ML

السؤال

Recommended Posts

  • 1

Time Series Split هي طريقة لتقسيم الداتا تعتمد على فكرة عنصر تدريب وعنصر اختبار ثم عنصرين تدريب وعنصر اختبار ثم ثلاث عناصر تدريب وعنصر اختبار وهكذا.
 لنأخذ مثال  يوضح Time Series Split بشكل أفضل. في البداية نقوم باستدعاء المكتبات 
#استدعاء المكتبات

import numpy as np
from sklearn.model_selection import TimeSeriesSplit

قمنا باستدعاء المكتبة numpy لتشكيل الداتا
واستدعاء الوظيفه TimeSeriesSplit من الوحدة model_selection في مكتبة sklearn
#تشكيل الدخل والخرج:

X = np.array([[1, 2], [1, 4], [5, 2], [9, 4], [6, 2], [0, 4]])
y = np.array([1, 2, 3, 4, 5, 6])

حيث X مصفوفة أرقام من 6 أسطر وعمودين و y مصفوفة من 6 اسطر وعمود واحد
#TimeSeriesSplit

tscv = TimeSeriesSplit(n_splits=5,max_train_size=None)

البارمتر الأول n_splits عدد صحيح لتحديد عدد الأجزاء folds وهي افتراضية في sklearn من 3 إلى 5
البارمتر الثاني   max_train_size الحجم الأكبر لمجموعة تدريب واحدة
 

for train_index, test_index in tscv.split(X):
    print("TRAIN:", train_index, "TEST:", test_index)
    X_train, X_test = X[train_index], X[test_index]
    y_train, y_test = y[train_index], y[test_index]
    print('X_train \n' , X_train)
    print('X_test \n' , X_test)
    print('y_train \n' ,y_train)
    print('y_test \n' , y_test)
    print('*********************')

بعد ذلك يتم المرور بحلقة حيث يتم استخدام اثنين من الاندكسات في الحلقة للمرور على التدريب والاختبار  وتحوي tscv.split(X) 
بعد ذلك في كل مرور على الحلقة  يتم طباعة الاندكسات الخاص بالتدريب والاختبار 
وبعد ذلك تم تخزين بيانات التدريب والاختبار وبعدها طباعة كل منها في كل محاولة
الكود كامل:

#استدعاء المكتبات
import numpy as np
from sklearn.model_selection import TimeSeriesSplit
#تشكيل الدخل والخرج
X = np.array([[1, 2], [1, 4], [5, 2], [9, 4], [6, 2], [0, 4]])
y = np.array([1, 2, 3, 4, 5, 6])
#TimeSeriesSplit
tscv = TimeSeriesSplit(n_splits=5,max_train_size=None)
for train_index, test_index in tscv.split(X):
    print("TRAIN:", train_index, "TEST:", test_index)
    X_train, X_test = X[train_index], X[test_index]
    y_train, y_test = y[train_index], y[test_index]
    print('X_train \n' , X_train)
    print('X_test \n' , X_test)
    print('y_train \n' ,y_train)
    print('y_test \n' , y_test)
    print('*********************')

 # Machine Learning is everywhere
 # Written by Ali Ahmed

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...