C++ ile Makine Öğrenmesi (KNN Algoritması Örneği)

Bu makalede makine öğrenmesi (machine learning) üzerine bir örnek yer almaktadır. Örnek C++ ile yazılmış KNN algoritması (k-nearest neighbors algorithm) kullanılmıştır. Yazılan kod basit bir vektör veri kümesi alır ve her veri noktası için en yakın komşuyu bulur.

Girişimiz, bir veri kümesi içeren data.csv adında bir dosyadır. Oluşturacağımız dosya aşağıdaki verileri içerir:

3, 3, 3, 3, 0

3, 4, 4, 3, 0

3, 4, 4, 3, 0

3, 3, 4, 3, 0

3, 6, 4, 3, 0

2, 4, 4, 3, 0

2, 4, 4, 1, 0

3, 3, 3, 2, 0

3, 4, 4, 2, 0

3, 4, 4, 2, 0

3, 3, 4, 2, 0

3, 6, 4, 2, 0

2, 4, 4, 2, 0

Uygulamaya ait C++ KODU

using namespace std;

using namespace mlpack; // Komşu Arama ve En Yakın Komşu Sıralaması

using namespace mlpack::neighbor; // Manhattan Mesafesi

using namespace mlpack::metric;

void mlModel()

{

// Armadillo bir C ++ doğrusal cebir kütüphanesidir;

 // mlpack matris veri türünü kullanır.    

    arma::mat data;

    data::Load("data.csv", data, true);

  

    /*

    Bir NeighborSearch modeli oluşturun. Modelin parametreleri şablonlarla belirtilir:

  1. Sıralama yöntemi: "En YakınNeighborSort"

Bu sınıf mesafeyi artırarak sıralar.

  1. Mesafe metriği: "ManhattanDistance"

L1 mesafesi, mutlak mesafelerin toplamı.

  1. Referans veri kümesini (aranacak vektörler) yapıcıya iletin.     */

 

    NeighborSearch<NearestNeighborSort, ManhattanDistance> nn(data);

    // yukarıdaki satırda modelimizi eğittik ve verileri modele yerleştirdi

    //şimdi tahmin edeceğiz

    arma::Mat<size_t> neighbors; // Tutulacak matrisler

    arma::mat distances; // sonuçlar

  

    /*En yakın komşuları bulun. Bağımsız değişkenler: -

  1. k = 1, Bulunacak komşu sayısını belirtin
  2. Bu durumda komşuları ve mesafeleri tutan matrisler

     */    

    nn.Search(1, neighbors, distances);

    // yukarıdaki satırda en yakın komşuyu buluyoruz

  

    // Her bir komşu ve mesafesi yazdırılır.

    for (size_t i = 0; i < neighbors.n_elem; ++i)

    {

        std::cout << i << "Noktasına en yakın komşu nokta "  

                  << neighbors[i] << " ve mesafesi ise " 

                  << distances[i] << ".\n";

    }

}

int main()

{

    mlModel();

    return 0;

}

  

KOD ÇALIŞTIRILDIĞINDA:

Output:

0 Noktasına en yakın komşu nokta 7 ve mesafesi ise 1.

1 Noktasına en yakın komşu nokta 2 ve mesafesi ise 0.

2 Noktasına en yakın komşu nokta  1 ve mesafesi ise 0.

3 Noktasına en yakın komşu nokta  10 ve mesafesi ise 1.

4 Noktasına en yakın komşu nokta  11 ve mesafesi ise 1.

5 Noktasına en yakın komşu nokta  12 ve mesafesi ise 1.

6 Noktasına en yakın komşu nokta  12 ve mesafesi ise 1.

7 Noktasına en yakın komşu nokta  10 ve mesafesi ise 1.

8 Noktasına en yakın komşu nokta  9 ve mesafesi ise 0.

9 Noktasına en yakın komşu nokta  8 ve mesafesi ise 0.

10 Noktasına en yakın komşu nokta  9 ve mesafesi ise 1.

11 Noktasına en yakın komşu nokta  4 ve mesafesi ise 1.

12 Noktasına en yakın komşu nokta  9 ve mesafesi ise 1.

‘Yapay sinir ağı’, ‘yapay sinir ağları nedir’, ‘derin öğrenme nedir’, ‘deep learning nedir’, ’bulanık mantık nedir’, ‘fuzzy logic nedir’, ‘yapay sinir ağları uygulamaları’, ‘makine öğrenmesi’, ‘yapay sinir ağı algoritmaları’, ‘makine öğrenmesi ve derin öğrenme’, regresyon, ‘machine learning nedir’, matlab, ‘matlab örnekleri’, ‘matlab machine learning’, ‘artificial neural networks’

KAYNAK: https://www.geeksforgeeks.org/machine-learning-in-c/

'ysa, matlab, 'matlab ysa', 'yapay sinir ağları', 'ysa ile denklem çözümü', 'Geri Yayılım Yöntemi', 'matlab ysa uygulamaları', 'yapay zeka', 'ysa uygulaması', 'artificial neual networks', 'matlab uygulamaları', 'ysa uygulamaları', 'yapay sinir ağı uygulamaları', 'Ali Osman Gökcan', 'Ali Osman Hoca', 'Ali Osman', 'ali osman matlab', 'ysa c++ örneği', 'c++ makine öğrenmesi', 'matlab makine öğrenmesi', 'matlab machine learning', 'machine learning example', 'knn algoritması', 'k-nearest neighbors algorithm'

 --->>>Matlab Fuzzy Logic Toolbox ile Tahmin Örneği için TIKLAYINIZ <<<---

 --->>>Matlab Nntool Toolbox ile Regresyon Örneği için TIKLAYINIZ <<<---

 --->>>C++ ile Geri Yayılım Algoritması Örneği için TIKLAYINIZ <<<---

--->>> YSA ile XOR Kapısı Problem Çözümü için TIKLAYINIZ <<<---

--->>> Matlab'da Analitik Yöntem & Euler Metodu karşılaştırması için TIKLAYINIZ <<<---  

--->>> YSA ile 2 Bilinmeyenli Denklem Çözümü için TIKLAYINIZ <<<---

--->>> YSA ile 1.Dereceden 3 Bilinmeyenli Denklem Çözümü için TIKLAYINIZ <<<---

NOT: Sitede, yapay sinir ağı, yapay sinir ağları nelerdir, derin öğrenme nedir, deep learning nedir, bulanık mantık nedir, fuzzy logic nedir, yapay sinir ağları uygulamaları, makine öğrenmesi, yapay sinir ağı algoritmaları, makine öğrenmesi ve derin öğrenme, regresyon, machine learning nedir, matlab, matlab örnekleri, matlab machine learning gibi soruların cevaplarına yönelik içerikler yer almaktadır.

Bilgilendirme

www.aliosmangokcan.com sayfasına gösterdiğiniz ilgiden dolayı teşekkür ederim. İçeriklerle ilgili duygu ve düşüncelerinizi mail adresim üzerinden iletebilirsiniz...

 

İstatistikler

  • Kullanıcılar 1
  • Makaleler 112
  • Makale Görüntüleme 876572