c# kodları etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
c# kodları etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

1.3.11

KNN Algoritması C# Kodları

KNN algoritması ile iki vektörün arasındaki benzerlik oranını bulan fonksiyon aşağıdadır.

Burada  KNN algoritması ile ilgili bilgi ve formül vardır. Aşağıdaki kodlar formülün koda dökülmüş halidir. C# ile yazılmışlardır.

Aşağıdaki fonksiyon iki vektörü karşılaştırır, siz bu fonksiyonu bir for döngüsü içinde kullanarak birden fazla vektörü de karşılaştırabilirsiniz, elde edeceğiniz benzerlik oranlarından en yükseği size en benzer iki vektörün hangisi olacağını verecektir.

Umarım faydalı olur..

 
   class KNN
    {
 
        public float knnBenzerlikHes(float[] gelenMailVectoru, float[] q)
        {
            float benzerlikOranı = 0;
            float toplamUst = 0, toplamAlt1 = 0, toplamAlt2 = 0;
 
            for (int i = 0; i < gelenMailVectoru.Length; i++)
            {
                toplamUst += float.Parse(gelenMailVectoru[i].ToString()) * float.Parse(q[i].ToString());
 
                toplamAlt1 += float.Parse(gelenMailVectoru[i].ToString()) * float.Parse(gelenMailVectoru[i].ToString());
 
                toplamAlt2 += float.Parse(q[i].ToString()) * float.Parse(q[i].ToString());
            }
 
            benzerlikOranı = toplamUst / (float)(Math.Sqrt(toplamAlt1) * Math.Sqrt(toplamAlt2));
 
            return benzerlikOranı; //0 ile 1 arasında bir değer döner. 1'e ne kadar yakınsa benzerlik o kadar fazladır.
 
 
        }
 
    }
Related Posts Plugin for WordPress, Blogger...