贝叶斯预测

朴素贝叶斯预测莺尾花数据

一曲冷凌霜 提交于 2020-01-07 14:37:59
import numpy as np import matplotlib.pyplot as plt from sklearn import datasets from sklearn.naive_bayes import GaussianNB import matplotlib #生成所有测试样本点 def make_meshgrid(x,y,h=0.02): x_min,x_max = x.min()-1,x.max()+1 y_min, y_max = y.min() - 1, y.max() + 1 xx,yy = np.meshgrid(np.arange(x_min,x_max,h),np.arange(y_min,y_max,h)) return xx,yy def plot_test_results(ax,clf,xx,yy,**params): Z = clf.predict(np.c_[xx.ravel(),yy.ravel()]) Z = Z.reshape(xx.shape) ax.contourf(xx,yy,Z, **params) if __name__ == '__main__': #载入iris数据集 iris = datasets.load_iris() #只使用前面两个特征 X = iris.data[:,:2] #样本标签值 y = iris

17_朴素贝叶斯算法原理

安稳与你 提交于 2019-12-02 23:48:35
1.概率基础:   联合概率:包含多个条件,并且所有条件同时成立的概率。P(A,B)=P(A)*P(B);   条件概率:在事件B发生的条件下,事件A发生的概率。P(A|B)=P(AB)/P(B)=P(B|A)P(A)/P(B);     条件概率的特性:当AB相互独立时,P(A1,A2|B)=P(A1|B)P(A2|B) 2.朴素贝叶斯公式:   这里以文档预测给出,一篇文章可以分为一个个词组,判断这篇文章属于什么类型,就是依据词组在总文章中的概率大小。   W为给定的文章,Fn为文章中的不同词组,C为文章类别。W=F1+F2+F3......+Fn;   依据给定的文章和词语来预测这是一篇什么类型的文章。   P(C|W)=P(W|C)*P(C)/P(W)=P(F1,F2,F3......Fn|C)/P(F1,F2,F3......Fn); 来源: https://www.cnblogs.com/cwj2019/p/11755567.html

sklearn朴素贝叶斯分类

倖福魔咒の 提交于 2019-11-28 09:18:24
from sklearn import datasets from sklearn.naive_bayes import GaussianNB #导入数据集中的鸢尾花数据(每项有4个特征数据值,1个目标类别值) iris=datasets.load_iris() #X为特征数据 y是类别值 X=iris.data y=iris.target #总数据条数 遍历显示 icount=X.shape[0] for i in range(icount-1): print(X[i],"--->",y[i]) #调用高斯朴素贝叶斯分类器 gnb=GaussianNB() #填入数据进行训练 gnb.fit(X,y) #训练完后预测(此处用的测试数据是训练数据同一份,实际可以用新输入数据) test_data=iris.data y_predicted=gnb.predict(test_data) #显示预测结果 print("\n预测结果:\n",y_predicted) #显示预测错误率 print("\n总数据%d条 预测失误%d条"%(iris.data.shape[0],(iris.target!=y_predicted).sum())) 来源: CSDN 作者: 一粒马豆 链接: https://blog.csdn.net/MAILLIBIN/article/details