鸢尾花python贝叶斯分类_机器学习-利用三种分类器实现鸢尾花分类

利用决策树,KNN和朴素贝叶斯三种分类器,对鸢尾花数据集进行分类。下面是具体的流程和代码:

1、 数据读取:

实验数据是直接加载的sklearn内置的鸢尾花数据集,共150条数据,包含4个特征,而且是一个三分类问题。

from sklearn import datasets #导入方法类

iris = datasets.load_iris() #加载iris数据集

iris_feature = iris.data #加载特征数据

iris_target = iris.target #加载标签数据

2、 划分数据集:

鸢尾花数据集的特征是已经处理好的,所以这里可以跳过数据预处理的步骤,可以直接进行训练预测了。

但是在训练之前,要先把数据集划分成训练集和测试集,划分代码如下所示:

from sklearn.model_selection import train_test_split

##数据集划分

feature_train,feature_test,target_train,target_test = train_test_split(iris_feature,iris_target,test_size=0.33,random_state=42)

其中train_test_split()方法的参数包括:

(1) train_size :训练集比例

(2) test_size :测试集比例

(3) random_size :乱序程度

3、模型训练+预测:

首先是决策树分类器:

from sklearn.tree import DecisionTreeClassifier

dt_model = DecisionTreeClassifier() #所有参数均设置为默认状态

dt_model.fit(feature_train,target_train) #使用训练集训练模型

predict_results_dt = dt_model.predict(feature_test) #使用模型对测试集进行预测

#查看预测结果

from sklearn.metrics import accuracy_score

print("predict_results:",predict_results_dt)

print("target_test:",target_test)

print(accuracy_score(predict_results_dt,target_test))

其中,DecisionTreeClassifier()模型的参数包括:

(1) criterion :损失函数,包括基尼指数'gini'和熵'entropy'两种

(2) splitter :确定每个节点的分裂策略,最佳'best'or随机'random'

(3) max_depth :决策树的最大深度,防止出现过拟合

(4) min_samples_leaf :叶节点最小样本数量,用于剪枝处理

然后是KNN分类器:

from sklearn.neighbors import KNeighborsClassifier

knn_model = KNeighborsClassifier(n_neighbors=1)

knn_model.fit(feature_train,target_train) #使用训练集训练模型

predict_results_knn = knn_model.predict(feature_test) #使用模型对测试集进行预测

#查看预测结果

print("predict_results:",predict_results_knn)

print("target_test:",target_test)

print(accuracy_score(predict_results_knn,target_test))

其中,KNeighborClassifier的具体参数包括:

(1) n_neighbors :KNN中的k值,默认值是5

(2) weights :近邻权,标识每个样本的K个近邻样本的权重,可选’uniform’/‘distance’或自定义权重。

(3) metric :距离度量方法

最后,朴素贝叶斯分类器:

from sklearn.naive_bayes import GaussianNB

nb_model = GaussianNB() #高斯朴素贝叶斯,参数设置默认状态

nb_model.fit(feature_train,target_train) #使用训练集训练模型

predict_results_nb = nb_model.predict(feature_test) #使用模型对测试集进行预测

#查看预测结果

print("predict_results:",predict_results_nb)

print("target_test:",target_test)

print(accuracy_score(predict_results_nb,target_test))

4、 总结:

很多书中都有拿这个鸢尾花数据分类举例子,算是机器学习中的一个入门的简单小项目。以此来作为我笔记的开始,也希望看到的小伙伴们能够有所收获。

人生,只要照亮某个角落就足够了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/501832.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用php创建一相册文件_php文件创建

PHP-创建文件在您可以做任何一份档案,它已存在!在这一课您将学习如何建立一个档案使用PHP 。广告Tizag.comPHP的-制造混乱在PHP中,某个文件创建使用的命令也被用来打开文件。这似乎有点混乱,但我们会努力澄清这一难题。在PHP的打开…

python编辑邮件格式_python发送邮件模板

python发送邮件(不带附件)模板import smtplibfrom email.mime.text import MIMETextfrom email.header import Headersender xxxxxxxxx163.comreceiver xxxxxx126.comsubject 报警username xxxxxxxx163.compassword xxxxmsg MIMEText(strs, plain, utf-8)msg[Subject] H…

php ckeditor 配置,Laravel5.6框架使用CKEditor5相关配置详解

本文实例讲述了Laravel5.6框架使用CKEditor5相关配置。分享给大家供大家参考,具体如下:Laravel 相关配置文件的上传与存储参考文档:创建符号链接php artisan storage:linkproject/public/storage -> project/storage/app/public修改配置文…

python通讯录运用的知识点_案例驱动式Python学习--通讯录存取

驱动案例通讯录:要求打印出企业全部十名员工通讯录。(要求有文件相关操作)内置函数自定义函数函数指被封装起来的、实现某种功能的一段代码。Python安装包、标准库中自带的函数统称为内置函数,用户自己编写的函数称为自定义函数,不管是哪种函…

udp怎么保证不丢包_在 Flink 算子中使用多线程如何保证不丢数据?

分析痛点笔者线上有一个 Flink 任务消费 Kafka 数据,将数据转换后,在 Flink 的 Sink 算子内部调用第三方 api 将数据上报到第三方的数据分析平台。这里使用批量同步 api,即:每 50 条数据请求一次第三方接口,可以通过批…

