当前位置:   article > 正文

利用朴素贝叶斯分析鸢尾花,代码有详细解释。_贝叶斯鸢尾花分类代码

贝叶斯鸢尾花分类代码
  1. #导入所需要的包
  2. from sklearn.naive_bayes import GaussianNB
  3. import numpy as np
  4. import pandas as pd
  5. from pandas import Series,DataFrame
  6. import matplotlib.pyplot as plt
  7. from sklearn.datasets import load_iris
  8. from matplotlib.colors import ListedColormap
  9. %matplotlib inline
  10. #导入函数
  11. muNB = GaussianNB()
  12. #读取数据
  13. iris = load_iris()
  14. #取出数据中的data
  15. data = iris.data
  16. #取出数据中的target
  17. target = iris.target
  18. #取data中所有行前两列为训练数据
  19. samples = data[:,:2]
  20. #训练数据
  21. muNB.fit(samples,target)
  22. #取出训练数据中第一列中的最大与最小值
  23. xmin,xmax = samples[:,0].min(),samples[:,0].max()
  24. #取出训练数据中第二列中的最大与最小值
  25. ymin,ymax = samples[:,1].min(),samples[:,1].max()
  26. #在最大与最小值的区间分成300个数据
  27. x = np.linspace(xmin,xmax,300)
  28. y = np.linspace(ymin,ymax,300)
  29. #然后使这些数据组成一个平面
  30. xx,yy = np.meshgrid(x,y)
  31. #生成90000个坐标点
  32. X_test = np.c_[xx.ravel(),yy.ravel()]
  33. #预测训练数据
  34. y_ = muNB.predict(X_test)
  35. #导入三种不同的颜色
  36. colormap = ListedColormap(['#00aaff','#aa00ff','#ffaa00'])
  37. #生成三个不同颜色的模块,第一列为x轴坐标,第二列为y轴坐标,预测之后,不同的点分成不同的三类
  38. plt.scatter(X_test[:,0],X_test[:,1],c=y_)

  1. #生成训练数据生成的点的分布,c=target意思是根据target的值,生成不同的颜色的点
  2. plt.scatter(samples[:,0],samples[:,1],c=target,cmap=colormap)

  1. #一起调用的话使两张图结合起来
  2. plt.scatter(X_test[:,0],X_test[:,1],c=y_)
  3. plt.scatter(samples[:,0],samples[:,1],c=target,cmap=colormap)

如有不明白或者有错误的话请指出,喜欢的话互相关注学习,一起交流,一起进步。

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

闽ICP备14008679号