Naive Bayes Sınıflandırıcısı: Artıları ve Eksileri, Uygulamalar ve Açıklanan Türler
Yayınlanan: 2020-12-11Hızlı bir problem çözme algoritmasına ihtiyacınız olduğunda nereye gidersiniz? Naive Bayes sınıflandırıcısına gidersiniz. Çeşitli sınıflandırma problemlerini çözebilen hızlı ve basit bir algoritmadır. Bu yazıda bu algoritmanın ne olduğunu, nasıl çalıştığını ve niteliklerinin neler olduğunu anlayacağız. Başlayalım.
İçindekiler
Naive Bayes Sınıflandırıcısı nedir?
Naive Bayes sınıflandırıcısı, tüm tahmin edicilerin birbirinden bağımsız olduğu varsayımıyla birlikte, Bayes Teoremine göre verileri farklı sınıflara ayırır. Bir sınıftaki belirli bir özelliğin diğer özelliklerin varlığı ile ilgili olmadığını varsayar.
Örneğin, yeşil, yuvarlak ve 10 inç çapında bir meyveyi karpuz olarak düşünebilirsiniz. Bu özellikler, varlıkları için birbirlerine bağlı olabilir, ancak bunların her biri bağımsız olarak, söz konusu meyvenin bir karpuz olma olasılığına katkıda bulunur. Bu yüzden bu sınıflandırıcının adında 'Naif' terimi vardır.
Bu algoritma oldukça popüler çünkü son derece gelişmiş sınıflandırma tekniklerinden bile daha iyi performans gösterebiliyor. Üstelik oldukça basit ve hızlı bir şekilde oluşturabilirsiniz.
İşte bu algoritmanın temeli olan Bayes teoremi:
P(c | x) = P(x | c) P(c)/ P(x)

Bu denklemde 'c' sınıf, 'x' ise nitelikler anlamına gelir. P(c/x), tahmin ediciye göre sınıfın sonsal olasılığını temsil eder. P(x) tahmin edicinin önceki olasılığıdır ve P(c) sınıfın önceki olasılığıdır. P(x/c) sınıfa göre tahmin edicinin olasılığını gösterir.
Okuyun: Naive Bayes Açıklaması
Naive Bayes'in Avantajları
- Bu algoritma çok hızlı çalışır ve bir test veri kümesinin sınıfını kolayca tahmin edebilir.
- Onlarla oldukça yararlı olduğu için çok sınıflı tahmin problemlerini çözmek için kullanabilirsiniz.
- Naive Bayes sınıflandırıcı, özniteliklerin bağımsızlığı varsayımı geçerliyse, daha az eğitim verisi ile diğer modellerden daha iyi performans gösterir.
- Kategorik girdi değişkenleriniz varsa, Naive Bayes algoritması sayısal değişkenlere kıyasla son derece iyi performans gösterir.
Naive Bayes'in Dezavantajları
- Test veri setiniz, eğitim veri setinde bulunmayan bir kategorinin kategorik değişkenine sahipse, Naive Bayes modeli ona sıfır olasılık atayacak ve bu konuda herhangi bir tahminde bulunamayacaktır. Bu fenomene 'Sıfır Frekans' denir ve bu sorunu çözmek için bir yumuşatma tekniği kullanmanız gerekir.
- Bu algoritma aynı zamanda berbat bir tahmin edici olarak da bilinir. Dolayısıyla, 'predict_proba'nın olasılık çıktılarını çok ciddiye almamalısınız.
- Tüm özelliklerin bağımsız olduğunu varsayar. Teoride kulağa harika gelse de, gerçek hayatta bir dizi bağımsız özellik bulmanız pek mümkün değil.
Naive Bayes Algoritmasının Uygulamaları
Fark etmiş olmanız gerektiği gibi, bu algoritma kullanıcılarına birçok avantaj sunuyor. Bu nedenle çeşitli sektörlerde de çok sayıda uygulaması vardır. İşte Naive Bayes algoritmasının bazı uygulamaları:
- Bu algoritma hızlı ve verimli olduğu için gerçek zamanlı tahminler yapmak için kullanabilirsiniz.
- Bu algoritma, çok sınıflı tahminler için popülerdir. Bu algoritmayı kullanarak birden çok hedef sınıfın olasılığını kolayca bulabilirsiniz.
- E-posta hizmetleri (Gmail gibi), bir e-postanın spam olup olmadığını anlamak için bu algoritmayı kullanır. Bu algoritma spam filtreleme için mükemmeldir.
- Özellik bağımsızlığı varsayımı ve çok sınıflı problemlerin çözümündeki etkinliği, onu Duygu Analizi yapmak için mükemmel kılar. Duygu Analizi, bir hedef grubun (müşteriler, izleyiciler vb.)
- İşbirlikçi Filtreleme ve Naive Bayes algoritması, öneri sistemleri oluşturmak için birlikte çalışır. Bu sistemler, kullanıcının belirli bir kaynağı isteyip istemediğini tahmin etmek için veri madenciliği ve makine öğrenimini kullanır.
Ayrıca Okuyun: Açıklanan Makine Öğrenimi Modelleri

