监督学习——分类问题:以鸢尾花分类案例为例
一、引言
监督学习作为学习>机器学习领域的核心分支之一,在诸多实际场景中发挥着重要作用。它基于带有标签的数据进行模型训练,旨在让模型学习输入特征与输出标签之间的映射关系,从而对新数据做出准确预测。分类问题和回归问题是监督学习中的两大主要任务类型。在本文中,我们将通过经典的鸢尾花分类案例深入探讨监督学习在分类问题中的应用。
二、监督学习概述
2.1 基本概念
监督学习的核心在于使用已知标签的数据来训练模型。在训练过程中,模型会不断调整自身参数,以最小化预测结果与真实标签之间的误差。训练完成后,模型就可以对未见过的数据进行预测。
2.2 分类问题与回归问题
三、鸢尾花数据集介绍
3.1 数据集概述
鸢尾花数据集是学习>机器学习领域的经典数据集之一,由英国统计学家和生物学家 Ronald Fisher 在 1936 年收集整理。该数据集包含了 150 个样本,每个样本代表一朵鸢尾花,分为 3 个不同的品种(类别),每个品种有 50 个样本。
3.2 数据特征与标签
在使用sklearn
库加载鸢尾花数据集(load_iris
)时,iris.data
和iris.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