监督学习——分类问题:以鸢尾花分类案例为例

news/2025/2/26 7:59:27

监督学习——分类问题:以鸢尾花分类案例为例

一、引言

监督学习作为学习>机器学习领域的核心分支之一,在诸多实际场景中发挥着重要作用。它基于带有标签的数据进行模型训练,旨在让模型学习输入特征与输出标签之间的映射关系,从而对新数据做出准确预测。分类问题和回归问题是监督学习中的两大主要任务类型。在本文中,我们将通过经典的鸢尾花分类案例深入探讨监督学习分类问题中的应用。

二、监督学习概述

2.1 基本概念

监督学习的核心在于使用已知标签的数据来训练模型。在训练过程中,模型会不断调整自身参数,以最小化预测结果与真实标签之间的误差。训练完成后,模型就可以对未见过的数据进行预测。

2.2 分类问题与回归问题

  • 分类问题:目标是将数据划分到预定义的类别中。例如,垃圾邮件识别、图像分类等。
  • 回归问题:旨在预测一个连续的数值,如房价预测、股票价格走势预测等。

三、鸢尾花数据集介绍

3.1 数据集概述

鸢尾花数据集是学习>机器学习领域的经典数据集之一,由英国统计学家和生物学家 Ronald Fisher 在 1936 年收集整理。该数据集包含了 150 个样本,每个样本代表一朵鸢尾花,分为 3 个不同的品种(类别),每个品种有 50 个样本。

3.2 数据特征与标签

在使用sklearn库加载鸢尾花数据集(load_iris)时,iris.datairis.target是两个非常重要的属性。

  • iris.data:这是一个二维的NumPy数组,包含了鸢尾花数据集的特征数据。数组的每一行代表一个样本(即一朵鸢尾花),每一列代表一个特征。在鸢尾花数据集中,iris.data的形状通常是(150, 4),意味着有 150 个样本,每个样本有 4 个特征,分别是萼片长度(sepal length)、萼片宽度(sepal width)、花瓣长度(petal length)和花瓣宽度(petal width)。以下是查看iris.data形状和前几行的代码示例:
from sklearn.datasets import load_iris
import numpy as np

iris = load_iris()
print("iris.data 的形状:", iris.data.shape)
print("iris.data 的前几行:")
print(iris.data[:5])

运行上述代码,可能会得到类似如下的输出:

iris.data 的形状: (150, 4)
iris.data 的前几行:
[[5.1 3.5 1.4 0.2]
 [4.9 3.  1.4 0.2]
 [4.7 3.2 1.3 0.2]
 [4.6 3.1 1.5 0.2]
 [5.  3.6 1.4 0.2]]

这里的每一行数据分别对应着一朵鸢尾花的萼片长度、萼片宽度、花瓣长度和花瓣宽度。

  • iris.target:这是一个一维的NumPy数组,包含了鸢尾花数据集的目标标签(即类别信息)。数组中的每个元素代表对应样本(即iris.data中每一行)所属的类别。在鸢尾花数据集中,类别用整数 0、1、2 来表示,分别对应不同的鸢尾花品种:0 代表山鸢尾(Iris - setosa),1 代表变色鸢尾(Iris - versicolor),2 代表维吉尼亚鸢尾(Iris - virginica)。iris.target的长度与iris.data的行数相同,均为 150。以下是查看iris.target

http://www.niftyadmin.cn/n/5868346.html

相关文章

KylinSP3 | 防火墙和麒麟安全增强设置KySec

一、系统防火墙原理 麒麟操作系统从V10版本开始,默认使用了Firewalld防火墙,Firewalld是能提供动态管理的防火墙,支持网络/防火墙区域,用于定义网络连接或接口的信任级别。支持IPv4和IPv6防火墙设置、以太网桥接和IP集。将运行时…

【前端定位线上问题的多种方案(不依赖 Sentry)】

前端定位线上问题的多种方案(不依赖 Sentry) 🛠️ 一、构建时注入调试信息 🔧 1. 注入版本信息与 Git 提交哈希 Webpack 配置: // webpack.config.js const webpack require(webpack); const gitRevision require(…

React进阶之前端业务Hooks库(三)

前端业务Hooks库 hooks 方法localStorage和sessionStorager区别packages/hooks/src/useLocalStorageStatepackages/hooks/src/useSessionStorageStatepackages/hooks/src/createUseStorageState模块Hooks在不同场景下的应用Hooks陷阱前提例子useLatest和useMemoizedFn其他功能的…

jmeter 如何做移动端的测试 特别是兼容性测试

JMeter本身主要是一款用于性能测试和功能测试的工具,虽然它并非专门为移动端测试设计,但可以通过一些方式来对移动端应用进行测试,以下从测试准备、测试过程及注意事项等方面为你详细介绍: 一、测试准备 (一)环境搭建 JMeter安装与配置:确保JMeter已经正确安装在测试机…

【MySQL篇】MySQL操作库

目录 1,创建数据库 2,字符集和校验规则 2.1,查看系统默认字符集和校验规则 2.2,查看数据库支持的字符集 2.3,查看数据库支持的字符集校验规则而 2.4,校验规则对数据库的影响 3,操作数据库…

Docker 搭建 Gitlab 服务器 (完整详细版)

参考 Docker 搭建 Gitlab 服务器 (完整详细版)_docker gitlab-CSDN博客 Docker 安装 (完整详细版)_docker安装-CSDN博客 Docker 日常命令大全(完整详细版)_docker命令-CSDN博客 1、Gitlab镜像 # 查找Gitlab镜像 docker search gitlab # 拉取Gitlab镜像 docker pull gitlab/g…

基于django图书信息管理系统的搭建(增删改查)

✍django项目搭建教程 ☞ ----------------- 教程 本文主要讲解django如何连接数据库MySQL并且可视化展示,实现增删改查功能 目录 一. 创建django应用 二. 数据库配置 三. 查看数据库 四. 编写代码 4.1视图函数 4.2 配置URL 4.3创建模板文件 4.…

vue2 ruoyi websocket轮询

文章目录 前言一、websocket和心跳是什么?二、使用步骤1.2.监听变化3.关闭 总结 前言 websocket,实现与后端通讯,使用心跳机制,断联自动恢复。 一、websocket和心跳是什么? WebSocket WebSocket 是一种网络通信协议&a…