Naive Bayes algoritma yöntemi, sınıflandırma işlemi için daha önce sisteme tanıtılmış olan verileri kullanarak daha sonra verilen verinin hangi sınıfa dahil olacağını tahmin eden istatistik tabanlı bir algoritma yöntemidir.
Naive Bayes Sınıflandırıcı (Naive Bayes Classifier) Bayes Teoremi’nden faydalanılarak oluşturulmuş kolaylıkla anlaşılabilir ve uygulanabilir bir yöntemidir. Bu yöntemle bir örneğin hedef niteliğin sınıf değerlerine ait olma olasılıkları bulunabilmektedir.

Naive Bayes; belge sınıflandırması, spam filtreleme gibi birçok alanda ikili ya da çok sınıflı kategoriler için kullanılır. Verilerde bulunan gürültülü örnekleri sınıflandırıp etkili bir tahmin modeli meydana getirmek için kullanılabilir. Kompleks algoritmalarla kıyaslandığı zaman, az miktarda eğitim verisine gereksinim duyarak parametreleri hızlıca tahmin eder. Sıklıkla kullanılan varyantları mevcuttur. Bu varyantlar; Gaussian, Bernoulli, Multi-nominal, Kategorik NB şeklindedir.
Naive Bayes sonuç olarak bir sınıflandırma algoritması ve bu hesaplamaları yaparken olasılıkları kullanıyor.
- -Gauissian Naive Bayes(Tahmin edilecek değerler continious değer ise)
- -Multinominal Naive Bayes(Tahmin edilecek değer kategorik ve 1,2,3,4...)
- -Bernolulli Naive Bayes(Tahmin edilecek değer 1 ve 0)
Naive Bayes algoritması, Gauss Naive Bayes ve Kernel Naive Bayes olmak üzere iki farklı sınıflandırma yöntemi uygulayabilir.
#1. kutuphaneler
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
veriler=pd.read_csv("veriler.csv")
#ulke,boy,kilo,yas,cinsiyet
x=veriler.iloc[:,1:4].values
y=veriler.iloc[:,4:].values
#Şimdi Train ve Test olarak ayırma işlemi yapalım
from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.33,random_state=0)
#STANDARTLAŞTIRMA
from sklearn.preprocessing import StandardScaler
sc=StandardScaler()
X_train=sc.fit_transform(x_train)#fit_transform
X_test=sc.transform(x_test)#transform
#NAIVE BAYES
from sklearn.naive_bayes import GaussianNB
nb=GaussianNB()
nb.fit(X_train,y_train)#X den Y öğren
#şimdi öğrendiğin bilgi ile predict-tahmin yap
y_pred=nb.predict(X_test)
print(y_pred)
print(y_test)
#CONFUSION MATRİX-HATA MATRİSİ
from sklearn.metrics import confusion_matrix
cm=confusion_matrix(y_test,y_pred)
print(cm)
Kaynaklar
- https://twitter.com/levikul09/status/1691015563571785729
- MAKİNE ÖĞRENMESİ İLE HİPERTANSİYON OLMA RİSKİNİN ÖNGÖRÜLMESİ | Dr. Gamze KESER ÜNSAL| UZMANLIK TEZİ

