Modeliniz ne kadar iyi?

scikit-learn ile Supervised Learning

George Boorman

Core Curriculum Manager, DataCamp

Sınıflandırma metrikleri

  • Doğruluk ile model performansı ölçümü:

    • Doğru sınıflanan örneklerin oranı

    • Her zaman faydalı bir metrik değildir

scikit-learn ile Supervised Learning

Sınıf dengesizliği

  • Sahte banka işlemlerini tahmin için sınıflandırma

    • İşlemlerin %99'u meşru; %1'i sahte
  • Tüm işlemleri SAHTE DEĞİL diye tahmin eden bir sınıflandırıcı kurulabilir

    • %99 doğru!

    • Ancak sahte işlemleri yakalamada çok kötü

    • İlk amacını karşılamaz

  • Sınıf dengesizliği: Sınıf frekansları eşit değil

  • Farklı bir değerlendirme yöntemi gerekir

scikit-learn ile Supervised Learning

Sınıflandırma performansını değerlendirmek için karmaşıklık matrisi

  • Karmaşıklık matrisi

karmaşıklık_matrisi.png

scikit-learn ile Supervised Learning

Sınıflandırma performansını değerlendirme

 

tahmin_edilen_etiketler.png

scikit-learn ile Supervised Learning

Sınıflandırma performansını değerlendirme

 

gerçek_etiketler.png

scikit-learn ile Supervised Learning

Sınıflandırma performansını değerlendirme

 

karmaşıklık_matrisi.png

scikit-learn ile Supervised Learning

Sınıflandırma performansını değerlendirme

 

doğru_pozitif.png

scikit-learn ile Supervised Learning

Sınıflandırma performansını değerlendirme

 

doğru_negatif.png

scikit-learn ile Supervised Learning

Sınıflandırma performansını değerlendirme

 

yanlış_negatif.png

scikit-learn ile Supervised Learning

Sınıflandırma performansını değerlendirme

 

yanlış_pozitif.png

scikit-learn ile Supervised Learning

Sınıflandırma performansını değerlendirme

karmaşıklık_matrisi.png

  • Doğruluk:

ch3_1_v3.030.png

scikit-learn ile Supervised Learning

Kesinlik

kesinlik.png

  • Kesinlik (precision)

precision_formula.png

  • Yüksek kesinlik = daha düşük yanlış pozitif oranı
  • Yüksek kesinlik: Az sayıda meşru işlem sahte olarak tahmin edilir
scikit-learn ile Supervised Learning

Duyarlılık

duyarlılık.png

  • Duyarlılık (recall)

recall_formula.png

  • Yüksek duyarlılık = daha düşük yanlış negatif oranı
  • Yüksek duyarlılık: Çoğu sahte işlem doğru tahmin edilir
scikit-learn ile Supervised Learning

F1 skoru

  • F1 Skoru: $2 * \frac{precision \ * \ recall}{precision \ + \ recall}$
scikit-learn ile Supervised Learning

scikit-learn'de karmaşıklık matrisi

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 ile Supervised Learning

scikit-learn'de karmaşıklık matrisi

print(confusion_matrix(y_test, y_pred))
[[1106   11]
 [ 183   34]]
scikit-learn ile Supervised Learning

scikit-learn'de sınıflandırma raporu

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 ile Supervised Learning

Hadi pratik yapalım!

scikit-learn ile Supervised Learning

Preparing Video For Download...