Bir veri bilimi projesi yaparken sektörde en sık rastladığımız problem sınıflandırma problemi olacaktır. Örneğin e-postalarımızda spam tespiti bir sınıflandırma problemidir. Çünkü algoritmanın karar vermesi gereken iki sınıf var: Spam veya spam değil. Peki makine bu sınıflandırma kararını nasıl veriyor?
Sınıflandırma kavramı; veriyi, bir veri kümesi üzerinde tanımlanan iki veya daha fazla sınıfa ayırarak dağıtmaktır. Sınıflandırma modelleri ona verilen eğitim (train) veri setinden hangi veriyi hangi sınıfa atayacağını öğrenir. Daha sonra test verilerini doğru sınıflara atamaya çalışır. Verilen bu sınıflara etiket (label) denir.
Sınıflandırma modelleri doğrusal değildir.
Sınıflandırma problemine, y’nin kesikli olduğu gerçeğini göz ardı ederek yaklaşabiliriz ve x değerini tahmin etmeye çalışmak için doğrusal regresyon algoritmasını yani lojistik regresyonu kullanabiliriz. Bunun yanısıra, makine öğrenmesi dünyasında daha pek çok sınıflandırma modeli mevcuturt. Bu yazıda, makine öğrenmesinde sıkça kullanılan sınıflandırma algoritmalarına bir göz atacağız. Keyifli okumalar…
Naive Bayes sınıflandırıcı, olasılıklı bir makine öğrenmesi sınıflandırma modelidir. Sınıflandırıcının temel noktası Bayes teoremine dayanmaktadır. Bayes teoremi bir durumun olasılığının, önceki olayların olasılığından yola çıkarak bulunmasıdır.
P(A/B) = B olayı gerçekleştiğinde A olayının gerçekleşme olasılığı
P(A) = A olayının gerçekleşme olasılığı
P(B/A) = A olayı gerçekleştiğinde B olayının gerçekleşme olasılığı
P(B) = B olayının gerçekleşme olasılığı
Destekçi Vektör Makinesi, denetimli bir makine öğrenimi modelidir. SVM kullanarak hem sınıflandırma hem de regresyon uygulayabiliriz. Ancak daha çok sınıflandırma problemlerinde kullanılmaktadır. Amacı ise iki sınıf arasındaki ayrımın optimum olmasını sağlayacak hiper-düzlemi bulmaktır.
Bir şeker hastalığı tespiti problemini düşünelim. İlgili veri seti ile modeli eğittik ancak sonuç bize şeker hastası olan birinin hasta olmadığını veriyor. Destekçi vektörü sınıflandırıcısının devreye girdiği yer burasıdır.
Bu algoritmada, her bir veri maddesini belirli bir koordinatın değeri olan özelliklerin, bağımsız değişkenlerin değeri ile birlikte n-boyutlu boşluğa (n : sahip olduğunuz özelliklerin sayısı) bir nokta olarak çizilir. Ardından, iki sınıftan oldukça iyi ayrım yapan hiper-düzlemi bularak sınıflandırma gerçekleştirilir. Destek vektörleri, sadece gözlemin koordinatlarıdır. Destekçi vektör makinesi, iki sınıfı birbirinden en iyi ayıran sınırdır.
Karar ağacı, hem sınıflandırma hem de regresyon problemleri için kullanılabilen ancak çoğunlukla sınıflandırma problemlerinin çözümünde tercih edilen bir denetimli öğrenme tekniğidir. Amaç, veri özelliklerinden çıkarılan basit karar kurallarını öğrenerek bir hedef değişkenin değerini tahmin eden bir model oluşturmaktır. Karar ağacını kullanmanın iki nedeni vardır:
Karar ağacı tek bir düğüm ile başlar ve yeni sonuçlarla dallanmaya başlar. Bir ağaç oluşturmak için CART (Sınıflandırma ve Regresyon Ağacı) algoritması kullanılır.
Cart’ın temel amacı veri seti içerisindeki karmaşık yapıları basit karar yapılarına dönüştürmektir. Heterojen veri setleri belirlenmiş bir hedef değişkene göre homojen alt gruplara ayrılır. Algoritmik şekilde belirli referans noktalarına göre optimize edilerek karar kuralları çıkarılır. Karar kuralları belirlendikten sonra Excel, SQL ve Python’da çalıştırılabilir.
Temeli birden çok karar ağacının ürettiği tahminlerin bir araya getirilerek değerlendirilmesine dayanır. Bagging (Breiman,1996) ve Random Subspace(Ho, 1998) yöntemlerinin bir birleşimi ile oluşmuştur. Ağaçlar için gözlemler bootstrap rastgele örnek seçimi yöntemi ile, değişkenler random subspace yöntemi ile seçilir. Bagging yönteminde ağaçların birbirine bağımlılıkları yokken, boosting yöntemi ağaçlar üzerine kuruludur.
Veri setinin içerisinden rastgele seçim yapılarak ağaç modelleri oluşturulur. Bu rastgelelik ve kısıtlar ile veri setinin içerisindeki farklı gözlemleri açıklayabilecek farklı değişken örüntüleri modellenme imkanı bulunur. Böylece aşırı öğrenmenin de önüne geçilir.
Rastgele orman algoritmaları, eğitimden önce ayarlanması gereken üç ana hiperparametreye sahiptir. Bunlar; düğüm boyutunu, ağaç sayısını ve örneklenen özelliklerin sayısını içerir. Daha sonra rastgele orman sınıflandırıcısı, regresyon veya sınıflandırma problemlerini çözmek için kullanılabilir.
“Bana arkadaşını söyle, sana kim olduğunu söyleyeyim!”
Gözlemlerin birbirine olan benzerlikleri üzerinden tahmin yapılır. KNN, regresyon ve sınıflandırma problemleri için kullanılabilir. Sınıflandırma problemlerinde en yakın k adet gözlemin bağımlı değişkenlerinin (y) en sık gözlenen frekansı (mod) tahmin edilen sınıf olur.
Uzaklık temelli yöntemlerde ve gradient descent yönteminde, değişkenlerin standartlaştırılması elde edilecek sonuçların hız ve doğruluğu göz önünde bulundurulduğunda daha başarılı olmasını sağlamaktadır. Bunun için bağımsız değişkenler (x) standartlaştırılır.
Makine öğrenmesi ve veri bilimi hakkında daha detaylı bilgi sahibi olmak için Miuul Makine Öğrenmesi eğitimine göz atabilirsiniz. FLO, THY ve Scoutium gibi şirketlerin gerçek hayat verileri ile projeler yapmak için Data Scientist eğitimine kayıt olabilir ve mentorluk sistemi ile oluşturulmuş kariyer yolculuklarımızda yerinizi alabilirsiniz.
Kaynaklar