【scikit-learn基础】--『数据加载』之玩具数据集

机器学习的第一步是准备数据,好的数据能帮助我们加深对机器学习算法的理解。

不管是在学习还是实际工作中,准备数据 永远是一个枯燥乏味的步骤。
scikit-learn库显然看到了这个痛点,才在它的数据加载子模块中为我们准备了直接可用的数据集。

在它的数据加载 子模块中,提供了6种 直接可用来学习算法的经典数据集,被称为 Toy Datasets

也就是本篇准备介绍的玩具数据集。

1. 鸢尾花数据集

著名的鸢尾花数据集,最初由R.A.费舍尔爵士 使用。

数据集取自费舍尔的论文。

1.1. 加载方式

python 复制代码
from sklearn.datasets import load_iris

# 加载后的数据集 ds 是一个字典
ds = load_iris()
ds

直接的返回的字典中,除了数据还包含一些描述数据的元信息。

如果想要直接得到用于分析的数据,加载时设置如下的参数:

python 复制代码
# as_frame 参数将数据部分设为pandas的Dataframe格式
# return_X_y 参数表示返回 (data, target) 格式
ds = load_iris(as_frame=True, return_X_y=True)

ds[0]  # Dataframe格式的数据

1.2. 数据概况

鸢尾花数据集是一个简单的多级分类数据集。

概况 说明
样本分类 3种
每种分类样本数 50
样本总数 150
样本维度 4
样本特征 real, positive 两种

1.3. 用途

这个数据集可作为下列机器学习算法的测试数据:

  • 分类算法:例如,逻辑回归、朴素贝叶斯、决策树、支持向量机、神经网络等。
  • 回归算法:例如,线性回归、决策树、支持向量回归等。
  • 聚类算法:例如,K-Means、层次聚类等。

2. 糖尿病数据集

这是一个可用于回归任务的糖尿病数据集。

2.1. 加载方式

python 复制代码
from sklearn.datasets import load_diabetes

# 与鸢尾花数据集加载相比,多了个 scaled 参数
# scaled=False时,返回特征变量的原始数据
# scaled=True时,则以均值为中心,进行缩放
ds = load_diabetes(as_frame=True, return_X_y=True, scaled=False)
ds[0]

2.2. 数据概况

概况 说明
样本总数 442
样本维度 10
特征 -.2 < x < .2实数
目标 25 - 346 整数

2.3. 用途

这个数据集可作为下列机器学习算法的测试数据:

  • 回归算法:例如,线性回归、岭回归、Lasso回归、支持向量回归等。
  • 特征选择算法:例如,递归特征消除、L1正则化等。
  • 特征降维算法:例如,主成分分析(PCA)、线性判别分析(LDA)等。
  • 其他相关算法:例如,模型评估、超参数调优等。

3. 手写数字数据集

这是一个用于多分类任务的数字识别数据集。

3.1. 加载方式

python 复制代码
from sklearn.datasets import load_digits

ds = load_digits(as_frame=True, return_X_y=True)
ds[0]

3.2. 数据概况

概况 说明
样本分类 10种
每种分类样本数 约180
样本总数 1797
样本维度 64
样本特征 0~16整数

3.3. 用途

这个数据集可作为下列机器学习算法的测试数据:

  • 多分类算法:例如,K-近邻(K-NN)、支持向量机(SVM)、决策树、神经网络等。
  • 特征选择算法:例如,递归特征消除、L1正则化等。
  • 特征降维算法:例如,主成分分析(PCA)、线性判别分析(LDA)等。
  • 其他相关算法:例如,模型评估、超参数调优等。

需要注意的是,由于这个数据集的特征是图像像素值,因此不太适合用于非图像处理的机器学习算法。

4. 林纳鲁德数据集

这是一个用于多变量回归任务的数据集。

4.1. 加载方式

python 复制代码
from sklearn.datasets import load_linnerud

