首页 > 其他分享 >实验二——鸢尾花分类预测

实验二——鸢尾花分类预测

时间:2024-03-27 17:25:45浏览次数:32  
标签:iris 分类 导入 train 实验 test import 鸢尾花 sklearn

具体代码(Python版本)

import numpy as np                # 导入numpy库,用于进行数值计算
import matplotlib.pyplot as plt   # 导入matplotlib库,用于绘制图形
from sklearn import datasets      # 从sklearn库中导入datasets模块,用于加载数据集
from sklearn.model_selection import train_test_split  # 导入train_test_split函数,用于划分训练集和测试集
from sklearn.preprocessing import StandardScaler    # 导入StandardScaler类,用于数据标准化
from sklearn.neighbors import KNeighborsClassifier  # 导入KNeighborsClassifier类,用于创建KNN分类器
from sklearn.metrics import classification_report, confusion_matrix  # 导入分类报告和混淆矩阵的计算函数
from mpl_toolkits.mplot3d import Axes3D
from sklearn.cluster import KMeans
import matplotlib
matplotlib.use('TkAgg')
import pandas as pd

# 加载鸢尾花数据集
iris = datasets.load_iris()
X = iris.data  # 数据集中的特征
y = iris.target  # 数据集中的标签

# 划分训练集和测试集,测试集占20%
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 创建StandardScaler对象
sc = StandardScaler()
# 对训练集进行标准化处理
X_train_std = sc.fit_transform(X_train)
# 对测试集进行标准化处理,注意这里使用训练集得到的均值和标准差
X_test_std = sc.transform(X_test)

# 创建KNN分类器,设置邻居数为3
knn = KNeighborsClassifier(n_neighbors=3)
# 使用训练集数据对KNN分类器进行训练
knn.fit(X_train_std, y_train)

# 使用训练好的KNN分类器对测试集进行预测
y_pred = knn.predict(X_test_std)

# 打印混淆矩阵
print(confusion_matrix(y_test, y_pred))
# 打印分类报告
print(classification_report(y_test, y_pred))

import seaborn as sns
iris = pd.read_csv('iris.csv') #读取iris数据集
sns.pairplot(iris, hue="Species") #绘图
plt.show() #显示图片


效果展示

标签:iris,分类,导入,train,实验,test,import,鸢尾花,sklearn
From: https://www.cnblogs.com/liuzijin/p/18099737

相关文章

  • 【机器学习】线性回归实验
    任何一门机器学习的课,第一个接触的算法多半都是线性回归。这篇文章简单总结了相关的两个算法——最小二乘法和梯度下降法,以及它们的步骤,并用Python实现了相关算法。步骤如下:首先用随机函数构造数据,在这里我构造了一百组数据。建立线性模型......
  • Xilinx ZYNQ 7000+Vivado2015.2系列(三)之HelloWorld实验(最小系统)(纯PS)
    前言:使用的板子是zc702。用Vivado的IP核搭建最小系统,包括ARM核(CPUxc7z020),DDR3(4×256M),一个UART串口(MiniUSB转串口),纯PS,通过串口打印出HelloWorld,工程虽小,五脏俱全,算是一种朝圣。配置要和板子对应,大家注意修改。操作步骤:硬件部分1.新建Vivado工程选择芯片型号xc7z020clg484_1......
  • 【Azure Service Bus】启用诊断日志来获取客户端访问Azure Service Bus的IP地址 [2024
    问题描述在使用ServiceBus中,遇见了莫名奇妙,不知来源的访问,但是又不敢直接修改AccessKey(担心影响正常业务),所以想通过访问服务的客户端IP地址来分析,到底是那里的客户端在访问ServiceBus服务? 问题解答经过调查,可以通过开启AzureServiceBus的诊断日志来实现此目的。......
  • 数据库实验(一)SQL Server触发器
    目录触发器的定义触发器和存储过程的区别触发器的优点触发器的作用触发器的分类DML触发器DDL触发器登录触发器触发器的工作原理inserted表deleted表创建触发器编程要求测试要求: 实验代码:触发器的定义触发器是建立在触发事件上的。例如,对表执行INSERT、U......
  • html标签分类
    常见的HTML块级元素包括:<div>:用于创建一个块级容器,通常用于组织页面结构和样式。<p>:用于表示段落文本。<h1> - <h6>:用于表示标题,数字越大表示级别越低。<ul>:用于表示无序列表。<ol>:用于表示有序列表。<li>:用于表示列表项。<table>:用于表示表格。<form>:用于表示表单。<head......
  • 48、分类汇总
     1、把表格的日期补充完整首先选择表格的日期框,然后按【ctrl+g】,点击【定位条件】,选择【空值】,点击【确定】,在第一个空格里面输入【=】+shift+点击一下上面的日期,再按【ctrl+回车】,就可以把空白的填充完整   2、把【用途】和【金额】分类出来   在这两格里面分......
  • 【SpringBoot3+Mybatis】小程序和后台管理系统 员工/分类/菜品/套餐管理 上传文件 CRU
    文章目录一、项目介绍&Github二、技术选型三、开发环境搭建四、员工管理4.1新增员工①sql②对象拷贝DTO与Entity③异常捕获与处理④动态获取当前登录者Id⑤ThreadLocal4.2员工分页查询①请求参数实体与响应数据实体②controller层③service层使用pageHelper......
  • BOSHIDA DC电源模块的分类及特点介绍
    BOSHIDADC电源模块的分类及特点介绍DC电源模块是一种将交流电转换为直流电的设备,广泛应用于各种电子设备中。根据其特点和功能,DC电源模块可以分为线性稳压模块和开关稳压模块两种。本文将详细介绍这两种DC电源模块的分类和特点,以便读者更好地了解它们。 开始,我们来看线性稳......
  • 实验一 CAN总线通讯协议实验
    【实验步骤】1、CAN信号矩阵与CANdbEditor的使用CAN总线实际应用中经常使用通信信号矩阵(Excel表格形式)来描述车辆网络中节点、消息与信号,可以直观地查看CAN网络数据通讯情况,各节点ECU必须遵循该通讯矩阵才能完成信息的交互和共享。(1)CAN网络的基本概念:节点:一个汽车控制器作为......
  • 交换机分类、性能参数
    交换机分类 根据交换方式分存储转发交换完整的接收数据帧,缓存-验证-碎片过滤-转发优点:可以提供差错校验和非对称交换缺点:延迟大直通式交换输入端口扫描到目标地址后立即开始转发优点:延迟小、交换速度快缺点:没有检错能力,不能实现非对称交换碎片过滤式交换开......