Makine Öğrenmesi Performansının Ölçülmesi
Makine öğrenmesi, verilerden öğrenerek belirli görevleri otomatik olarak yerine getirmeyi amaçlayan bir bilim dalıdır. Makine öğrenmesi algoritmaları, verileri kullanarak bir model oluşturur ve bu modeli yeni veriler üzerinde test eder. Modelin ne kadar iyi öğrendiğini ve yeni verilerde ne kadar iyi performans gösterdiğini anlamak için farklı metrikler kullanılır. Bu metrikler, modelin performansını sayısal olarak ifade eder ve modeli geliştirmek için geri bildirim sağlar. Makine öğrenmesi algoritmaları, farklı amaçlara göre sınıflandırılabilir. Sınıflandırma algoritmaları, verileri belirli kategorilere ayırmayı amaçlar. Örneğin, bir e-postanın spam olup olmadığını, bir hastanın COVID+ olup olmadığını, bir resmin hangi hayvana ait olduğunu sınıflandırmak gibi. Kestirim (regresyon) algoritmaları, verilerin sayısal bir değerini tahmin etmeyi amaçlar. Örneğin, bir evin fiyatını, bir arabanın yakıt tüketimini, bir öğrencinin notunu tahmin etmek gibi.
Sınıflandırma performansının ölçülmesi için, modelin tahminlerinin gerçek değerlerle karşılaştırılması gerekir. Bu karşılaştırma, bir karışıklık matrisi (confusion matrix) ile gösterilebilir. Karışıklık matrisi, modelin doğru ve yanlış tahminlerini dört kategoriye ayırır: Doğru pozitif (DP): Modelin pozitif olarak tahmin ettiği ve gerçekte de pozitif olan veri noktaları. Örneğin, modelin COVID+ olarak tahmin ettiği ve gerçekten de COVID+ olan hastalar. Doğru negatif (DN): Modelin negatif olarak tahmin ettiği ve gerçekte de negatif olan veri noktaları. Örneğin, modelin COVID- olarak tahmin ettiği ve gerçekten de COVID- olan hastalar. Yanlış pozitif (YP): Modelin pozitif olarak tahmin ettiği ama gerçekte negatif olan veri noktaları. Örneğin, modelin COVID+ olarak tahmin ettiği ama gerçekte COVID- olan hastalar. Bu tip hatalara Tip I hata denir. Yanlış negatif (YN): Modelin negatif olarak tahmin ettiği ama gerçekte pozitif olan veri noktaları. Örneğin, modelin COVID- olarak tahmin ettiği ama gerçekte COVID+ olan hastalar. Bu tip hatalara Tip II hata denir. Bu dört kategori, modelin performansını değerlendirmek için farklı metriklerin hesaplanmasına olanak sağlar. Bu metriklerden bazıları şunlardır: Doğruluk (accuracy): Modelin doğru tahmin ettiği veri noktalarının toplam veri noktalarına oranıdır. Yüksek doğruluk, modelin genel olarak iyi performans gösterdiğini gösterir. Ancak, sınıf dengesizliği olan durumlarda, doğruluk yanıltıcı olabilir. Örneğin, 100 hastadan sadece 10’u COVID+ olsun. Model, tüm hastaları COVID- olarak tahmin etse, doğruluk %90 olur. Ama bu modelin iyi bir performans gösterdiği anlamına gelmez. Çünkü model, COVID+ olan hastaları hiç doğru tahmin edememiştir. Doğruluk formülü şöyledir: Doğruluk= (DP+DN)/(DP+DN+YP+YN) Kesinlik (precision): Modelin pozitif olarak tahmin ettiği veri noktalarının, gerçekte de pozitif olanlara oranıdır. Yüksek kesinlik, modelin pozitif tahminlerinin güvenilir olduğunu gösterir. Kesinlik, yanlış pozitif hatalarını azaltmak istediğimiz durumlarda önemlidir. Örneğin, bir e-postayı spam olarak işaretlemek, yanlış pozitif bir hatadır. Bu hatayı yapmamak için, modelin spam olarak işaretlediği e-postaların gerçekten de spam olma olasılığının yüksek olması gerekir. Kesinlik formülü şöyledir: Kesinlik=DP/(DP+YP) Duyarlılık (recall): Modelin pozitif olarak doğru tahmin ettiği veri noktalarının, gerçekte toplam pozitif olanlara oranıdır. Yüksek duyarlılık, modelin pozitif sınıfı kaçırmadığını gösterir. Duyarlılık, yanlış negatif hatalarını azaltmak istediğimiz durumlarda önemlidir. Örneğin, bir hastayı COVID+ olarak teşhis etmek, yanlış negatif bir hatadır. Bu hatayı yapmamak için, modelin COVID+ olan hastaları doğru bir şekilde tespit etmesi gerekir. Duyarlılık formülü şöyledir: Doğruluk=DP/(DP+YN) Seçicilik (specificity): Modelin negatif olarak doğru tahmin ettiği veri noktalarının, gerçekte toplam negatif olanlara oranıdır. Yüksek seçicilik, modelin negatif sınıfı kaçırmadığını gösterir. Seçicilik, yanlış pozitif hatalarının önemli olmadığı durumlarda kullanılabilir. Örneğin, bir hastayı COVID- olarak teşhis etmek, yanlış pozitif bir hatadır. Ama bu hata, yanlış negatif hatadan daha az zararlıdır. Çünkü yanlış pozitif bir hasta, ileri testlerle doğru teşhise ulaşabilir. Seçicilik formülü şöyledir: Seçicilik=DN/(DN+YP) F1 skoru: Kesinlik ve duyarlılık arasındaki dengeyi sağlamak için kullanılan bir metriktir. F1 skoru, kesinlik ve duyarlılığın harmonik ortalamasıdır. Yüksek F1 skoru, modelin hem kesinlik hem de duyarlılık açısından iyi performans gösterdiğini gösterir. F1 skoru, sınıf dengesizliği olan durumlarda doğruluktan daha iyi bir metriktir. F1 skoru formülü şöyledir: F1 Skoru= (2×Kesinlik×Duyarlılık)/(Kesinlik+Duyarlılık) değerlerden ne kadar farklı olduğunu ölçen farklı metrikler kullanılır. Bu metriklerden bazıları şunlardır: Ortalama mutlak hata (MAE): Modelin tahminlerinin gerçek değerlerden olan ortalama mutlak farkıdır. MAE, modelin tahmin hatalarının büyüklüğünü gösterir. MAE, hataların yönünü göstermez, sadece büyüklüğünü gösterir. Ortalama karesel hata (MSE): Modelin tahminlerinin gerçek değerlerden olan ortalama karesel farkıdır. MSE, modelin tahmin hatalarının karesini alarak büyük hataları daha fazla cezalandırır. MSE, hataların yönünü göstermez, sadece büyüklüğünü gösterir. R-kare: Modelin açıkladığı varyansın, toplam varyansa oranıdır. R-kare, modelin verileri ne kadar iyi açıkladığını gösterir. R-kare, 0 ile 1 arasında bir değer alır. 0, modelin verileri hiç açıklayamadığını, 1, modelin verileri mükemmel bir şekilde açıkladığını gösterir. R-kare formülü şöyledir: R^2=1-MSE/Varyans Burada, MSE modelin ortalama karesel hatası, varyans ise verilerin ortalama değer etrafındaki dağılımıdır. Örneğin, bir öğrencinin notunu tahmin etmek için bir regresyon modeli kullandığımızı varsayalım. Model, 100 öğrencinin notunu tahmin etmiş olsun. Bu öğrencilerin gerçek notları ile modelin tahmin ettiği notlar arasındaki ortalama karesel hatayı ve verilerin varyansını hesaplayarak R-kare değerini bulabiliriz. R-kare, modelin verileri ne kadar iyi temsil ettiğini gösterir. Bu metrikler, makine öğrenmesi modellerinin performansını ölçmek için kullanılan yaygın metriklerdir. Ancak, bu metriklerin her birinin avantajları ve dezavantajları vardır. Bu nedenle, model performansını değerlendirirken, birden fazla metriği birlikte kullanmak ve veri setinin özelliklerine, iş problemine ve hedeflere göre uygun metrikleri seçmek önemlidir. Makine öğrenmesi modellerinin performansını iyileştirmek için, modelin hiperparametrelerini ayarlamak, veri setini temizlemek, öznitelik seçimi veya çıkarımı yapmak, farklı algoritmalar denemek gibi yöntemler kullanılabilir. Makine Öğrenmesi İçin Gerekli Yazılımlar Makine öğrenmesi uygulamaları geliştirmek için çeşitli yazılımlar ve platformlar mevcuttur. Makine öğrenmesi, farklı programlama dilleri ve platformlar ile gerçekleştirilebilir. Bu öğrenme birimindeki uygulamalar, popüler bir platform olan Google Colab Not Defteri ile yapılmıştır. Programlama dili olarak Python kullanılmıştır. Platform ve programlama dili, açık kaynaklı, fonksiyonel ve ücretsiz oldukları için seçilmiştir. Python, geniş bir topluluk desteğine, zengin bir kütüphane çeşitliliğine ve yüksek bir işlevselliğe sahiptir. Bu nedenle, programlama, makine öğrenmesi ve yapay zeka alanlarında son zamanlarda sıkça tercih edilen bir programlama dilidir. |