लेबल, कमजोर लेबल और सत्य

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

Dr. Chris Anagnostopoulos

Honorary Associate Professor

लेबल हमेशा परफेक्ट नहीं होते

सत्य के स्तर:

  • ग्राउंड ट्रुथ
    • कंप्यूटर क्रैश हो जाता है और संदेश फिरौती माँगता है
  • मानव विशेषज्ञ लेबलिंग
    • विश्लेषक कंप्यूटर लॉग जाँचकर अनधिकृत व्यवहार पहचानता है
  • ह्यूरिस्टिक लेबलिंग
    • बहुत कम समय में बहुत से पोर्ट्स पर ट्रैफिक आया
Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

लेबल हमेशा परफेक्ट नहीं होते

बिना शोर या strong लेबल:

  • ग्राउंड ट्रुथ
  • मानव विशेषज्ञ लेबलिंग

शोरयुक्त या weak लेबल:

  • ह्यूरिस्टिक लेबलिंग

फीचर इंजीनियरिंग:

  • ह्यूरिस्टिक में उपयोग किए फीचर्स
Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

फीचर्स और ह्यूरिस्टिक्स

हर संक्रमित होस्ट द्वारा विज़िट किए गए यूनिक पोर्ट्स का औसत:

np.mean(X[y]['unique_ports'])
15.11

लेबल न मानते हुए प्रति होस्ट यूनिक पोर्ट्स का औसत:

np.mean(X['unique_ports'])
11.23
Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

फीचर्स से लेबल तक

किसी फीचर को लेबलिंग ह्यूरिस्टिक में बदलें:

X_train, X_test, y_train, y_test = train_test_split(X, y)
y_weak_train = X_train['unique_ports'] > 15

दो हिस्टोग्राम का क्रॉप्ड दृश्य।

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

फीचर्स से लेबल तक

फीचर मैट्रिक्स की दो प्रतियाँ एक-दूसरे पर स्टैक्ड हैं। एक पर डोमेन विशेषज्ञों के बनाए लेबल हैं, दूसरी पर ह्यूरिस्टिक से बने लेबल।

X_train_aug = pd.concat([X_train, X_train])
y_train_aug = pd.concat([pd.Series(y_train), pd.Series(y_weak_train)])
Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

डेटा पहले जैसी तरह स्टैक्ड है, पर मूल लेबल को 1.0 और ह्यूरिस्टिक से बने लेबल को 0.5 वेट दिया गया है।

weights = [1.0]*len(y_train) + [0.1]*len(y_weak_train)
Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

केवल ग्राउंड ट्रुथ से एक्यूरेसी:

0.91

ग्राउंड ट्रुथ और कमजोर लेबल, बिना वेट्स:

accuracy_score(y_test, clf.fit(X_train_aug, y_train_aug).predict(X_test))
0.93

वेट्स जोड़ें:

accuracy_score(y_test, clf.fit(X_train_aug, y_train_aug, sample_weight=weights).predict(X_test))
0.95
Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

लेबल परफेक्ट होना ज़रूरी नहीं!

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

Preparing Video For Download...