Gauss NB Arduino ile Kullanmak

Gauss NB Sınıflandırıcısını Arduino ile Kullanmak

Ayarlamak için minimum miktarda parametreye sahip en iyi performans gösteren sınıflandırıcılar mı arıyorsunuz? Başka yere bakmayın: Aradığınız şey Gauss Naive Bayes, ayrıca microML sayesinde artık onu mikrodenetleyicinize kolaylıkla taşıyabilirsiniz.

Gauss NB Arduino ile Kullanmak Gaussian Naive Bayes,gaussian naive bayes classifier,gaussian naive bayes explained,gaussian naive bayes python,gaussian naive bayes sklearn

Gaussian Naive Bayes

Naive Bayes sınıflandırıcıları, sınıflandırma için kullanılabilecek olasılık teorisine dayalı basit modellerdir.

Girdi değişkenleri arasındaki bağımsızlık varsayımından kaynaklanırlar. Bu varsayım, vakaların büyük çoğunluğunda doğru olmasa da, çoğu sınıflandırma görevinde genellikle çok iyi performans gösterirler, bu nedenle oldukça popülerdirler.

Gauss Naive Bayes başka bir (çoğunlukla yanlış) varsayımı birleştirir: değişkenlerin bir Gauss olasılık dağılımı gösterir.

Bu kadar çok yanlış varsayımın bu kadar iyi performanslara yol açmasının kabul etmek zor olsada, oldukça iyi çalışan bir sınıflandırıcı olması onu tercin nedenlerin biri yapmakta.

Bununla birlikte, bizim için önemli olan sklear’ın GaussianNB‘yi uygulamasıdır, bu yüzden böyle bir sınıflandırıcıyı kolayca eğitiriz.
En ilginç kısım, gaussianNB’nin tek bir parametre ile ayarlanabilmesidir: var_smoothing.

Bu basit kod, farklı bir var_smoothingfaktöre sahip bir grup sınıflandırıcıyı eğitecek ve en iyi performans göstereni seçecektir.

EloquentML Uygulaması

Eğitilmiş sınıflandırıcınızı edindikten sonra, onu C’ye taşımak her zamanki gibi kolaydır:

port birçok sınıflandırıcıyı taşıyabilen kullanışlı bir yöntemdir: sizin için uygun dönüştürücüyü otomatik olarak algılayacaktır.

Dışa aktarılan kod neye benziyor?

Kıyaslamalar

Arduino Nano 33 Ble Sense ile yapılan testlerin raporu:

SınıflandırıcıVeri kümesiFlaşVeri deposuUygulama vaktiKesinlik
GaussNBİris (150×4)82 kb42 Kb65 ms%97
LinearSVCİris (150×4)83 Kb42 Kb76 ms%99
GaussNBMeme kanseri (80×40)90 Kb42 Kb160 ms%77
LinearSVCMeme kanseri (80×40)112 Kb42 Kb378 ms%73
GaussNBWinw (100×13)85 Kb42 Kb130 ms%97
LinearSVCWine (100×13)89 Kb42 Kb125 ms%99

Doğruluğun doğrusal bir SVM ile eşit olduğunu ve bazı veri kümelerinde% 97’ye ulaştığını görebiliriz. Sadeliği, yürütme süresinin çizgilerin yarısı olduğu yüksek boyutlu veri kümeleriyle (meme kanseri) göz önüne çıkıyor: Bu kalıbın diğer gerçek dünya, orta ölçekli veri kümeleriyle tekrarlandığını görebiliriz.

Sorun Giderme

micromlgen kullanırken TemplateNotFound hatası alabilirsiniz, böyle bir durumda kütüphaneyi kaldırıp tekrar kurarak sorunu gidebilirsiniz:

pip uninstall micromlgen

Ardından Github’a gidin, paketi zip olarak indirin ve micromlgenklasörünü projenize çıkarın.

Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.