鸢尾花分类算法——机器学习笔记

开发环境

python、pycharm、sklearn模块。

作者想说

最近正在学习机器学习和参加JavaScript的项目,现在来整理一下机器学习的一些知识点。如果有喜欢的朋友请点个赞和关注,我会继续发一些有趣的博客一起学习。

机器学习

首先我们先来看一下机器学习的主要步骤:

  1. 数据的加载:加载、处理(清洗、规约等)数据
  2. 模型的选择:选择处理数据的模型
  3. 模型的训练:根据数据去训练模型
  4. 模型的预测:训练模型之后,用一些值去测试模型的预测结果
  5. 模型的评测:对模型进行评分,如计算准确率、均方误差,平均绝对误差等
  6. 模型的保存:保存模型,下次再使用时,不必重新训练

简单理解就是:
我们给计算机一本书(数据加载),告诉它我们怎么去学习里面的知识(模型选择),然后让它尝试去读这本书(模型训练),等它读完了书之后,问它一些书里的问题(模型预测),我们根据它的回答判断它学得好不好(模型预测),最后让它记住书里的知识不要忘记(模型保存)。

鸢尾花分类算法

鸢尾花的品种有很多,有德国鸢尾、荷兰鸢尾、黄色丹佛鸢尾等等。它们之中都有一定的特征,如德国鸢尾就是比较具有观赏性的,它的颜色非常多,也都十分美观。
鸢尾花分类算法要做的,就是从记录了鸢尾花的特征的数据,按照一定的规则把特征进行分类,比如:花瓣样式、花色、花蕊、花径粗细长短等特点进行分类。最后实现知道一朵鸢尾花的花瓣、花色等特征时,就能够判断它是哪种鸢尾花。

代码

from sklearn import datasets #数据来源
from sklearn.model_selection import train_test_split #数据分割
from sklearn.neighbors import KNeighborsClassifier #模型选择
from sklearn.externals import joblib #保存模型def IrisTrain():iris_data = datasets.load_iris()    #加载x_train = iris_data.data   #特征集y_train = iris_data.target     #标签x_train,x_test,y_train,y_test = train_test_split(x_train,y_train,test_size=0.3)     #切割训练集和测试集knn = KNeighborsClassifier()    #选择模型knn.fit(x_train,y_train)    #训练iris_predict = knn.predict(x_test)     #预测return iris_predict,x_test,y_test,knnif __name__ == '__main__':iris_predict,iris_Xtest,iris_Ytest,knn= IrisTrain()lables = ["德国鸢尾", "荷兰鸢尾", "网脉鸢尾"]for i in range(len(iris_predict)):print("第%s次测试,预测值是:%s,真实值是:%s" % ((i + 1), lables[iris_Ytest[i]], lables[iris_predict[i]]))print("准确率是:{:.2%}".format(knn.score(iris_Xtest,iris_Ytest)))joblib.dump(knn, r"C:\Users\Administrator\Desktop\knn_mkdel.pkl") #保存print("模型保存成功,请查看桌面文件knn_mkdel.pkl")

代码讲解

  • load_iris():是sklearn模块里的datasets类的方法,它记录了鸢尾花的数据集,模块已经帮我们处理好数据了,可以直接使用。
  • KNeighborsClassifier():是sklear模块neighbors类里的方法,表示是分类模型,neighbors里面也包括了许多模型,提供了便捷是模型选择方式。
  • iris_data.datairis_data.target:是我们读取的数据的特征集和标签集,特征集是记录了花色、花瓣、花蕊等特征的集合;标签集是记录了这个花色、花瓣、花蕊特征的鸢尾花是属于哪个品种的鸢尾花。

执行结果:

可以看到,预测大部分是成功的,但是也有类似图中框内的预测错误,这是正常现象,偶尔是会有判断错误的。

