Ana içeriğe atla

Python - KNN (Sınıflandırma)

KNN, Denetimli Öğrenmede sınıflandırma ve regresyon için kullanılan algoritmalardan biridir. En basit makine öğrenmesi algoritması olarak kabul edilir. KNN ile temelde yeni noktaya en yakın noktalar aranır. K, bilinmeyen noktanın en yakın komşularının miktarını temsil eder. Sonuçları tahmin etmek için algoritmanın k miktarını (genellikle bir tek sayı) seçeriz.

KNN sınıflandırmasında, çıktı sınıf üyeliğidir. Bir nesne, komşularının çoğunluk oyuyla sınıflandırılır; nesne, en yakın komşuları arasında en yaygın olan sınıfa verilir (k, küçük bir pozitif bir tam sayı). Eğer k = 1 ise, nesne basitçe o en yakın komşunun sınıfına atanır. 


Yine diabets veri setini kullanacağım. Modelimi kurduktan sonra test setimi tahmin et dedikten sonra ilkel doğruluk oranımı (%68) hesaplıyorum. Daha sonra özet değerleri görmek için sınıflandırma raporu hazırlıyorum. 


Şimdi model tuning aşamasına geçebilirim. Modelimdeki k neighbors sayısının 1 ile 50 arası değerlerden oluşsun diyorum ve modelimi buna göre kurduktan sonra 10 katlı cross validation yapıyorum. 


Yeni modelime göre en optimum skoru ve en optimum k sayısını getir diyorum. Burada skorun %75 k yani komşu sayım ise 11 geliyor. Buna göre yani en optimum k sayısı olan 11’e göre modelimi kurup tune ediyorum. Son olarak tune edilmiş model üzerinden test setimi tahmin et dedikten sonra doğruluk skoruma bakıp analizimi sonlandırıyorum.


Yorumlar