鸢尾花分类算法——机器学习笔记
鸢尾花分类算法——机器学习笔记
开发环境
python、pycharm、sklearn模块。
作者想说
最近正在学习机器学习和参加JavaScript的项目,现在来整理一下机器学习的一些知识点。如果有喜欢的朋友请点个赞和关注,我会继续发一些有趣的博客一起学习。
机器学习
首先我们先来看一下机器学习的主要步骤:
- 数据的加载:加载、处理(清洗、规约等)数据
- 模型的选择:选择处理数据的模型
- 模型的训练:根据数据去训练模型
- 模型的预测:训练模型之后,用一些值去测试模型的预测结果
- 模型的评测:对模型进行评分,如计算准确率、均方误差,平均绝对误差等
- 模型的保存:保存模型,下次再使用时,不必重新训练
简单理解就是:
我们给计算机一本书(数据加载),告诉它我们怎么去学习里面的知识(模型选择),然后让它尝试去读这本书(模型训练),等它读完了书之后,问它一些书里的问题(模型预测),我们根据它的回答判断它学得好不好(模型预测),最后让它记住书里的知识不要忘记(模型保存)。
鸢尾花分类算法
鸢尾花的品种有很多,有德国鸢尾、荷兰鸢尾、黄色丹佛鸢尾等等。它们之中都有一定的特征,如德国鸢尾就是比较具有观赏性的,它的颜色非常多,也都十分美观。
鸢尾花分类算法要做的,就是从记录了鸢尾花的特征的数据,按照一定的规则把特征进行分类,比如:花瓣样式、花色、花蕊、花径粗细长短等特点进行分类。最后实现知道一朵鸢尾花的花瓣、花色等特征时,就能够判断它是哪种鸢尾花。
代码
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.data
和iris_data.target
:是我们读取的数据的特征集和标签集,特征集是记录了花色、花瓣、花蕊等特征的集合;标签集是记录了这个花色、花瓣、花蕊特征的鸢尾花是属于哪个品种的鸢尾花。
执行结果:
可以看到,预测大部分是成功的,但是也有类似图中框内的预测错误,这是正常现象,偶尔是会有判断错误的。
鸢尾花分类算法——机器学习笔记相关推荐
- 鸢尾花python分类_鸢尾花分类——Python机器学习起步
引言 一直对AI有着莫大的兴趣,最近买了周志华先生的西瓜书,也是干货满满,最近也想从实战方面入手,了解一下机器学习,本文以<Python机器学习基础教程>为指导. 环境 Sublimete ...
- 鸢尾花分类——Python机器学习起步
引言 一直对AI有着莫大的兴趣,最近买了周志华先生的西瓜书,也是干货满满,最近也想从实战方面入手,了解一下机器学习,本文以<Python机器学习基础教程>为指导. 环境 Sublimete ...
- java 鸢尾花分类算法_鸢尾花分类算法实现 java
使用的贝叶斯分类算法实现的,编程语言为java.是我本学期修的数据库与数据挖掘的课程的期末课程作业,算法本身不难,思路理清楚了很简单. 先看看鸢尾花(Iris)数据集(下图为数据集的部分截图),鸢尾花 ...
- 七月算法机器学习笔记4 凸优化
七月算法(http://www.julyedu.com) 12月份 机器学习在线班 学习笔记
- 七月算法机器学习笔记8 聚类算法
七月算法(http://www.julyedu.com) 12月份 机器学习在线班 学习笔记
- 七月算法机器学习笔记5 -- 特征工程
这套笔记是跟着七月算法四月机器学习班的学习而记录的,主要记一下我再学习机器学习的时候一些概念比较模糊的地方,具体课程参考七月算法官网:http://www.julyedu.com/ 特征工程 特征 = ...
- 七月算法机器学习笔记9 推荐系统
七月算法(http://www.julyedu.com) 12月份 机器学习在线班 学习笔记
- 七月算法机器学习笔记1 微积分与概率论
七月算法(http://www.julyedu.com) 12月份 机器学习在线班 学习笔记
- 七月算法机器学习笔记7 最大熵模型
七月算法(http://www.julyedu.com) 12月份 机器学习在线班 学习笔记
最新文章
- python读数据-如何用Python读取开放数据?
- radio 事件_nRF52832/51822系列RADIO外设介绍/使用
- OJ1158: 又是排序(指针专题)(C语言)
- IPSEC---动态MAP-VS-静态MAP
- linux路由内核实现分析(四)---路由缓存机制(3)
- 3.3.1网络原理数据链路层之差错控制(检错编码和纠错编码)->(奇偶校验码、CRC循环冗余码、海明码)(转载)
- C#实现.rar的动态压缩与解压缩
- oracle 扩容undo,某银行积分系统数据库RAC环境扩充undo表空间
- tensorflow小案例
- unity2018设置雾在哪_【zSpace实操】Unity2018发布设置
- 《编码的奥秘》记录(二)
- 【资料】《数字电子技术基础》阎石第五版
- 联想y7000 Linux显卡驱动,联想Y7000安装ubuntu1804.6双系统和显卡驱动(一)
- 压缩包密码,办公文档密码破解实例讲解!
- MySQL分库分表dble初次尝试
- 浏览器不能上网,QQ能登录 问题解决方法
- 一个短信息运营商SP告诉你手机短信收费黑幕!!
- 叶酸修饰四氧化三铁纳米颗粒(FA-Fe3O4)|Cys-Fe3O4/CuS@BSA|巯基修饰的四氧化三铁磁性纳米颗粒齐岳供应
- NB-IoT(窄带物联网)相关知识
- B2C电子商务网站使用Spring发送激活账号的电子邮件