DEV Community

MustafaLSailor
MustafaLSailor

Posted on

K-NN Algorithm

KNN, denetimli öğrenme algoritmalarından biridir ve hem sınıflandırma hem de regresyon problemleri için kullanılabilir. Ancak genellikle sınıflandırma problemlerinde daha yaygın olarak kullanılır.

KNN'nin temel prensibi oldukça basittir: Bir örneğin sınıfı, en yakın komşularının sınıfları tarafından belirlenir. "K", algoritmanın dikkate alacağı en yakın komşu sayısını temsil eder.

Algoritma şu şekilde çalışır:

Öncelikle, K değeri belirlenir. Bu, genellikle çapraz doğrulama yoluyla yapılır.
Yeni bir örnekle karşılaştığında, algoritma bu örneği eğitim setindeki tüm örneklerle karşılaştırır ve en yakın K örneği bulur. Bu genellikle Öklidyen mesafe veya Manhattan mesafe gibi bir mesafe metriği kullanılarak yapılır.

Sınıflandırma için, algoritma en yakın K örneğin en yaygın sınıfını seçer. Regresyon için, algoritma genellikle en yakın K örneğin ortalamasını alır.
KNN'nin avantajları arasında basitliği ve sezgiselliği bulunur. Ayrıca model eğitimi gerektirmez, bu da onu "tembel öğrenme" algoritması yapar. Ancak, büyük veri setlerinde çok yavaş olabilir ve dengesiz veri setlerinde kötü performans gösterebilir.

KNN'nin başarısı büyük ölçüde doğru K değerinin seçimine ve uygun mesafe metriğinin kullanılmasına bağlıdır. Ayrıca, tüm özelliklerin uygun şekilde ölçeklendirilmesi gereklidir, çünkü KNN mesafeye dayalı bir algoritmadır ve farklı ölçeklerdeki özellikler yanıltıcı sonuçlara yol açabilir.

Son yıllarda, derin öğrenme ve daha karmaşık algoritmaların yükselişi nedeniyle KNN belki de biraz göz ardı edilmiştir. Ancak, hala belirli durumlar için güçlü ve etkili bir seçenek olabilir, özellikle de verilerin doğal bir şekilde gruplandığı durumlardır.

Daha iyi anlamak için Şadi Evren hoca'nın sitesine bakabilirsiniz. ==>
https://bilgisayarkavramlari.com/2008/11/17/knn-k-nearest-neighborhood-en-yakin-k-komsu/

Mesafe ölçüm formülleri
Image description

Top comments (0)