机器学习鸢尾花使用csv

操作流程

  1. 下载鸢尾花数据集
  2. 导入需要的包
  3. 读取数据并查看数据大小和长度
  4. 划分训练集和测试集
  5. 使用模型
  6. 评估算法

下载鸢尾花数据集

链接:https://pan.baidu.com/s/1RzZyXsaiJB3e611itF466Q?pwd=j484 
提取码:j484 
--来自百度网盘超级会员V1的分享

导入需要的包

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
from sklearn import metrics 

查看数据大小和长度

读取五列数据,由于csv文件比sklearn鸢尾花种多了id列,不需要
iris_data=pd.read_csv('iris.csv', usecols=[ 1, 2, 3, 4,5])
查看数据集大小(150行5列)
iris_data.shape
# (150, 5)
数据详情
iris_data.head()

在这里插入图片描述

划分训练集和测试集合

载入特征和标签集

X = iris_data[['sepal_length', 'sepal_width', 'petal_length', 'petal_width']]        		
y = iris_data['species']     

划分为x和r(r是结果result的缩写,也就是这里的类别)

from sklearn.model_selection import train_test_splitX_train, X_test, r_train, r_test = train_test_split(X, r, random_state=0)
x划分的结果,一共150行按3:1的比例,X_train是112行四列特征,X_test是这112行的类别,所以后面直接fit(X_train,r_train)即可完成模型训练
print("X_train shape: {}".format(X_train.shape))        # X_train #shape: (112, 4)
print("r_train shape: {}".format(r_train.shape))        # r_train #shape: (112,)
r划分的结果,一共150行按3:1的比例,r_train是38行四列特征,r_test是这38行的类别,所以后面直接fit(x_test,r_test)即可完成测试集
print("X_test shape: {}".format(X_test.shape))         # X_test shape: (38, 4)
print("r_test shape: {}".format(r_test.shape))         # r_test shape: (38,)

调用模型

  1. 这里使用knn算法

引入knn算法

from sklearn.neighbors import KNeighborsClassifierknn = KNeighborsClassifier(n_neighbors=1)

开始训练

knn.fit(X_train, r_train)

开始用训练好的模型跑测试数据

r_pred = knn.predict(X_test)
print("Test set predictions: \n {}".format(r_pred))
结果
Test set predictions: ['virginica' 'versicolor' 'setosa' 'virginica' 'setosa' 'virginica''setosa' 'versicolor' 'versicolor' 'versicolor' 'virginica' 'versicolor''versicolor' 'versicolor' 'versicolor' 'setosa' 'versicolor' 'versicolor''setosa' 'setosa' 'virginica' 'versicolor' 'setosa' 'setosa' 'virginica''setosa' 'setosa' 'versicolor' 'versicolor' 'setosa' 'virginica''versicolor' 'setosa' 'virginica' 'virginica' 'versicolor' 'setosa''virginica']

模型评估

方法一

print("Test set score: {:.2f}".format(np.mean(y_pred == y_test)))   
# Test set score: 0.97

方法二

print('Test set score: {:.2f}'.format(metrics.accuracy_score(r_pred, r_test)))  # Test set score: 0.97

方法三

print("Test set score: {:.2f}".format(knn.score(X_test, r_test)))  # Test set score: 0.97

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

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

相关文章

【力扣 | 分享】高频 SQL 50 题(基础版)

题单 查询可回收且低脂的产品寻找用户推荐人大的国家文章浏览 I无效的推文 连接使用唯一标识码替换员工ID产品销售分析 I进店却未进行过交易的顾客上升的温度每台机器的进程平均运行时间员工奖金学生们参加各科测试的次数至少有5名直接下属的经理确认率有趣的电影平均售价项目员…

ZCC51215同步降压芯片 输出电流30A

描述: ZCC51215是一颗用于 Notebook 或Desktop的同步降压 控制器。具有 4V 到 24V 的宽输入电压范围,适用于锂 电池或者适配器供电。输出电压可以通过 VID0和 VID1 逻辑信号动态切换,电压切换斜率可以通过 VREF 引脚 的电容进行配置&…

react异步组件如何定义使用 标准使用方法

目录 默认导出和命名导出的格式 默认导出的组件 使用方式 命名导出的组件 使用方式 默认导出和命名导出的格式 默认导出: // person.js const person {name: Alice,age: 30 };export default person;命名导出: // math.js export const add (a, b) > a b; exp…

矩阵混乱度(熵值)代码计算

