K-NN (K-Nearest Neighbors) Algoritması (Python)

K-NN Algoritması nedir?

K-NN’nin uygulanması (kaynak)
  1. k değerinin belirlenmesi,
  2. Veriseti üzerindeki komşuların belirlenmesi,
  3. En yakın k komşunun etiket değerlerinin belirlenmesi,
  4. k komşu arasından çoğunluğun etiketine göre, yeni verinin etiketinin belirlenmesi.

Uygulama

Iris çiçeklerinin setosa, versicolor ve virginica türleri (kaynak)
Iris örneklerinin, sepal ve petal özelliklerine göre dağılımı.
  • dist: Veriseti üzerindeki iki satırın/örneğin özellik değerlerinin uzaklığını hesaplamaktadır. Bunun için Öklid uzaklık formülü kullanılmaktadır.
  • get_nearest_neighbors: Parametre olarak aldığı örneği, veriseti üzerindeki diğer örneklerle karşılaştırarak, herbirine olan uzaklığı hesaplamaktadır. Uzaklıkların tutulduğu distances listesi, nihayetinde en yakından uzağa doğru sıralanır ve baştan k tanesi neighbors listesine eklenerek geri döndürülür.
  • predict: Kullanıcıdan test ve eğitim örneklerini almaktadır. Bahsettiğimiz gibi K-NN algoritması, model oluşturmaksızın çalışmaktadır. Dolayısıyla buradaki eğitim örnekleri, doğrudan test örnekleriyle karşılaştırılarak kullanılmaktadır. Her bir test örneği için en yakın k komşu hesaplanır ve bunların etiket değerleri targets listesine eklenir. Listede en fazla bulunan etiket değeri de, test örneğinin etiket değeri olarak atanır ve bu şekilde tahmin edilen tüm örnekler, y_predict listesiyle geri döndürülür.
Confusion matrix (Hata Matrisi)

--

--

--

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Ahmet Ataşoğlu

Ahmet Ataşoğlu

More from Medium

Datatypes in python and typecasting

Hello World in Python

House Loan Amount Prediction on Python

Python OOPS Concepts(Types Of Variables)