判別式模型(discriminative models):像決策樹、BP神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等,都可以歸入判別式模型,它們都是直接學(xué)習(xí)出輸出Y與特征X的關(guān)系
GaussianNB:先驗為高斯分布的樸素貝葉斯
MultinomialNB:先驗為多項式分布的樸素貝葉斯
BernoulliNB:先驗為伯努利分布的樸素貝葉斯
一般來說,如果樣本特征的分布大部分是連續(xù)值,使用GaussianNB會比較好
如果如果樣本特征的分大部分是多元離散值,使用MultinomialNB比較合適
如果樣本特征是二元離散值或者很稀疏的多元離散值,應(yīng)該使用BernoulliNB。

import pandas as pd #導(dǎo)入pandas庫
import numpy as np
from sklearn.naive_bayes import MultinomialNB
from imblearn.over_sampling import SMOTE
df = pd.read_excel("第二版表4.1.xlsx") # 讀取excle
array1 = df.values #講excel表格數(shù)據(jù)轉(zhuǎn)化為矩陣
訓(xùn)練集
array =array1[0:15,1:7]#選取矩陣特定的數(shù)據(jù)
X=array
訓(xùn)練集分類結(jié)果
Y=array1[0:15,7:8]
test=array1[15:19,1:7]#測試集
clf =MultinomialNB()
sm = SMOTE(random_state=42)
clf.fit(X,Y.ravel())
pr=clf.predict(test)
print("貝葉斯分類預(yù)測結(jié)果:",pr)
