Model başarısını nasıl ölçeriz? Accuracy, Precision, Recall
Bir modelin “iyi” olması, tek bir sayıyla ölçülemez; doğru metrik doğru problemi çözer.
Bir makine öğrenmesi modeli eğittiğinde elde ettiğin ilk şey genellikle bir tahmin listesi olur; ancak bu tahminlerin ne kadar doğru olduğunu anlamadan modelin gerçekten işe yarayıp yaramadığını söylemek mümkün değildir. İşte bu noktada devreye değerlendirme metrikleri girer ve çoğu zaman yeni başlayanların en çok hata yaptığı yer de burasıdır: her problemi sadece accuracy (doğruluk) ile değerlendirmek.
Accuracy, en basit haliyle modelin doğru tahmin ettiği örneklerin oranını ifade eder ve ilk bakışta oldukça yeterli görünür. Ancak veri seti dengesiz olduğunda bu metrik yanıltıcı olabilir. Örneğin bir dolandırıcılık tespit sistemi düşün; işlemlerin %99’u normal, %1’i dolandırıcılık olsun. Model her şeye “normal” derse %99 accuracy elde eder, ama gerçekte hiçbir işe yaramaz.
Bu yüzden özellikle sınıflandırma problemlerinde daha detaylı metriklere ihtiyaç duyarız: precision ve recall.
Precision, modelin “pozitif” dediği tahminlerin ne kadarının gerçekten pozitif olduğunu ölçerken; recall ise gerçek pozitiflerin ne kadarını yakalayabildiğimizi gösterir. Bu iki metrik arasındaki fark, özellikle kritik sistemlerde hayati önem taşır.
Örnek: Temel metrik hesaplama
Bu kod parçası küçük bir örnek olsa da, gerçek projelerde modelin hangi açıdan güçlü ya da zayıf olduğunu anlamanı sağlar.
Precision ve recall arasında genellikle bir denge vardır ve bu denge problemin doğasına göre değişir. Örneğin bir spam filtreleme sisteminde, önemli bir e-postayı yanlışlıkla spam olarak işaretlemek ciddi bir problem yaratır; bu yüzden precision daha önemli olabilir. Öte yandan bir hastalık tespit sisteminde, hasta bir bireyi kaçırmak çok daha kritik olduğu için recall ön plana çıkar.
Bu iki metriğin dengeli bir kombinasyonu olarak F1-score da sıkça kullanılır ve özellikle tek bir metrikle performansı özetlemek istediğinde oldukça faydalıdır.
Örnek: F1-score
Gerçek dünyada iyi bir mühendis, sadece model kuran değil, aynı zamanda doğru metriği seçebilen kişidir. Çünkü yanlış metrikle optimize edilen bir model, teknik olarak “başarılı” görünse bile iş problemini çözmeyebilir.
Gerçek Hayat
Bir kredi kartı dolandırıcılık sisteminde recall düşükse, dolandırıcılık işlemlerini kaçırırsın; precision düşükse, normal kullanıcıları gereksiz yere engellersin. Hangi hatanın daha kritik olduğuna göre metrik seçimi yapılır.
Model performansı tek bir sayı değildir; doğru problemi çözmek için doğru metriği seçmek gerekir.
Yazan
Ertan Dağdelen
Brain & Youth Information Worker, Author, .Net, Flutter, AJAX, Arduino & Esp32, Pcb, 3D, Galatasaray, Gemini
Diğer Yazılar
Uygulamalı örnek: Python ile ev fiyat tahmini modeli geliştirme
Makine öğrenmesi sadece sınıflandırma değil, aynı zamanda tahmin yapma işidir. Bu yazıda gerçek hayata çok yakın bir problem olan ev fiyat tahmini üzerinden bir AI modelini adım adım kuracağız. Sayısal verilerle çalışmayı, model eğitmeyi ve tahmin yapmayı pratik bir örnekle öğreneceksin.
Uygulamalı örnek: Python ile adım adım spam mail sınıflandırıcı yapımı
Artık teoriyi biliyorsun ama gerçek bir AI projesi nasıl yapılır? Bu yazıda sıfırdan bir spam mail sınıflandırıcı geliştirerek makine öğrenmesi sürecini uçtan uca göreceksin. Veri hazırlamadan model eğitmeye, metriklerle değerlendirmeden sonuç üretmeye kadar her adımı basit ve anlaşılır şekilde uygulayacağız.
Doğru model hangisi: Basit mi, derin mi?
Yapay zeka öğrenmeye başlayanların en büyük hatalarından biri, her problemi derin öğrenme ile çözmeye çalışmaktır. Oysa doğru yaklaşım her zaman en karmaşık modeli kullanmak değil, probleme en uygun çözümü seçmektir. Bazen basit bir model yeterliyken, bazen de gerçekten derin öğrenmeye ihtiyaç duyulur. Önemli olan bu farkı anlayabilmektir.