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

不管是在学习还是实际工作中,准备数据永远是一个枯燥乏味的步骤。
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基础】--『数据加载』之玩具数据集的更多相关文章

  1. Python 数据分析(一) 本实验将学习 pandas 基础,数据加载、存储与文件格式,数据规整化,绘图和可视化的知识

    第1节 pandas 回顾 第2节 读写文本格式的数据 第3节 使用 HTML 和 Web API 第4节 使用数据库 第5节 合并数据集 第6节 重塑和轴向旋转 第7节 数据转换 第8节 字符串操作 ...

  2. odoo基础数据加载

    odoo 基础数据加载 这里介绍的odoo基础数据加载分两种方式,一种是演示数据加载,一种是默认数据加载,下面就是详细介绍 首先,当然是创建一个date文件夹 项目目录,右键自定义一个文件夹 XML数 ...

  3. transformers 之Trainer对应的数据加载

    基础信息说明 本文以Seq2SeqTrainer作为实例,来讨论其模型训练时的数据加载方式 预训练模型:opus-mt-en-zh 数据集:本地数据集 任务:en-zh 机器翻译 数据加载 Train ...

  4. ScrollView嵌套ListView,GridView数据加载不全问题的解决

    我们大家都知道ListView,GridView加载数据项,如果数据项过多时,就会显示滚动条.ScrollView组件里面只能包含一个组件,当ScrollView里面嵌套listView,GridVi ...

  5. python多种格式数据加载、处理与存储

    多种格式数据加载.处理与存储 实际的场景中,我们会在不同的地方遇到各种不同的数据格式(比如大家熟悉的csv与txt,比如网页HTML格式,比如XML格式),我们来一起看看python如何和这些格式的数 ...

  6. flask+sqlite3+echarts3+ajax 异步数据加载

    结构: /www | |-- /static |....|-- jquery-3.1.1.js |....|-- echarts.js(echarts3是单文件!!) | |-- /templates ...

  7. Entity Framework关联查询以及数据加载(延迟加载,预加载)

    数据加载分为延迟加载和预加载 EF的关联实体加载有三种方式:Lazy Loading,Eager Loading,Explicit Loading,其中Lazy Loading和Explicit Lo ...

  8. JQuery插件:遮罩+数据加载中。。。(特点:遮你想遮,罩你想罩)

    在很多项目中都会涉及到数据加载.数据加载有时可能会是2-3秒,为了给一个友好的提示,一般都会给一个[数据加载中...]的提示.今天就做了一个这样的提示框. 先去jQuery官网看看怎么写jQuery插 ...

  9. 如何评估ETL的数据加载时间

    简述如何评估大型ETL数据加载时间. 答:评估一个大型的ETL的数据加载时间是一件很复杂的事情.数据加载分为两类,一类是初次加载,另一类是增量加载. 在数据仓库正式投入使用时,需要进行一次初次加载,而 ...

  10. 浅谈Entity Framework中的数据加载方式

    如果你还没有接触过或者根本不了解什么是Entity Framework,那么请看这里http://www.entityframeworktutorial.net/EntityFramework-Arc ...

随机推荐

  1. 【Hexo】插件推荐以及使用小技巧

    目录 插件推荐 hexo-deployer-git hexo-word-counter hexo-abbrlink hexo-generator-sitemap 小技巧 自定义提交信息 参考资料 He ...

  2. 如何修改min.js或者压缩后的js,以便提高代码的可读性。

    前端的js上线的时候一般会使用打包工具处理(webpack,gulp,ugly.js 等).这样做有几点作用. 可以压缩空间,提高页面响应速度 一定程度上可以保护自己的代码安全,防止别人清晰看懂逻辑或 ...

  3. MindSponge分子动力学模拟——使用迭代器进行系统演化(2023.09)

    技术背景 在前面几篇博客中,我们已经介绍过使用MindSponge去定义一个系统以及使用MindSponge计算一个分子系统的单点能.这篇文章我们将介绍一下在MindSponge中定义迭代器Updat ...

  4. 自定义注解实现数据序列化时进行数据脱敏(基于springboot默认jackjson)、消息转换器HttpMessageConverter

    消息转换器 HttpMessageConverter 消息转化器的作用 将请求报文转化为Java对象 将Java对象转化为响应报文 消息转换器接口 public interface HttpMessa ...

  5. Codechef - Maximize Colours(IQ)

    题目大意   有红绿蓝三种颜色,三种颜色当中任意两个颜色混合都可以产生出一个新的颜色(然而混合产生的颜色不能与任何其它的颜色进行混合).输入三个整数,分别代表红色,绿色,蓝色的颜色个数(每次混合各消耗 ...

  6. Python中的转义符\

    1.转义符 可以百度百科查询 2.Python中的转义符 我目前知道的Python中的转义符使用场景有两个:一个是字符串,一个是正则表达式 2.1.字符串的转义 2.1.1.反斜杠"\&qu ...

  7. Dubbo3应用开发—Dubbo服务管理平台DubboAdmin介绍、安装、测试

    Dubbo服务管理平台 DubboAdmin的介绍 Dubbo Admin是Apache Dubbo服务治理和管理系统的一部分. Dubbo Admin提供了一套用于服务治理的Web界面,让我们可以更 ...

  8. 这些负载均衡都解决哪些问题?服务、网关、NGINX

    这篇文章解答一下群友的一系列提问: 在微服务项目中,有服务的负载均衡.网关的负载均衡.Nginx的负载均衡,这几个负载均衡分别用来解决什么问题呢? 在微服务项目中,服务的负载均衡.网关的负载均衡和Ng ...

  9. 创建Oracle数据库实例、配置PLSQL连接数据库实例

    方法一:仅安装Oracle即时客户端: 1.安装Oracle即时客户端Instant Client Setup.exe,配置环境变量 2.安装PLSQL工具,配置Oracle主目录名和OCI库 3.配 ...

  10. 使用playwright爬取魔笔小说网站并下载轻小说资源

    一.安装python 官网 下载python3.9及以上版本 二.安装playwright playwright是微软公司2020年初发布的新一代自动化测试工具,相较于目前最常用的Selenium,它 ...