php 没有libmysql.dll,PHP5.3以上版本没有libmysql.dll,以及由此带来的困扰

有朋友下载了PHP5.3,PHP5.4版本想加载mysql支持的时候发现没有libmysql.dll文件,无法完成mysql配置,其实PHP5.3版本开始,使用mysqlnd库,不再使用libmysql.dll用来访问MySQL数据库,大大提升了PHP的数据库访问…

堆排序时间复杂度_图解堆结构、堆排序及堆的应用

前言这次我们介绍另一种时间复杂度为 O(nlogn) 的选择类排序方法叫做堆排序。我将从以下几个方面介绍:堆的结构堆排序优化的堆排序原地堆排序堆的应用堆的结构什么是堆?我给出了百度的定义,如下:堆(Heap)是计算机科学中一类特殊的…

农历php,PHP农历公历转换

/*云南省曲靖师范学院计算机科学与工程学院-杨海熙编写2009-9-3*/class Lunar{private $_SMDay array(1 > 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);//定义公历月分天数private $_LStart 1950 ;//农历从1950年开始private $_LMDay array(//差:该年的…

python迷宫起点终点所有路径_通向终点的路不止一条!python迷宫。

马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有帐号?立即注册x本帖最后由 wei_Y 于 2014-11-24 19:53 编辑2008121223547917.jpg (56.62 KB, 下载次数: 3)2014-11-17 19:22 上传其实木有上面那么高端啦…

恶意软件分析沙箱在网络安全策略中处于什么位置?

恶意软件分析沙箱提供了一种全面的恶意软件分析方法,包括静态和动态技术。这种全面的评估可以更全面地了解恶意软件的功能和潜在影响。然而,许多组织在确定在其安全基础设施中实施沙箱的最有效方法方面面临挑战。让我们看一下可以有效利用沙盒解决方案的…

php websocket 帧封装,swoole websocket封装类和调用

上代码 ws.php/*** ws 优化 基础类库* User: singwa* Date: 18/3/2* Time: 上午12:34*/class Ws {CONST HOST "0.0.0.0";CONST PORT 9512;public $ws null;public function __construct() {$this->ws new swoole_websocket_server("0.0.0.0", 9512)…

夸克浏览器怎么安装脚本_广告看烦了?别砸手机!这五款浏览器能拯救你

哈喽大家好,欢迎来到黑马公社。随着各种良莠不齐的内容开始泛滥,黑马发现自己很难通过网络第一时间找到自己想要的内容。在电脑上,黑马为自己的每个浏览器都安装了不下三个广告屏蔽插件,而在手机上,很难。先不说手机浏…

php 今天 明天 后天 显示10天,【微信小程序】实现含有今天,明天,后天的日期组件...

封面图.JPG前言做过微信小程序的前端er都知道,小程序有个日期组件,叫picker,但是,需求方要求日期和时间都要显示的,用picker组件的话,那就用到两个picker,date和time,就是说要让用户…

python dlib 年龄 性别_python dlib学习(一):人脸检测

1、环境安装Windows: 旧版本安装pip install xxx.whl。以下是whl文件地址: ​ Python Package Index​ 最新版本安装:不要嫌麻烦,先装上visual studio2015 (C模块)。​ 具体的记不清了,装上cmake和boost,然…

php数组实例,php常用数组函数实例小结

本文实例总结了php常用数组函数。分享给大家供大家参考,具体如下:1. array array_merge(array $array1 [, array $array2 [, $array]])函数功能:将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回结果的…

python预测控制_无人驾驶——4.控制之MPC模型预测控制

源自:《无人驾驶无人驾驶车辆模型预测控制》——龚建伟参考:https://wenku.baidu.com/view/8e4633d519e8b8f67c1cb9fa.html0.车辆模型汽车的车轮转角为δf分别做垂直于后轮和前轮的射线,这两根射线会交于O点,两轮模型会绕O点进行运…

php实现git服务器,如何搭建和配置Git服务器

本篇文章给大家带来的内容是介绍如何搭建和配置Git服务器,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。安装Git安装依赖yum install curl-devel expat-devel gcc gcc-cyum install perl perl-devel gettext-devel openssl-…

手机连接投影机的步骤_投影机安装过程详解

投影机安装过程详解一 投影机的安装方式1、桌面摆放桌面投影虽然看起来不是很美观,但可以省去那些繁琐的步骤,只需要准备一张桌子,还可以购买一些专门用来摆放投影机的可移动小车架,把投影机往上一放,连接上线缆就可以…

php memcached close,PHP连接Memcached安装及数据库操作

memcached介绍Memcached是一套开源的高性能分布式内存对象缓存系统,它将所有的数据都存储在内存中,因为在内存中会统一维护一张巨大的Hash表,所以支持任意存储类型的数据。很多网站通过使用 Memcached提高网站的访问速度,尤其是对于大型的需要频繁访问数据的网站。Memcached是典…

坏道修复是不是硬盘东西全部都没有了_硬盘有坏道就不能用了吗?别再吃哑巴亏了,今天跟大家再说一次...

硬盘是电脑的存储硬件,是电脑中核心的硬件之一,目前市场上主要使用的是固态硬盘与机械硬盘两种,固态硬盘的读写速度较快,容量小,价格贵,机械硬盘读写速度慢,容量大价格便宜,现在的电…