Veri kümesi kayması

Python'da Machine Learning İş Akışları Tasarlama

Dr. Chris Anagnostopoulos

Honorary Associate Professor

Veri kümesi kayması nedir?

elec veri kümesi:

  • 2 yıllık veri.
  • class=1, fiyatın son 24 saate göre yukarı çıktığını; 0 ise aşağı indiğini belirtir.
   day    period  nswprice  ...    vicdemand  transfer  class
0    2  0.000000  0.056443  ...     0.422915  0.414912      1
1    2  0.553191  0.042482  ...     0.422915  0.414912      0
2    2  0.574468  0.044374  ...     0.422915  0.414912      1

[3 rows x 8 columns]
Python'da Machine Learning İş Akışları Tasarlama

Tam olarak ne kayıyor?

Eğri bir karar sınırıyla ayrılmış, iki boyutta iki sınıf.

Python'da Machine Learning İş Akışları Tasarlama

Tam olarak ne kayıyor?

Eğri bir karar sınırıyla ayrılmış iki boyutta iki sınıf ve yanında benzer konumlu sınıflar fakat farklı şekilli karar sınırı olan ikinci bir görsel.

Python'da Machine Learning İş Akışları Tasarlama

Pencereler

Kayan pencere

window = (t_now-window_size+1):t_now
sliding_window = elec.loc[window]

Yalnızca son gözlemleri vurgulanan bir veri kümesi.

Genişleyen pencere

window = 0:t_now
expanding_window = elec.loc[window]

Bir terminalde gösterilen bir veri kümesi.

Python'da Machine Learning İş Akışları Tasarlama

Veri kümesi kayması tespiti

# t_now = 40000, window_size = 20000
clf_full = RandomForestClassifier().fit(X, y)
clf_sliding = RandomForestClassifier().fit(sliding_X, sliding_y)
# Gelecek veriyi test olarak kullan
test = elec.loc[t_now:elec.shape[0]]
test_X = test.drop('class', 1); test_y = test['class']
roc_auc_score(test_y, clf_full.predict(test_X))
roc_auc_score(test_y, clf_sliding.predict(test_X))
0.775
0.780
Python'da Machine Learning İş Akışları Tasarlama

Pencere boyutu

for w_size in range(10, 100, 10):
    sliding = arrh.loc[
      (t_now - w_size + 1):t_now
    ]
    X = sliding.drop('class', 1)
    y = sliding['class']
    clf = GaussianNB()
    clf.fit(X, y)
    preds = clf.predict(test_X)
    roc_auc_score(test_y, preds)

AUC'nin pencere boyutuna göre 50 için 0,83'e yükselip sonra tekrar azaldığını gösteren grafik.

Python'da Machine Learning İş Akışları Tasarlama

Alan kayması

arrhythmia veri kümesi:

   age  sex  height  ...    chV6_TwaveAmp  chV6_QRSA  chV6_QRSTA  class
0   75    0     190  ...              2.9       23.3        49.4      0
1   56    1     165  ...              2.1       20.4        38.8      0
2   54    0     172  ...              3.4       12.3        49.0      0
3   55    0     175  ...              2.6       34.6        61.6      1
4   75    0     190  ...              3.9       25.4        62.8      0

[5 rows x 280 columns]
Python'da Machine Learning İş Akışları Tasarlama

Daha fazla veri her zaman daha iyi değildir!

Python'da Machine Learning İş Akışları Tasarlama

Preparing Video For Download...