鸢尾花python贝叶斯分类_01 基本操作-鸢尾花分类knn

第一个应用:鸢尾花分类

需要的几个python库

scikit-learn:两个 Python 包:NumPy 和 SciPy。NumPy包括多维数组、高级数学函数(比如线性代数运算和傅里叶变换),以及伪随机数生成器。 SciPy具有线性代数高级程序、数学函数优化、信号处理、特殊数学函数和统计分布等多项功能。

numpy

scipy

matplotlib:画图必备。绘图和进行交互式开发。

matplotlib

pandas:基于一种叫作 DataFrame 的数据结构,这种数据结构模仿了 R 语言中的 DataFrame。类似于 Excel 表格。pandas 中包含大量用于修改表格和操作表格的方法,尤其是可以像 SQL 一样对表格进行查询和连接。

pandas

数据集部分:组中包含 150 朵不同的花的测量数据,但花种类就三种setosa,versicolor,virginica(词语很专业,不用特别查阅)数。每朵鸢尾花的一些测量数据(即特征):花瓣petal的长度和宽度以及花萼sepal的长度和宽度,所有测量结果的单位都是厘米。可以调用 load_iris 函数来加载数据,这是默认数据集,不需要额外导入,可以尝试打印前5个看看效果。

feature和种类

打印前5个看看

数据都ok了,接下来,我们要做3件事情。1.把数据分为训练集和测试集。为什么这么分?要用训练集来调整我们的算法模型是否ok,然后把模型放在测试集看看是否work? 2如何分类我们无需自己造轮子,选取一个已经有的经典模型,模型的选取有很多讲究,这里先不展开,具体可以看周志华的书。3验证一下我们选取的模型在测试的效果怎么样。下面先看第一步,分train和test。主要是红色框的split,下面是打印出结果集

train和test

第二步要选择模型,这里选择默认的knn,knn的具体定义可以参考各大搜索引擎。简单的说,把要比较的feature和最像(最像由距离决定,距离由向量决定,最像由阈值决定)的结果挑出来,最像的什么类型,你就是什么类型。近朱者赤近墨者黑的意思。

sklearn中的knn算法

第三步测试一下方法怎么样。我们用knn在训练集把方法训练好后,就把模型带到测试去看看准不准。医生带学生识别如何分辨病症,然后带两个病人要学生看看准不准。病人这里就是测试集。

输入了测试集,发现鸢尾花的setosa种类

测试一个不行,要把所有的测试集都输入模型中看看准度。如何验证准度呢?原来100%的数据中,划分了75做训练集。然后剩下的25做测试集把名字去掉,和模型算出来的名字对比。一样的就算对了,不一样的就算错了。

mean和score两个方法都可以算对比准度

结果显示准度是97%。结果集的准度可以优化,和哪些有关呢?

1.训练集和测试集的划分

2.模型的优化,knn、贝叶斯等

3.调整模型,如knn要计算多少个邻居才算准。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值