ds = load_linnerud(as_frame=True, return_X_y=True)
ds[0]

4.2. 数据概况

概况 说明
样本总数 20
样本维度 3
特征 整数
目标 整数

4.3. 用途

这个数据集可作为下列机器学习算法的测试数据:

  • 回归算法:例如,线性回归、岭回归、Lasso回归、支持向量回归等。
  • 特征选择算法:例如,递归特征消除、L1正则化等。
  • 特征降维算法:例如,主成分分析(PCA)、线性判别分析(LDA)等。
  • 其他相关算法:例如,模型评估、超参数调优等。

5. 葡萄酒数据集

这是一个用于分类任务的葡萄酒数据集

5.1. 加载方式

python 复制代码
from sklearn.datasets import load_wine

ds = load_wine(as_frame=True, return_X_y=True)
ds[0]

5.2. 数据概况

概况 说明
样本分类 3种
每种分类样本数 3个分类中的样本数分别为:59,71,48
样本总数 178
样本维度 13
样本特征 正的实数

5.3. 用途

这个数据集可作为下列机器学习算法的测试数据:

  • 分类算法:例如,逻辑回归、朴素贝叶斯、决策树、支持向量机、神经网络等。
  • 特征选择算法:例如,递归特征消除、L1正则化等。
  • 特征降维算法:例如,主成分分析(PCA)、线性判别分析(LDA)等。
  • 其他相关算法:例如,模型评估、超参数调优等。

6. 威斯康星州乳腺癌数据集

这是一个用于分类任务的乳腺癌数据集。

6.1. 加载方式

python 复制代码
from sklearn.datasets import load_breast_cancer

ds = load_breast_cancer(as_frame=True, return_X_y=True)
ds[0]

6.2. 数据概况

概况 说明
样本分类 2种
每种分类样本数 样本数分别为:212,357
样本总数 569
样本维度 30
样本特征 正的实数

6.3. 用途

这个数据集可作为下列机器学习算法的测试数据:

  • 分类算法:例如,逻辑回归、朴素贝叶斯、决策树、支持向量机、神经网络等。
  • 特征选择算法:例如,递归特征消除、L1正则化等。
  • 特征降维算法:例如,主成分分析(PCA)、线性判别分析(LDA)等。
  • 其他相关算法:例如,模型评估、超参数调优等。

7. 总结

这些数据集数据量不大,但是数据具有代表性,且种类丰富。

了解每种数据的特点,后续学习算法的时候,可以利用它们来实验和验证算法的使用。

相关推荐
MoRanzhi120323 分钟前
亲和传播聚类算法应用(Affinity Propagation)
人工智能·python·机器学习·数学建模·scikit-learn·聚类
金融OG25 分钟前
99.23 金融难点通俗解释:小卖部经营比喻PPI(生产者物价指数)vsCPI(消费者物价指数)
人工智能·python·机器学习·数学建模·金融·数据可视化
是Dream呀1 小时前
Python从0到100(八十六):神经网络-ShuffleNet通道混合轻量级网络的深入介绍
网络·python·神经网络
zxfeng~1 小时前
深度学习之“线性代数”
人工智能·python·深度学习·线性代数
叫我DPT2 小时前
Python 中 `finally` 的执行时机与 `return` 的微妙关系
python
CodeClimb3 小时前
【华为OD-E卷 - 最大矩阵和 100分(python、java、c++、js、c)】
java·c++·python·华为od·矩阵
aiweker5 小时前
Selenium 使用指南:从入门到精通
python·selenium·测试工具
SteveKenny6 小时前
Python 梯度下降法(六):Nadam Optimize
开发语言·python
dreadp8 小时前
解锁豆瓣高清海报(二) 使用 OpenCV 拼接和压缩
图像处理·python·opencv·计算机视觉·数据分析
Tester_孙大壮8 小时前
第32章 测试驱动开发(TDD)的原理、实践、关联与争议(Python 版)
驱动开发·python·tdd