आपका मॉडल कितना अच्छा है?

scikit-learn के साथ Supervised Learning

George Boorman

Core Curriculum Manager, DataCamp

Classification metrics

  • Accuracy से मॉडल प्रदर्शन मापना:

    • सही वर्गीकृत सैंपल का अंश

    • हर बार उपयोगी मेट्रिक नहीं

scikit-learn के साथ Supervised Learning

Class imbalance

  • धोखाधड़ी वाली बैंक ट्रांजैक्शन की भविष्यवाणी के लिए क्लासिफिकेशन

    • 99% ट्रांजैक्शन सही, 1% धोखाधड़ी
  • ऐसा क्लासिफायर बना सकते हैं जो किसी भी ट्रांजैक्शन को धोखाधड़ी न माने

    • 99% accurate!

    • पर असली धोखाधड़ी पहचानने में बेहद खराब

    • अपने मूल उद्देश्य में विफल

  • Class imbalance: क्लास की आवृत्ति असमान

  • प्रदर्शन आकलन का अलग तरीका चाहिए

scikit-learn के साथ Supervised Learning

Classification प्रदर्शन का आकलन: Confusion matrix

  • Confusion matrix

confusion_matrix.png

scikit-learn के साथ Supervised Learning

Classification प्रदर्शन का आकलन

 

predicted_labels.png

scikit-learn के साथ Supervised Learning

Classification प्रदर्शन का आकलन

 

actual_labels.png

scikit-learn के साथ Supervised Learning

Classification प्रदर्शन का आकलन

 

confusion_matrix.png

scikit-learn के साथ Supervised Learning

Classification प्रदर्शन का आकलन

 

true_positive.png

scikit-learn के साथ Supervised Learning

Classification प्रदर्शन का आकलन

 

true_negative.png

scikit-learn के साथ Supervised Learning

Classification प्रदर्शन का आकलन

 

false_negative.png

scikit-learn के साथ Supervised Learning

Classification प्रदर्शन का आकलन

 

false_positive.png

scikit-learn के साथ Supervised Learning

Classification प्रदर्शन का आकलन

confusion_matrix.png

  • Accuracy:

ch3_1_v3.030.png

scikit-learn के साथ Supervised Learning

Precision

precision.png

  • Precision

precision_formula.png

  • High precision = कम false positive rate
  • High precision: बहुत कम सही ट्रांजैक्शन को धोखाधड़ी बताया गया
scikit-learn के साथ Supervised Learning

Recall

recall.png

  • Recall

recall_formula.png

  • High recall = कम false negative rate
  • High recall: ज्यादातर धोखाधड़ी ट्रांजैक्शन सही पहचाने
scikit-learn के साथ Supervised Learning

F1 score

  • F1 Score: $2 * \frac{precision \ * \ recall}{precision \ + \ recall}$
scikit-learn के साथ Supervised Learning

scikit-learn में Confusion matrix

from sklearn.metrics import classification_report, confusion_matrix

knn = KNeighborsClassifier(n_neighbors=7)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.4, random_state=42)
knn.fit(X_train, y_train)
y_pred = knn.predict(X_test)
scikit-learn के साथ Supervised Learning

scikit-learn में Confusion matrix

print(confusion_matrix(y_test, y_pred))
[[1106   11]
 [ 183   34]]
scikit-learn के साथ Supervised Learning

scikit-learn में Classification report

print(classification_report(y_test, y_pred))
              precision    recall  f1-score   support

           0       0.86      0.99      0.92      1117
           1       0.76      0.16      0.26       217

    accuracy                           0.85      1334
   macro avg       0.81      0.57      0.59      1334
weighted avg       0.84      0.85      0.81      1334
scikit-learn के साथ Supervised Learning

अभ्यास करते हैं!

scikit-learn के साथ Supervised Learning

Preparing Video For Download...