नॉवेल्टी डिटेक्शन

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

Dr. Chris Anagnostopoulos

Honorary Associate Professor

वन-क्लास क्लासिफिकेशन

Training डेटा बिना एनॉमली:

दो काले बिंदुओं के क्लस्टर.

Future / test डेटा जिसमें एनॉमली हैं:

दो काले बिंदुओं के क्लस्टर, साथ में कुछ अलग-थलग बिंदु भी.

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

Novelty LoF

Workaround

preds = lof().fit_predict(
   np.concatenate([X_train, X_test]))

preds = preds[X_train.shape[0]:]

दो काले बिंदुओं के क्लस्टर, साथ में कुछ अलग-थलग लाल बिंदु.

Novelty LoF

clf = lof(novelty=True)

clf.fit(X_train) y_pred = clf.predict(X_test)

दो काले बिंदुओं के क्लस्टर, साथ में कुछ अलग-थलग लाल बिंदु.

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

वन-क्लास सपोर्ट वेक्टर मशीन

clf = OneClassSVM()

clf.fit(X_train) y_pred = clf.predict(X_test)
y_pred[:4]
array([ 1,  1,  1, -1])

कई बिंदुओं के दो क्लस्टर और कुछ अलग-थलग बिंदु. अधिकतर बिंदु लाल हैं, क्लस्टर के भीतर भी और अलग-थलग भी.

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

वन-क्लास सपोर्ट वेक्टर मशीन

clf = OneClassSVM()
clf.fit(X_train)
y_scores = clf.score_samples(X_test)

threshold = np.quantile(y_scores, 0.1)
y_pred = y_scores <= threshold

दो काले बिंदुओं के क्लस्टर, साथ में कुछ अलग-थलग लाल बिंदु.

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

आइसोलेशन फॉरेस्ट्स

clf = IsolationForest()
clf.fit(X_train)
y_scores = clf.score_samples(X_test)
clf = LocalOutlierFactor(novelty=True)
clf.fit(X_train)
y_scores = clf.score_samples(X_test)

दो काले बिंदुओं के क्लस्टर, साथ में कुछ अलग-थलग लाल बिंदु.

Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना
clf_lof = LocalOutlierFactor(novelty=True).fit(X_train)
clf_isf = IsolationForest().fit(X_train)
clf_svm = OneClassSVM().fit(X_train)
roc_auc_score(y_test, clf_lof.score_samples(X_test)
0.9897
roc_auc_score(y_test, clf_isf.score_samples(X_test))
0.9692
roc_auc_score(y_test, clf_svm.score_samples(X_test))
0.9948
Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना
clf_lof = LocalOutlierFactor(novelty=True).fit(X_train)
clf_isf = IsolationForest().fit(X_train)
clf_svm = OneClassSVM().fit(X_train)
accuracy_score(y_test, clf_lof.predict(X_test))
0.9318
accuracy_score(y_test, clf_isf.predict(X_test))
0.9545
accuracy_score(y_test, clf_svm.predict(X_test))
0.5
Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना

क्या नया है?

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

Preparing Video For Download...