机器学习鸢尾花使用csv

ops/2024/9/22 22:49:33/

操作流程

  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.ppmy.cn/ops/3145.html

相关文章

软航H5 PDF签章产品经nginx代理之后浏览器中PDF盖章时提示:签章失败:网络错误 的问题排查及解决办法

目录 问题现象 问题排查思路 问题处理办法 附:软航H5 PDF签章产品介绍 软航电子签章系统 软航版式文档签批系统 问题现象 问题描述:在系统中集成了软航H5 PDF签章产品,软航H5 PDF签章产品的对应服务是通过nginx代理的,在奇安…

网盘——私聊

在私聊这个功能实现中,具体步骤如下: 1、实现步骤: A、客户端A发送私聊信息请求(发送的信息包括双方的用户名,聊天信息) B、如果双方在线则直接转发给B,不在线则回复私聊失败,对方…

STM32 串口接收定长,不定长数据

本文为大家介绍如何使用 串口 接收定长 和 不定长 的数据。 文章目录 前言一、串口接收定长数据1. 函数介绍2.代码实现 二、串口接收不定长数据1.函数介绍2. 代码实现 三,两者回调函数的区别比较四,空闲中断的介绍总结 前言 一、串口接收定长数据 1. 函…

【TCP套接字编程,UDP套接字编程】

文章目录 TCP套接字编程Socket编程Socket 编程TCP套接字编程TCPsocket编程C/S socket 交互: TCP数据结构 sockaddr_in数据结构 hostent UDP套接字编程UDP Socket编程Client/server socket 交互: UDP TCP套接字编程 Socket编程 应用进程使用传输层提供的服务才能交换报文。实现…

2.4 Web容器配置:Tomcat

2.4 Web容器配置 2.4.1Tomcat配置1.常规配置2. HTTPS配置 *********** 2.4.1Tomcat配置 1.常规配置 在SpringBoot项目中,可以内置Tomcat、Jetly、Undertow、Netty等容器。 当开发者添加了spring-boot-starter-web依赖之后,默认会使用Tomcat作为Web容器…

qt之QSS常见属性

本文通过以下方式来设置QSS 控件名->setStyleSheet(""); 设置字体大小 font-size:18pt; 设置背景颜色 background-color:red; 或 background-color:#111111; 或 background-color:rgba(229,229,229,0); 注:rgba的最后一个值代表透明度 设置…

论文笔记:(INTHE)WILDCHAT:570K CHATGPT INTERACTION LOGS IN THE WILD

iclr 2024 spotlight reviewer 评分 5668 1 intro 由大型语言模型驱动的对话代理(ChatGPT,Claude 2,Bard,Bing Chat) 他们的开发流程通常包括三个主要阶段 预训练语言模型在被称为“指令调优”数据集上进行微调&…

原牛角源码(修罗bbs)全站程序打包带数据库备份

原牛角源码(修罗bbs)全站程序打包带数据库备份,牛角源码全站数据全站文件、插件打包分享给大家,有兴趣的可以搭建玩玩! conf文件夹中自己配置conf.php里面的数据库链接文件,默认管理账号:admin,密码&#…