Naive Bayes Sınıflandırıcı Türleri
Bu algoritmanın birden fazla türü vardır. İşte ana olanlar:

Bernoulli Naive Bayes
Burada, tahmin ediciler boole değişkenleridir. Yani, sahip olduğunuz tek değerler 'True' ve 'False' ('Evet' veya 'Hayır' da olabilir). Veriler çok değişkenli Bernoulli dağılımına göre olduğunda kullanırız.
Çok terimli Naif Bayes
İnsanlar bu algoritmayı belge sınıflandırma problemlerini çözmek için kullanır. Örneğin, bir belgenin 'Hukuk' kategorisine mi yoksa 'İnsan Kaynakları' kategorisine mi ait olduğunu belirlemek istiyorsanız, onu sıralamak için bu algoritmayı kullanırsınız. Mevcut kelimelerin sıklığını özellik olarak kullanır.
Gauss Saf Bayes
Öngörücüler kesikli değil ama sürekli bir değere sahipse, bunların bir gauss dağılımından bir örnek olduklarını varsayarız.
Çözüm
Umarız bu makaleyi faydalı bulmuşsunuzdur. Naive Bayes algoritması ile ilgili herhangi bir sorunuz varsa, bunları yorum bölümünde paylaşmaktan çekinmeyin. Sizden haber almak isteriz.
Yapay zeka, makine öğrenimi hakkında daha fazla bilgi edinmek istiyorsanız, çalışan profesyoneller için tasarlanmış ve 450+ saatlik zorlu eğitim, 30'dan fazla vaka çalışması ve ödev sunan IIIT-B & upGrad'ın Makine Öğrenimi ve Yapay Zeka alanında PG Diplomasına göz atın. IIIT-B Mezun statüsü, 5+ pratik uygulamalı bitirme projesi ve en iyi firmalarla iş yardımı.
Naive Bayes'in sınırlamaları nelerdir?
Naive Bayes sınıflandırıcısı, bir dizi bilinen eğitim verisini kullanarak yeni veri örneklerini sınıflandırmak için kullanılan bir algoritmadır. Sınıflandırma için iyi bir algoritmadır; ancak, özniteliklerin sayısı, verilerdeki özniteliklerin sayısına eşit olmalıdır. Çok sayıda öğeyi sınıflandırmak için kullanıldığında hesaplama açısından pahalıdır. Sayısal veriler için uygun değildir. Yalnızca özellikler birbirinden bağımsız olduğunda çalışabilir. Özellik değerleri nominal olduğunda uygun değildir. Özellik değerlerinin birbirini dışlayan olmasını gerektirir. Özellik değerlerinin sıklığının, bunların doğru olma olasılığıyla orantılı olmasını gerektirir.
Naive Bayes sınıflandırıcılarının en büyük avantajı ve dezavantajı nedir?
Naive Bayes'in en büyük avantajı çok küçük veri setleri ile çalışabilmesidir. Spam filtreleme için en popüler algoritmalardan biridir. Ayrıca, uygulanması nispeten basittir. Neredeyse her zaman bir sınıflandırıcı olarak kullanılır. Bir veri seti mevcut değilse, yine de bir sınıflandırma algoritması olarak kullanılabilir. Bu algoritma e-posta spam filtrelemesinde kullanılır, ayrıca Google tarafından web sayfalarını sınıflandırmak için kullanılır. Ancak, daha karmaşık sınıflandırma problemlerinde o kadar etkili olmayabilir. Yalnızca özellikler birbirinden bağımsız olduğunda çalışabilir.
Naive Bayes'te Aşırı Takmayı nasıl durdurabilirim?
Fazla takmanın bir nedeni yanlış eğitim verilerine sahip olmaktır. Çok gürültülü bir eğitim veri kümeniz varsa ve çok sayıda eğitim örneğiniz varsa, sınıflandırıcı bir model oluşturmaya çalıştığınız temel modele değil, eğitim verilerindeki gürültüye bakacaktır. Diğer bir sebep de modelinizin çok karmaşık olmasıdır. Girdideki küçük bir değişikliğin çıktıda büyük bir değişikliğe neden olabileceği bir modeliniz varsa, fazla uyum sağlayabilirsiniz. Başka bir çözüm, düzenlileştirme kullanmaktır. Düzenleme, modelinizdeki uzun dalları küçültür. Modelinizi düzeltir ve fazla takmayı önler.