Precision, recall ve F1-score nedir? Hangisini ne zaman önceliklendirirsiniz?
Cevap
Confusion matrix üzerinden tanımlanırlar (TP, FP, FN, TN):
- Precision = TP / (TP + FP): "Pozitif dediklerimin ne kadarı gerçekten pozitif?"
- Recall (sensitivity) = TP / (TP + FN): "Gerçek pozitiflerin ne kadarını yakaladım?"
- F1 = 2 · P · R / (P + R): İkisinin harmonik ortalaması. Biri çok düşükse F1 de düşük olur.
Ne zaman hangisi?
| Senaryo | Öncelik | Sebep |
|---|---|---|
| Kanser taraması | Recall | Hastayı kaçırmak (FN) çok pahalı |
| Spam filtresi | Precision | Önemli maili spam'e atmak (FP) kötü |
| Fraud tespiti | Genelde recall, ama FP'nin operasyon maliyeti de var | Precision@k veya maliyet bazlı eşik |
| Arama/öneri | Precision@k | Kullanıcı sadece ilk sonuçlara bakar |
Precision ile recall arasında bir trade-off vardır. Karar eşiğini (threshold) düşürmek recall'u artırır, precision'ı düşürür. Eşik, iş maliyetine göre seçilmelidir, varsayılan 0.5'e takılı kalınmamalıdır.
from sklearn.metrics import precision_recall_fscore_support, classification_report
print(classification_report(y_true, y_pred))Çok sınıflı problemlerde macro (her sınıfa eşit ağırlık), micro (tüm örneklere eşit ağırlık) ve weighted ortalamaları ayırt etmek gerekir. Dengesiz verilerde macro-F1 azınlık sınıfların performansını daha dürüst gösterir.
İlgili Makine Öğrenmesi soruları
- Hiperparametre optimizasyonunu nasıl yaparsınız? Grid search, random search ve Bayesian optimization'ı karşılaştırın.
- Feature scaling nedir? Standardization ile normalization arasındaki fark nedir ve hangi modeller ölçeklendirme gerektirir?
- PCA (Principal Component Analysis) nasıl çalışır? Ne zaman kullanılır, ne zaman kullanılmamalıdır?
- NumPy kullanarak k-means algoritmasını sıfırdan yazın. k değerini nasıl seçersiniz ve algoritmanın sınırlamaları nelerdir?
- XGBoost ve LightGBM klasik gradient boosting'den hangi açılardan farklıdır? En önemli hiperparametreleri nelerdir?
- Random Forest ile Gradient Boosting arasındaki fark nedir? Bagging ve boosting'i karşılaştırın.
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.