Precision
- Makine Öğrenmesi kursu
- Başlangıç
- Ders 99/112
- 5 dk
Precision, pozitif tahminlerin kaçının doğru olduğunu gösterir.
Ortalama türleri
Çok sınıflı kesinlik (ve duyarlılık, F1) için sınıf skorları birleştirilmelidir:
- macro: sınıf skorlarının düz ortalaması; küçük sınıflar eşit söz sahibidir.
- weighted: sınıf büyüklüğüne göre ağırlıklı ortalama.
- micro: tüm TP ve FP'ler toplanıp tek oran hesaplanır.
for a in ["macro", "weighted", "micro"]:
print(a, round(precision_score(y_true, y_pred, average=a), 3))Küçük sınıfın başarısı önemliyse macro raporlanır.
Sınıf başına kesinlik
average=None her sınıfın kesinliğini ayrı verir. Karmaşıklık matrisinde bu, köşegenin sütun toplamlarına bölünmesidir (duyarlılıkta satır toplamları):
print(precision_score(y_true, y_pred, average=None))
cm = confusion_matrix(y_true, y_pred)
print(cm.diagonal() / cm.sum(axis=0)) # aynısıKesinlik "bu sınıf dediklerimin kaçı doğru?", duyarlılık "bu sınıftakilerin kaçını buldum?" sorusudur.
Uygulama Üç ortalama
Verilen etiketler için macro, weighted ve micro kesinliği hesapla. Her satırda adı ve değeri round(..., 3) ile yazdır.
Başlangıç kodu
from sklearn.metrics import precision_score
y_true = [0, 0, 0, 0, 0, 0, 1, 1, 2, 2]
y_pred = [0, 0, 0, 0, 0, 1, 1, 0, 2, 2]
# buraya yazÖrnek çözüm
from sklearn.metrics import precision_score
y_true = [0, 0, 0, 0, 0, 0, 1, 1, 2, 2]
y_pred = [0, 0, 0, 0, 0, 1, 1, 0, 2, 2]
for a in ["macro", "weighted", "micro"]:
print(a, round(precision_score(y_true, y_pred, average=a), 3))Beklenen çıktı
macro 0.778 weighted 0.8 micro 0.8
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Tek etiketli çok sınıflı problemde micro kesinlik neye eşittir?
- Duyarlılığın yarısına
- Doğruluğa Doğru cevap
- Macro kesinliğe
- Sıfıra
Açıklama: Her yanlış tahmin bir sınıf için FP'dir; toplam TP / toplam tahmin = doğruluk.
2 Sınıf büyüklüğüne göre ağırlıklı kesinlik al.
precision_score(y_true, y_pred, average=____)
precision_score(y_true, y_pred, average="weighted")
Açıklama: "weighted" her sınıfı destek (support) sayısıyla ağırlıklandırır.
3 Ortalama türlerini eşleştir.
| Kavram | Anlamı |
|---|---|
macro |
Sınıflara eşit ağırlık |
weighted |
Büyüklüğe göre ağırlık |
micro |
Toplam TP / toplam tahmin |
None |
Sınıf başına dizi |