Machine Learning — Classification — Logistic Regression — Part 8

Ekrem Hatipoglu
3 min readJul 11, 2018

--

Makine öğrenmesinde sayısal verilerin tahmin edilmesi için Prediction Algorithms ( Tahmin algoritmaları ) kullanılır. Sayısal olmayan yani kategorik verilerin tahmini için ise Classification ( Sınıflandırma ) kullanılır.

Örneğin sınıflandırma ile bir kişinin erkek mi yoksa kadın mı yada hasta mı yoksa sağlıklı mı olduğunu tahmin edebiliriz.

Logistic Regression

Logistic Regression ( Lojistik Regresyon ) sınıflandırma işlemi yapmaya yarayan bir regresyon yöntemidir. Kategorik veya sayısal verilerin sınıflandırılmasında kullanılır. Bağımlı değişkenin yani sonucun sadece 2 farklı değer alabilmesi durumda çalışır. ( Evet / Hayır, Erkek / Kadın, Şişman / Zayıf vs. )

Doğrusal sınıflandırma problemlerinde yaygın bir biçimde kullanılır. Bu sebeple Linear Regression ile çok benzemektedir.

Linear ve Logictic Regression karşılaştırılması

Not : Yapıcağımız örnekteki veri dosyasını buraya tıklayarak indirebilirsiniz.

Örnek yapağımız uygulamada veri dosyasındaki eksik değerleri düzeltip, bir model oluşturup Logistic Regression kullanarak cinsiyet tahmini yapılacaktır.

Sonuç : Bu modelin %54 oranında bir başarı oranı vardır.

Confusion Matrix ( Karmaşıklık Matrisi )

Karmaşıklık matrisi test verisi ile tahmin değerlerinin karşılaştırmamızı ve yaptığımız modelimizin performansını ölçmemizi sağlar.

TP ( True Positive )ve TN ( True Negative )değerleri doğru değer sayısını verir.

FP ( False Positive )ve FN ( False Negative )değerleri yanlış değer sayısını verir.

Doğru değer sayısının tüm değer sayılarına oranı Doğru Tahmin Oranını gösterir.

Yanlış değer sayısının tüm değer sayılarına oranı Yanlış Tahmin Oranını gösterir.

Şimdi yaptığımız örneği karmaşıklık matrisi ile karşılaştıralım ve sonucu değerlendirelim.

Aşağıdaki Python kodunu yazarak karmaşıklık matrisini elde edebiliriz.

Karmaşıklık Matrisi Sonucu

Kodu çalıştırdıktan sonra konsolda yukarıdaki gibi bir çıktı gözlemlemeniz gerekmektedir. Burada yeşil kutucuk içerisindeki değerler doğru tahminler, kırmızı kutucuk içerisindekiler ise yanlış tahminlerdir.

79 + 30 +33 +153 = 295 tane veri içinden 232 tanesini doğru tahmin edilirken 63 tanesi yanlış tahmin edilmiştir.

Başarı oranı 232 / 295 = 0,7864… ‘ tür.

Başarı oranını kendimiz hesaplayabileceğimiz gibi Python kodu ile de hesaplayabiliriz.

Yukarıdaki kod çalıştırıldığında sonucun kendi hesapladığımız değerle aynı olduğunu göreceksiniz. ( 0.7864406779661017 )

Sonuç

Hepsi bu kadar. Bu yazıda makine öğrenmesinin 2. bölümü olan Classification’a ( Sınıflandırma ) giriş yaptık ardından Logistic Regression’ın ve Confusion Matrix’ in ( Karmaşıklık Matrisi ) ne olduğunu tüm bunların Python dili ile nasıl kodlanabileceğini öğrendiniz.

Okuduğunuz için teşekkürler

--

--