sklearn中常用数据集简介

scikit-learn库中提供了包括分类、回归、聚类、降维等多种机器学习任务所需的常用数据集,方便进行实验和研究,它们主要被封装在sklearn.datasets中,本文对其中一些常用的数据集进行简单的介绍。

1.Iris(鸢尾花)数据集

该数据集包含150个鸢尾花样本,分为3个品种,每个品种50个样本。每个样本包含4个特征:花萼长度、花萼宽度、花瓣长度、花瓣宽度。目的是使用这4个特征来对鸢尾花进行分类。scikit-learn中该数据集主要封装在sklearn.datasets.load_iris()中,使用方法如下:

python 复制代码
from sklearn.datasets import load_iris

# 加载数据集
iris = load_iris()

# 打印数据集的描述
print(iris.DESCR)

# 打印特征名
print(iris.feature_names)

# 打印标签类别
print(iris.target_names)

# 获取特征矩阵和目标向量
X = iris.data
y = iris.target

在上面的代码中,load_iris() 方法返回一个包含Iris数据集的对象 iris 。可以通过 iris.DESCR、iris.feature_names、iris.target_names 属性打印出数据集的描述、特征名、标签类别。然后,我们可以使用 iris.data 属性获取特征矩阵,使用 iris.target 属性获取标签向量。特征矩阵 X 是一个包含150个样本和4个特征的二维数组,目标向量 y 是一个包含150个元素的一维数组,每个元素表示对应样本的类别。

2.Wine(葡萄酒)数据集

Wine数据集也是一个分类问题的数据集,包含了三个葡萄酒品种(class)的13种化学特征,一共有178个样本。这个数据集是由美国加州大学欧文分校(UCI)提供的,最初是为了研究酒的化学成分和葡萄酒品种之间的关系而构建的。

Wine数据集中的三个葡萄酒品种分别是:

  • Class 1: 59个样本

  • Class 2: 71个样本

  • Class 3: 48个样本

13个化学特征分别是:

  • Alcohol(酒精)

  • Malic acid(苹果酸)

  • Ash(灰分)

  • Alcalinity of ash(灰的碱度)

  • Magnesium(镁)

  • Total phenols(总酚类化合物)

  • Flavanoids(类黄酮)

  • Nonflavanoid phenols(非类黄酮酚)

  • Proanthocyanins(原花青素)

  • Color intensity(颜色强度)

  • Hue(色调)

  • OD280/OD315 of diluted wines(稀释葡萄酒的OD280/OD315比值)

  • Proline(脯氨酸)

Wine数据集使用方法和鸢尾花数据集是类似的:

python 复制代码
from sklearn.datasets import load_wine

wine = load_wine()
X, y = wine.data, wine.target

其中,X代表数据集中的13个特征,y代表数据集中的三个葡萄酒品种(class)。

3.Boston(波士顿房价)数据集

Boston数据集则是一个回归问题的经典数据集,包含了美国波士顿地区房屋的14个特征,一共有506个样本。这个数据集同样是由美国加州大学欧文分校(UCI)提供的,我们通常用来研究房屋价格和房屋特征之间的关系。

Boston数据集中的14个特征分别是:

  • CRIM:城镇人均犯罪率

  • ZN:占地面积超过25000平方英尺的住宅用地比例

  • INDUS:城镇非零售业务占地面积的比例

  • CHAS:查尔斯河虚拟变量(如果河流边界,则为1;否则为0)

  • NOX:一氧化氮浓度(每千万分之一)

  • RM:住宅平均房间数

  • AGE:1940年之前建造的自用房屋的比例

  • DIS:到波士顿五个就业中心的加权距离

  • RAD:放射性公路的可达性指数

  • TAX:每10,000美元的全值财产税率

  • PTRATIO:城镇师生比例

  • B:1000(Bk - 0.63)^ 2其中Bk是城镇黑人的比例

  • LSTAT:人口中地位低下者的百分比

  • MEDV:自住房屋房价中位数,以千美元计

该数据集使用方法如下:

python 复制代码
from sklearn.datasets import load_boston

boston = load_boston()
X, y = boston.data, boston.target

其中,X代表数据集中的14个特征,y代表数据集中的自住房屋房价中位数的目标变量。

4.digits(手写数字)数据集

Digits数据集是一个手写数字识别数据集,它包含了1797张8x8像素的数字图像。每张图像都被转换为64维的特征向量,每个特征表示图像中的一个像素点。每张图像都被标记为0到9中的一个数字,表示图像所代表的数字。这个数据集非常适合用于机器学习中的图像分类问题。

在sklearn中,Digits数据集可以通过以下代码进行加载:

python 复制代码
from sklearn.datasets import load_digits

digits = load_digits()

按上述步骤执行完之后,digits对象同样包含两个主要属性:data和target。digits.data保存的是特征矩阵,它是一个1797x64的数组,每一行代表一张图像的特征向量。标签保存在digits.target中,它是一个长度为1797的一维数组,每个元素代表相应图像的数字标签。我们使用类似的方法可以导出特征和标签:

python 复制代码
X, y = boston.data, boston.target
相关推荐
Together_CZ6 分钟前
EasyAnimate:基于Transformer架构的高性能长视频生成方法
人工智能·深度学习·transformer·easyanimate
知识的宝藏9 分钟前
Django如何配置多个环境的MySQL数据库
python·django
Eric.Lee202111 分钟前
数据集-目标检测系列- 人与猫互动 猫 检测数据集 cat in the house >> DataBall
人工智能·yolo·目标检测·计算机视觉·猫咪检测·猫与人互动
往日情怀酿做酒 V176392963822 分钟前
Django基础配置
后端·python·django
小白的程序空间23 分钟前
人工智能之机器学习5-回归算法1【培训机构学习笔记】
人工智能·机器学习·回归
chenchihwen25 分钟前
《生成式 AI》课程 作业6 大语言模型(LLM)的训练微调 Fine Tuning -- part1
人工智能
澜舟孟子开源社区40 分钟前
“AI玩手机”原理揭秘:大模型驱动的移动端GUI智能体
人工智能·科技·agi
Mr.鱼1 小时前
opencv undefined reference to `cv::noarray()‘ 。window系统配置opencv,找到opencv库,但连接不了
人工智能·opencv·计算机视觉
ATpiu1 小时前
免费微调自己的大模型(llama-factory微调llama3.1-8b)
人工智能·机器学习·llama
凌虚(失业了求个工作)1 小时前
RAG 示例:使用 langchain、Redis、llama.cpp 构建一个 kubernetes 知识库问答
人工智能·redis·python·langchain·llama