赞
踩
1.朴素贝叶斯的基本概念
1.1贝叶斯定理:
朴素贝叶斯(Naive Bayers)算法是一种基于概率统计的分类方法。它在条件独立假设的基础上,使用贝叶斯定理构建算法,在文本处理领域有广泛的应用。公式如下:
1.2朴素贝叶斯的简单应用:
过去的7天当中,有3天下雨,4天没有下雨。用0代表未下雨,1代表下雨,可以用一个数组来表示:
而这7天当中,还有另外一些信息,包括刮北风、闷热、多云,以及天气预报给出的信息,入表所示:
image.png
[图片上传中...(image.png-92e81-1561458243427-0)]
同样地,用0代表否,1代表是,可以得到另外一个数组:
通过python程序找出下雨和未下雨的规律
#将X,y赋值为np数组
X = np.array([[0, 1, 0, 1],
[1, 1, 1, 0],
[0, 1, 1, 0],
[0, 0, 0, 1],
[0, 1, 1, 0],
[0, 1, 0, 1],
[1, 0, 0, 1]])
y = np.array( [0, 1, 1, 0, 1, 0, 0])
#对不同分类计算每个特征为1的数量
counts = {}
for label in np.unique(y):
counts[label] = X[y == label].sum(axis=0)
print("feature counts:\n{}".format(counts))
打印结果:
feature counts:
{0: array([1, 2, 0, 4]), 1: array([1, 3, 3, 0])}
分析结果:
y=0(未下雨),这四天里,1天刮北风,2天闷热,没多云,4天播报有雨
y=1(下雨),这四天里,1天刮北风,3天闷热,3天多云,未播报有雨
将X变量和y分类目标代入朴素贝叶斯来进行预测:
from sklearn.naive_bayes import BernoulliNB
clf = BernoulliNB()
clf.fit(X, y)
#要进行预测的这一天,没有刮北风,也不闷热</
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。