第L4周:机器学习-KNN总结-分类

  • 🍨 本文为🔗365天深度学习训练营 中的学习记录博客
  • 🍖 原作者:K同学啊

概念
在第L4周:机器学习-K-邻近算法模型(KNN)-CSDN博客中学习了KNN的基本概念,本次主要加深印象,用鸢尾花数据集来进行KNN分类预测
具体实现
(一)环境
语言环境:Python 3.10
编 译 器: PyCharm
**(二)具体步骤:

  1. 导入数据:
from sklearn import datasets  
from sklearn.neighbors import KNeighborsClassifier  
from sklearn.model_selection import train_test_split  # 导入鸢尾花数据集  
iris = datasets.load_iris()  
print(iris)

image.png
image.png
2.分析一下数据庥
从上面的图可以看到,iris分为了“data”和“target”两个array,分别对应的是data-特征数据,target-标签数据.那我们分别取出来:

X = iris.data       # 特征数据  
y = iris.target     # 标签数据  
print("特征数据:", X)  
print("标签数据:", y)

image.png
image.png
那么特征数据中的第一行四个值代表什么呢,查了一下:
第1个:Sepal.Length(花萼长度),单位是cm
第2个:Sepal.Width(花萼宽度),单位是cm
第3个:Petal.Length(花瓣长度),单位是cm
第4个:Petal.Width(花瓣宽度),单位是cm;
标签数据中的0,1,2又代表什么呢?代表鸢尾花的种类:
0:Iris Setosa(山鸢尾)
1:Iris Versicolour(杂色鸢尾)
2:Iris Virginica(维吉尼亚鸢尾)
所以整个数据集的意思是通过4个特征值来推断属于哪一种鸢尾花。
3.切分数据集
把数据集做切分,按8:2比例切,80%用来训练,20%用来预测

# 按8:2进行数据切分  
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

4.模型训练

# 模型训练  
clf = KNeighborsClassifier()  
clf.fit(X_train, y_train)

5.结果预测

# 预测  
X_pred = clf.predict(X_test)  
print("X_test长度:", len(X_test))  
print("X_Pred长度:", len(X_pred))  
print("预测结果:", X_pred)

image.png
可以看到,30个特征值预测了30个结果。接下来看看30个结果的准确率有多高(就是了y_test进行对比):

# 预测准确率  
acc = sum(X_pred == y_test) / X_pred.shape[0]  
print("预测的准确率:%.3f" % acc)

image.png
解释一下:X_pred.shape[0] 就是结果总数30. X_pred.shape的结果是(30, 1),那么shpae[0]就是30.
**6. 模型评分

# 模型评分  
scoreK = clf.score(X_test, y_test)  
print("模型评分:", scoreK)

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

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

相关文章

锐捷 NBR 1300G路由器 越权CLI命令执行漏洞

漏洞描述 锐捷NBR 1300G路由器 越权CLI命令执行漏洞,guest账户可以越权获取管理员账号密码 漏洞复现 FOFA title"锐捷网络 --NBR路由器--登录界面" 请求包 POST /WEB_VMS/LEVEL15/ HTTP/1.1 Host: Connection: keep-alive Content-Length: 73 Autho…

硬件设计-噪声的学习

目录 LDO 噪声和 PSRR ​编辑 噪声类型 数据表中的噪声规格 哪种规格适合您的应用 如何降低 LDO 噪声? LDO 噪声的影响 LDO 噪声和 PSRR 低压差线性稳压器 (LDO) 为调节由较高电压输入产生的输出电压提供了一种简单方法。虽然操作简单,但其自生噪…

如何禁止电脑上某个软件运行?电脑设置禁止运行软件的4个方法速成

在日常使用电脑的过程中,可能会遇到需要禁止某些软件运行的情况。 无论是为了防止员工随意使用与工作无关的软件,还是为了管理孩子的电脑使用时间,禁止特定软件运行都是有效的解决方案。 下面介绍4个速成方法,帮你轻松禁止电脑上…

QQ机器人搭建

使用QQ官方机器人Python SDK和三方框架搭建QQ群聊机器人 文章目录 使用QQ官方机器人Python SDK和三方框架搭建QQ群聊机器人前言编写机器人代码机器人监听群聊进行文字回复机器人监听群聊进行图片回复机器人监听群聊进行文件发送机器人监听群聊进行视频发送机器人监听群聊进行语…

3.js - 运动曲线

这个球,绕着这个红色的线圈转 代码 import * as THREE from three import { OrbitControls } from three/examples/jsm/controls/OrbitControlslet scene,camera,renderer,controls nulllet moon,earth null// 根据,一系列的点,创建曲线 le…

【全新课程】正点原子《基于GD32 ARM32单片机项目实战入门》培训课程上线!

正点原子《基于GD32 ARM32单片机项目实战入门》全新培训课程上线啦!正点原子工程师手把手教你学!彻底解决ARM32单片机项目入门难的问题! 一、课程介绍 本课程专为ARM32单片机的入门学习者设计,涵盖了环境搭建、编程软件使用、模…

ML 系列:机器学习和深度学习的深层次总结(08)—欠拟合、过拟合,正确拟合

