bir bütünü tanımlayan değişkenlerin birbirinden bağımsız olduğu varsayımına dayanır. naifliği de buradan kaynaklanır.
örneğin dökümanları içeriklerine göre sıralandırmak için her bir döküman içerdiği kelimeler ve bu kelimelerin kaç kere geçtiği hesaplanır. training datadaki tüm bu istatistikler göz önüne alınarak " 'viagra' kelimesini içeren dökümanların 'spam' olarak sınıflandırılma oranı" (p('spam'|'viagra kelimesini içeriyor') )gibi değerler hesaplanır.
daha sonra bildiğimiz
bayes rule uygulanarak verilen bir dökümanın spam olma ihtimali hesaplanır.
örneğin dökümanımızın içeriği "viagra fiyatlarında şok indirim!" olsun. bu dökümanın spam olma olasılığı:
p('spam'|'viagra kelimesini içeriyor','fiyatlarında kelimesini içeriyor', 'şok kelimesini içeriyor', 'indirim kelimesini içeriyor')
olur.
bunu hesaplayabilmek içinde bayes teoreminde bu bu ihtimallerin birbirinden bağımsız olduğunu varsayarak:
p('spam'´) p('viagra kelimesini içeriyor|'spam') p('fiyatlarında kelimesini içeriyor|'spam') p('şok kelimesini içeriyor|'spam') p('indirim kelimesini içeriyor|'spam')
şekline dönüştürülür. buradaki tüm değişkenler training datamızı işlerken belirlenmişti.
aynı şekilde 'spam değil' olma ihtimali de hesaplandıktan sonra en büyük ihtimali alan sınıfa dahil edilir dökümanımız. daha fazla sınıfımız varsa aynı işlem her bir sınıf için yapılır.
naifliğinden kontekse hiç bulaşmaması ama gerçekten işe yarar olması şaşırtıcıdır. ayrıca kendileri bitirme proje konumdur.