当前位置:   article > 正文

基于python的贝叶斯分类算法预测_python机器学习:3:朴素贝叶斯算法

贝叶斯分类预测天气pycharm

1.朴素贝叶斯的基本概念

1.1贝叶斯定理:

朴素贝叶斯(Naive Bayers)算法是一种基于概率统计的分类方法。它在条件独立假设的基础上,使用贝叶斯定理构建算法,在文本处理领域有广泛的应用。公式如下:

math?formula=P(A%7CB)%20%3D%20%5Cfrac%7BP(B%7CA)P(A)%7D%7BP(B)%7D

1.2朴素贝叶斯的简单应用:

过去的7天当中,有3天下雨,4天没有下雨。用0代表未下雨,1代表下雨,可以用一个数组来表示:

math?formula=y%3D%5B0%2C1%2C1%2C0%2C1%2C0%2C10%5D

而这7天当中,还有另外一些信息,包括刮北风、闷热、多云,以及天气预报给出的信息,入表所示:

e0c844e358a1?utm_campaign=hugo

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)

#要进行预测的这一天,没有刮北风,也不闷热</

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/166419
推荐阅读
相关标签
  

闽ICP备14008679号