डेटासेट शिफ्ट

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

Dr. Chris Anagnostopoulos

Honorary Associate Professor

डेटासेट शिफ्ट क्या है?

elec डेटासेट:

  • 2 साल का डेटा.
  • class=1 का मतलब पिछली 24 घंटों की तुलना में कीमत ऊपर गई, और 0 का मतलब नीचे गई.
   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 में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

शिफ्टिंग वास्तव में क्या है?

दो आयामों में दो क्लास, एक घुमावदार डिसीज़न बाउंडरी से अलग.

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

शिफ्टिंग वास्तव में क्या है?

दो आयामों में दो क्लास घुमावदार डिसीज़न बाउंडरी से अलग, और साथ में एक और छवि जहाँ क्लास समान जगह पर हैं पर बाउंडरी का आकार अलग है.

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

विंडो

स्लाइडिंग विंडो

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

एक डेटासेट जिसमें केवल हाल के डाटापॉइंट हाइलाइट हैं.

एक्सपैंडिंग विंडो

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

एक टर्मिनल में दिखाया गया डेटासेट.

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

डेटासेट शिफ्ट डिटेक्शन

# t_now = 40000, window_size = 20000
clf_full = RandomForestClassifier().fit(X, y)
clf_sliding = RandomForestClassifier().fit(sliding_X, sliding_y)
# भविष्य का डेटा टेस्ट के लिए उपयोग करें
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 में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

विंडो साइज

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 का प्लॉट 50 की विंडो पर 0.83 के अधिकतम तक बढ़ता है, फिर घटता है.

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

डोमेन शिफ्ट

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]
Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

ज़्यादा डेटा हमेशा बेहतर नहीं होता!

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

Preparing Video For Download...