鸢尾花分类算法——机器学习笔记相关推荐

  1. 鸢尾花python分类_鸢尾花分类——Python机器学习起步

    引言 一直对AI有着莫大的兴趣,最近买了周志华先生的西瓜书,也是干货满满,最近也想从实战方面入手,了解一下机器学习,本文以<Python机器学习基础教程>为指导. 环境 Sublimete ...

  2. 鸢尾花分类——Python机器学习起步

    引言 一直对AI有着莫大的兴趣,最近买了周志华先生的西瓜书,也是干货满满,最近也想从实战方面入手,了解一下机器学习,本文以<Python机器学习基础教程>为指导. 环境 Sublimete ...

  3. java 鸢尾花分类算法_鸢尾花分类算法实现 java

    使用的贝叶斯分类算法实现的,编程语言为java.是我本学期修的数据库与数据挖掘的课程的期末课程作业,算法本身不难,思路理清楚了很简单. 先看看鸢尾花(Iris)数据集(下图为数据集的部分截图),鸢尾花 ...

  4. 七月算法机器学习笔记4 凸优化

    七月算法(http://www.julyedu.com) 12月份 机器学习在线班 学习笔记

  5. 七月算法机器学习笔记8 聚类算法

    七月算法(http://www.julyedu.com) 12月份 机器学习在线班 学习笔记

  6. 七月算法机器学习笔记5 -- 特征工程

    这套笔记是跟着七月算法四月机器学习班的学习而记录的,主要记一下我再学习机器学习的时候一些概念比较模糊的地方,具体课程参考七月算法官网:http://www.julyedu.com/ 特征工程 特征 = ...

  7. 七月算法机器学习笔记9 推荐系统

    七月算法(http://www.julyedu.com) 12月份 机器学习在线班 学习笔记

  8. 七月算法机器学习笔记1 微积分与概率论

    七月算法(http://www.julyedu.com) 12月份 机器学习在线班 学习笔记

  9. 七月算法机器学习笔记7 最大熵模型

    七月算法(http://www.julyedu.com) 12月份 机器学习在线班 学习笔记

最新文章

  1. python读数据-如何用Python读取开放数据?
  2. radio 事件_nRF52832/51822系列RADIO外设介绍/使用
  3. OJ1158: 又是排序(指针专题)(C语言)
  4. IPSEC---动态MAP-VS-静态MAP
  5. linux路由内核实现分析(四)---路由缓存机制(3)
  6. 3.3.1网络原理数据链路层之差错控制(检错编码和纠错编码)->(奇偶校验码、CRC循环冗余码、海明码)(转载)
  7. C#实现.rar的动态压缩与解压缩
  8. oracle 扩容undo,某银行积分系统数据库RAC环境扩充undo表空间
  9. tensorflow小案例
  10. unity2018设置雾在哪_【zSpace实操】Unity2018发布设置
  11. 《编码的奥秘》记录(二)
  12. 【资料】《数字电子技术基础》阎石第五版
  13. 联想y7000 Linux显卡驱动,联想Y7000安装ubuntu1804.6双系统和显卡驱动(一)
  14. 压缩包密码,办公文档密码破解实例讲解!
  15. MySQL分库分表dble初次尝试
  16. 浏览器不能上网,QQ能登录 问题解决方法
  17. 一个短信息运营商SP告诉你手机短信收费黑幕!!
  18. 叶酸修饰四氧化三铁纳米颗粒(FA-Fe3O4)|Cys-Fe3O4/CuS@BSA|巯基修饰的四氧化三铁磁性纳米颗粒齐岳供应
  19. NB-IoT(窄带物联网)相关知识
  20. B2C电子商务网站使用Spring发送激活账号的电子邮件

热门文章

  1. KeyMob聚合-为国内广大开发者一族提供免费广告管理服务
  2. 阿里 M8 级大神整理出 SQL 手册:收获不止 SQL 优化,抓住 SQL 的本质
  3. 音频线是什么 音频线如何连接
  4. 北京国际学校IB考试均分稳得一匹,IB考试结果揭秘
  5. win10打开软件提示无法成功完成操作 因为文件包含病毒
  6. 西华大学计算机科学与技术学院,王秀华 - 西华大学 - 计算机与软件工程学院
  7. 【工具篇】EasyExcel的应用
  8. lucene--简介
  9. 小野さん と ペット
  10. 5424. 【NOIP2017提高A组集训10.25】凤凰院凶真