贝叶斯判别

判别式模型(discriminative models):像决策树、BP神经网络、支持向量机等,都可以归入判别式模型,它们都是直接学习出输出Y与特征X的关系

GaussianNB:先验为高斯分布的朴素贝叶斯
MultinomialNB:先验为多项式分布的朴素贝叶斯
BernoulliNB:先验为伯努利分布的朴素贝叶斯

一般来说,如果样本特征的分布大部分是连续值,使用GaussianNB会比较好
如果如果样本特征的分大部分是多元离散值,使用MultinomialNB比较合适
如果样本特征是二元离散值或者很稀疏的多元离散值,应该使用BernoulliNB。


image.png

import pandas as pd #导入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表格数据转化为矩阵

训练集

array =array1[0:15,1:7]#选取矩阵特定的数据
X=array

训练集分类结果

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("贝叶斯分类预测结果:",pr)

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容