【scikit-learn基础】--『数据加载』之玩具数据集
机器学习的第一步是准备数据,好的数据能帮助我们加深对机器学习算法的理解。
不管是在学习还是实际工作中,准备数据永远是一个枯燥乏味的步骤。scikit-learn库显然看到了这个痛点,才在它的数据加载子模块中为我们准备了直接可用的数据集。
在它的数据加载子模块中,提供了6种直接可用来学习算法的经典数据集,被称为 Toy Datasets,
也就是本篇准备介绍的玩具数据集。
1. 鸢尾花数据集
著名的鸢尾花数据集,最初由R.A.费舍尔爵士使用。
数据集取自费舍尔的论文。
1.1. 加载方式
from sklearn.datasets import load_iris
# 加载后的数据集 ds 是一个字典
ds = load_iris()
ds
直接的返回的字典中,除了数据还包含一些描述数据的元信息。
如果想要直接得到用于分析的数据,加载时设置如下的参数:
# 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. 加载方式
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. 加载方式
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. 加载方式
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. 加载方式
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. 加载方式
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. 总结
这些数据集数据量不大,但是数据具有代表性,且种类丰富。
了解每种数据的特点,后续学习算法的时候,可以利用它们来实验和验证算法的使用。
【scikit-learn基础】--『数据加载』之玩具数据集的更多相关文章
- Python 数据分析(一) 本实验将学习 pandas 基础,数据加载、存储与文件格式,数据规整化,绘图和可视化的知识
第1节 pandas 回顾 第2节 读写文本格式的数据 第3节 使用 HTML 和 Web API 第4节 使用数据库 第5节 合并数据集 第6节 重塑和轴向旋转 第7节 数据转换 第8节 字符串操作 ...
- odoo基础数据加载
odoo 基础数据加载 这里介绍的odoo基础数据加载分两种方式,一种是演示数据加载,一种是默认数据加载,下面就是详细介绍 首先,当然是创建一个date文件夹 项目目录,右键自定义一个文件夹 XML数 ...
- transformers 之Trainer对应的数据加载
基础信息说明 本文以Seq2SeqTrainer作为实例,来讨论其模型训练时的数据加载方式 预训练模型:opus-mt-en-zh 数据集:本地数据集 任务:en-zh 机器翻译 数据加载 Train ...
- ScrollView嵌套ListView,GridView数据加载不全问题的解决
我们大家都知道ListView,GridView加载数据项,如果数据项过多时,就会显示滚动条.ScrollView组件里面只能包含一个组件,当ScrollView里面嵌套listView,GridVi ...
- python多种格式数据加载、处理与存储
多种格式数据加载.处理与存储 实际的场景中,我们会在不同的地方遇到各种不同的数据格式(比如大家熟悉的csv与txt,比如网页HTML格式,比如XML格式),我们来一起看看python如何和这些格式的数 ...
- flask+sqlite3+echarts3+ajax 异步数据加载
结构: /www | |-- /static |....|-- jquery-3.1.1.js |....|-- echarts.js(echarts3是单文件!!) | |-- /templates ...
- Entity Framework关联查询以及数据加载(延迟加载,预加载)
数据加载分为延迟加载和预加载 EF的关联实体加载有三种方式:Lazy Loading,Eager Loading,Explicit Loading,其中Lazy Loading和Explicit Lo ...
- JQuery插件:遮罩+数据加载中。。。(特点:遮你想遮,罩你想罩)
在很多项目中都会涉及到数据加载.数据加载有时可能会是2-3秒,为了给一个友好的提示,一般都会给一个[数据加载中...]的提示.今天就做了一个这样的提示框. 先去jQuery官网看看怎么写jQuery插 ...
- 如何评估ETL的数据加载时间
简述如何评估大型ETL数据加载时间. 答:评估一个大型的ETL的数据加载时间是一件很复杂的事情.数据加载分为两类,一类是初次加载,另一类是增量加载. 在数据仓库正式投入使用时,需要进行一次初次加载,而 ...
- 浅谈Entity Framework中的数据加载方式
如果你还没有接触过或者根本不了解什么是Entity Framework,那么请看这里http://www.entityframeworktutorial.net/EntityFramework-Arc ...
随机推荐
- 使用文件批量find
有时候需要找一批文件传到本地,文件名都不一样.可以先把文件名写到文件里面,一个文件名为一行. 比如: file1.wav file2.wav file3.wav 在命令行执行: for i in `c ...
- Git Cherry-pick使用
概述 无论项目大小,当你和一群程序员一起工作时,处理多个 Git 分支之间的变更都会变得很困难.有时,与其把整个 Git 分支合并到另一个分支,不如选择并移动几个特定的提交.这个过程被称为 " ...
- Docker Dockerfile指令大全
FROM-指定基础镜像 指定基础镜像,并且Dockerfile中第一条指令必须是FROM指令,且在同一个Dockerfile中创建多个镜像时,可以使用多个FROM指令. # 语法格式 FROM < ...
- python 运行环境变为 pytest in (for) xxx.py原因
因为本人的自定义函数名称开头为test,在.py文件内我用了unittest框架,所以环境随着变化了. 修改回去很简单,只要不使用test开头或者换个文件夹.
- 浅析 GlusterFS 与 JuiceFS 的架构异同
在进行分布式文件存储解决方案的选型时,GlusterFS 无疑是一个不可忽视的考虑对象.作为一款开源的软件定义分布式存储解决方案,GlusterFS 能够在单个集群中支持高达 PiB 级别的数据存储. ...
- vue3探索——组件通信之依赖注入
背景 通常情况下,当我们需要从父组件向子组件传递数据时,会使用 props.想象一下这样的结构:有一些多层级嵌套的组件,形成了一颗巨大的组件树,而某个深层的子组件需要一个较远的祖先组件中的部分数据.在 ...
- 【源码】Vue.js 官方脚手架 create-vue 是怎么实现的?
Vue.js 官方脚手架 create-vue 是怎么实现的? 摘要 本文共分为四个部分,系统解析了vue.js 官方脚手架 create-vue 的实现细节. 第一部分主要是一些准备工作,如源码下载 ...
- 10款Visual Studio实用插件
前言 俗话说的好工欲善其事必先利其器,安装一些Visual Studio实用插件对自己日常的开发和工作效率能够大大的提升,避免996从选一款好的IDE实用插件开始.以下是我认为比较实用的Visual ...
- KRPANO资源分析工具下载VR-FACTORY全景图
示:目前分析工具中的全景图下载功能将被极速全景图下载大师替代,相比分析工具,极速全景图下载大师支持更多的网站(包括各类KRPano全景网站,和百度街景) 详细可以查看如下的链接: 极速全景图下载大师官 ...
- 了解JAVA内存模型(JMM)
1.概述 我们常说的JMM指的是Java内存模型(Java Memory Model,JMM),主要用于控制Java程序解决线程间如何通信和数据同步,JMM规范了多线程访问共享内存时的 可见性.有序性 ...