Peralihan dataset

Merancang Alur Kerja Machine Learning di Python

Dr. Chris Anagnostopoulos

Honorary Associate Professor

Apa itu peralihan dataset?

Dataset elec:

  • Data untuk 2 tahun.
  • class=1 berarti harga naik relatif terhadap 24 jam terakhir, dan 0 berarti turun.
   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]
Merancang Alur Kerja Machine Learning di Python

Apa yang sebenarnya bergeser?

Dua kelas dalam dua dimensi dipisahkan oleh batas keputusan melengkung.

Merancang Alur Kerja Machine Learning di Python

Apa yang sebenarnya bergeser?

Dua kelas dalam dua dimensi dipisahkan oleh batas keputusan melengkung, dan di sampingnya gambar lain dengan posisi kelas serupa namun bentuk batas keputusan berbeda.

Merancang Alur Kerja Machine Learning di Python

Window

Sliding window

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

Sebuah dataset dengan hanya titik data terbaru yang disorot.

Expanding window

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

Sebuah dataset ditampilkan di terminal.

Merancang Alur Kerja Machine Learning di Python

Deteksi peralihan dataset

# t_now = 40000, window_size = 20000
clf_full = RandomForestClassifier().fit(X, y)
clf_sliding = RandomForestClassifier().fit(sliding_X, sliding_y)
# Use future data as test
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
Merancang Alur Kerja Machine Learning di Python

Ukuran window

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)

Grafik AUC terhadap ukuran window meningkat hingga maksimum 0,83 pada window 50 lalu menurun lagi.

Merancang Alur Kerja Machine Learning di Python

Peralihan domain

Dataset arrhythmia:

   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]
Merancang Alur Kerja Machine Learning di Python

Lebih banyak data tidak selalu lebih baik!

Merancang Alur Kerja Machine Learning di Python

Preparing Video For Download...