1、先回顾下熵值的数据公式: 2、jax.numpy代码 注意的点:熵值计算的输入的必须是归一化的正值 import jax.numpy as jnp import jax def _entroy(probs):log_probs jnp.log2(jnp.maximum(1.0e-30, probs))mean_sum_plogp jnp.mean(- jnp.sum(log_pro…

vscode+vue开发常用插件整理

前言: vscode新机开发常用插件整理 1、chinese 简体中文配置 2、file-jump 别名跳转,可以把引入的组件,通过ctrl地址名 跳转组件内部 3、Vue Peek:vue项目中的一些配置,安装后,能实现 ctrl组件名 跳转…

python中用struct打包

Python字节流打包是指将数据按照一定的格式打包成字节流的过程。在Python中,可以使用struct模块来进行字节流的打包和解包操作。 struct模块提供了一些函数,用于将数据转换为特定的字节流格式,或者将字节流解析为特定的数据类型。常用的函数…

Golang图像处理实战:image/png包的应用详解

Golang图像处理实战:image/png包的应用详解 介绍基本操作读取PNG文件保存PNG文件 处理图像数据修改图像像素图像裁剪和缩放 高级功能使用 image/color 处理颜色优化PNG性能 错误处理与调试常见错误及其解决方法文件无法打开图像解码失败 使用工具和库进行调试 结语 …

光流法跟踪

光流法(Optical Flow)是一种计算机视觉技术,用于估计图像序列中像素点的运动,即在连续两帧或多帧图像间,由于场景中物体的运动而在像素层面产生的相对移动。在目标跟踪场景中,特别是针对关键点的跟踪&#…

测试数据整理--chatgpt 构造sql语句导出数据库数据

在测试过程中,我们有时候需要准备一些测试数据,若从系统中直接导出Excel数据,数据往往庞大且需要整合,不好整理,于是我们直接去数据库中查询一些表,数据整合后直接导出结果会更方便。 我们今天就 用 chatg…

shell 调用钉钉通知

使用场景:机器能访问互联网,运行时间任务后通知使用 钉钉建立单人群 手机操作,只能通过手机方式建立单人群 电脑端 2. 配置脚本 #!/bin/bash set -e## 上图中 access_token字段 TOKEN KEYWORDhello # 前文中设置的关键字 function call_…

PyTorch如何保存验证集上效果最好的模型

PyTorch如何保存验证集上效果最好的模型 验证集的作用是在训练过程中监测是否出现过拟合。通常情况下,我们期望验证集的损失函数值在训练过程中首先下降,然后趋于稳定或上升。当损失函数值达到最小值时,表示模型在验证集上的泛化能力最佳&am…

分享一些壁纸api(小鸟)

分享一些壁纸api 搜索接口 import requestsurl "https://wp.shanhutech.cn/intf/GetUpOrDownWallpaper" querystring {"type":"search","action":"","value":"原神","id":"2051093&q…

【jinja2】模板渲染

HTML文件 return render_template(index.html)h1: 一级标题 变粗变大(狗头

B02、JVM调优案例

1、调优的基本问题 1.1、为什么要调优? 目的是防止出现OOM,进行JVM规划和预调优;解决程序运行中各种OOM;以及减少Full GC出现的频率,解决运行慢、卡顿问题。 1.2、调优的大方向 合理的编写代码,充分并合理…

采购管理软件:如何快速实现采购申请自动化流转?

在没有采购管理软件的情况下,采购申请完全依赖纸质表格、电子邮件和 excel 表等过时的工具会大大降低效率,甚至影响企业的利润。 但一些企业尚未准备好重塑人工采购申请流程。他们似乎没有意识到,在采购相关活动上花费的资金越多&#xff0c…

大气的免费wordpress模板

国产的wordpress模板,更适合中国人使用习惯,更符合中国老板的审美的大气wordpress企业官网建站模板。 WordPress模板,也称为主题,是用于定义WordPress网站或博客外观和功能的预设计文件集。这些模板使用HTML、CSS和PHP代码构建&a…

doc转html参考

参考:https://github.com/mwilliamson/mammoth.js?tabreadme-ov-file 参考:前端玩Word:Word文档解析成浏览器认识的HTML_前端解析word成html-CSDN博客

LOD1-Unity中模型LOD技术原理以及使用

在Unity中,LOD(Level of Detail)技术是一种用于优化模型渲染性能的技术。它通过在不同距离下使用不同细节级别的模型来减少渲染开销,从而提高游戏的性能。 LOD技术的原理是根据相机与模型之间的距离来选择合适的细节级别进行渲染…

python中的字典(dict)排序

前言 在Python中,字典(dict)本身是无序的,直到Python 3.7版本,字典在迭代时会保持插入顺序。如果你需要根据键(key)或值(value)对字典中的项进行排序,可以使…

鸢尾花数据集的KNN探索与乳腺癌决策树洞察

鸢尾花数据集的KNN探索与乳腺癌决策树洞察 今天博主做了这个KNN和决策树的实验。 一.数据集介绍 介绍一下数据集: 威斯康星州乳腺癌数据集: 威斯康星州乳腺癌数据集(Wisconsin Breast Cancer Dataset)是一个经典的机器学习数…