ML 系列赛:第 9 天 — Under、Over 和 Good Fit 文章目录 一、说明二、了解欠拟合、过拟合和实现正确的平衡三、关于泛化四、欠拟合五、过拟合六、适度拟合七、结论 一、说明 在有监督学习过程中,对于指定数据集进行训练,训练结果存在欠拟合…

微软Win11 22H2/23H2 九月可选更新KB5043145发布!

系统之家于9月27日发出最新报道,微软针对Windows11系统,发布了九月最新可选更新补丁KB5043145,22H2用户安装后,系统版本号升至22621.4249,23H2用户安装后升至22631.4249。本次更新修复了Edge使用IE模式有时会停止响应等…

本地部署开源在线PPT制作与演示应用PPTist并实现异地远程使用

文章目录 前言1. 本地安装PPTist2. PPTist 使用介绍3. 安装Cpolar内网穿透4. 配置公网地址5. 配置固定公网地址 前言 本文主要介绍如何在Windows系统环境本地部署开源在线演示文稿应用PPTist,并结合cpolar内网穿透工具实现随时随地远程访问与使用该项目。 PPTist …

远程访问软路由

远程访问软路由主要涉及通过互联网从远程位置访问和控制基于软件的路由器系统。以下是远程访问软路由的一般方法: 一、远程访问软路由的方法 通过Web管理界面访问: 适用于大多数支持Web管理的软路由系统。用户只需在浏览器中输入软路由的公网IP地址或域…

[Linux#58][HTTP] 自己构建服务器 | 实现网页分离 | 设计思路

目录 一. 最简单的HTTP服务器 二.服务器 2.0 Protocol.hpp httpServer.hpp 子进程的创建和退出 子进程退出的意义 父进程关闭连接套接字 httpServer.cc argc (argument count) argv (argument vector) 三.服务器和网页分离 思考与补充: 一. 最简单的HTT…

ONFI 5.1:定义、缩写语和约定

address 该地址由一个行地址和一个列地址组成。行地址标识要访问的page、block和LUN。列地址标识要访问的page中的byte或word。 asynchronous 异步是指数据用WE_n信号进行写,RE_n信号进行读。 block 由多个page组成,是擦除操作的最小可寻址单元。 column…

安卓开发板_MTK开发板_联发科开发评估套件Demo板接口介绍

开发板是一种功能丰富的电路平台,专为开发人员设计,集成了多种传感器、扩展接口和通信模块。这使得开发者能够高效进行原型设计和功能验证,极大地简化了软硬件开发的过程。 此次介绍的安卓开发板由MT8788核心板与底板构成,特别之处…

OpenCV视频I/O(5)视频采集类VideoCapture之从视频流中获取下一帧的函数grab()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 从视频文件或捕获设备中抓取下一帧。 grab() 函数是 OpenCV 中 VideoCapture 类的一个成员函数,用于从视频流中获取下一帧而不立即检…

AB plc设备数据 转profinet IO项目案例

目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 网关采集AB PLC数据 2 5 用PROFINET IO协议转发数据 4 6 案例总结 7 1 案例说明 设置网关采集AB PLC数据把采集的数据转成profinet IO协议转发给其他系统。 2 VFBOX网关工作原理 VFBOX网关是协议转换网关&#xff0…

Vue.js与Flask/Django全栈开发实战:从零搭建前后端分离的高效Web应用,打造现代化全栈开发体验!

将Vue.js与Flask或Django等后端框架配合使用,可以构建一个全栈的Web应用。以下是一个简要的指南,介绍如何将Vue.js与Flask或Django结合使用。 1. 准备工作 确保你已经安装了Node.js、npm(或yarn)以及Python和相应的包管理工具&am…

【系统交付资料】软件文档交付清单整理套用原件(Word,PPT,Excel)

软件文档交付清单是指在软件开发项目完成后,开发团队需要准备的一份详细清单,用于确保交付的软件产品符合客户需求并达到预期的质量标准。以下是软件文档交付清单中可能包含的一些关键要素 软件资料清单列表部分文档清单:工作安排任务书&…

CSS的弹性盒子模型(Flex box)

弹性盒子模型是CSS3的一种新的布局模式,弹性盒是一种当页面需要适应不同的屏幕大小以及设备类型时确保拥有合适的布局方式,引入弹性盒子模型的目的时提供更加有效的方式来对一个容器中的子元素进行排列,对齐和分配空白空间。 弹性盒子由弹性容…

高密度EEG人脑成像:技术与应用

摘要 EEG是一种非侵入性的人脑神经活动测量技术。随着数字技术的进步,EEG分析已从定性分析幅值和频率调制发展到全面分析记录信号的复杂时空特征。EEG能够在亚秒级的时间范围内测量神经过程,但其空间分辨率较低,这使得难以准确可靠地定位EEG…

unix中父进程如何获取子进程的终止状态

一、前言 本文将介绍在unix系统中,父进程如何获取子进程的终止状态。本文主要围绕如下函数展开: 1.wait 2.waitpid 3.waitid 4.wait3、wait4 在讨论这些函数前,先介绍一个进程从创建到释放子进程的过程。 二、子进程的创建以及终止 在unix…