sklearn 中的数据集

Scikit-learn 提供了大量用于测试学习算法的数据集。它们有三种口味:

  • 打包数据:这些小数据集与 scikit-learn 安装一起打包,可以使用 scikit-learn 中的工具下载sklearn.datasets.load_*
  • 可下载的数据:这些较大的数据集可供下载,scikit-learn 包含简化此过程的工具。这些工具可以在sklearn.datasets.fetch_*
  • 生成的数据:有几个数据集是从基于随机种子的模型生成的。这些可以在sklearn.datasets.make_*

您可以使用 IPython 的制表符补全功能探索可用的数据集加载器、提取器和生成器。从 导入datasets子模块后sklearn,键入

datasets.load_<TAB>

或者

datasets.fetch_<TAB>

或者

datasets.make_<TAB>

查看可用功能的列表。

数据和标签的结构

scikit-learn 中的数据在大多数情况下保存为形状为 的二维 Numpy 数组(n, m)。许多算法也接受scipy.sparse相同形状的矩阵。

  • n: (n_samples) 样本数:每个样本是一个要处理的项目(例如分类)。样本可以是文档、图片、声音、视频、天文物体、数据库或 CSV 文件中的一行,或者您可以用一组固定的数量特征描述的任何内容。
  • m: (n_features) 可用于以定量方式描述每个项目的特征或不同特征的数量。特征通常是实值的,但在某些情况下可能是布尔值或离散值的。
 sklearn 导入 数据集

请注意:其中许多数据集都非常大,下载可能需要很长时间!

加载数字数据

我们将仔细研究这些数据集之一。我们看一下数字数据集。我们将首先加载它:

 sklearn.datasets 导入 load_digits
位数 =  load_digits ()

同样,我们可以通过查看“键”来大致了解可用属性:

数字。键()

输出:

dict_keys(['data', 'target', 'frame', 'feature_names', 'target_names', 'images', 'DESCR'])

让我们来看看项目和功能的数量:

n_samples ,  n_features  = 数字。数据。形状
打印((n_samples , n_features ))

输出:

(1797, 64)

打印(数字。数据[ 0 ])
打印(数字。目标)

输出:

[ 0. 0. 5. 13. 9. 1. 0. 0. 0. 0. 13. 15. 10. 15. 5. 0. 0. 3.15. 2. 0. 11. 8. 0. 0. 4. 12. 0. 0. 8. 8. 0. 0. 5. 8. 0.0. 9. 8. 0. 0. 4. 11. 0. 1. 12. 7. 0. 0. 2. 14. 5. 10. 12.0. 0. 0. 0. 6. 13. 10. 0. 0. 0.]
[0 1 2 ... 8 9 8]

这些数据也可以在digits.images 上找到。这是 8 行 8 列形式的图像的原始数据。

对于“数据”,图像对应于长度为 64 的一维 Numpy 数组,“图像”表示包含形状为 (8, 8) 的二维 numpy 数组

打印(“项目的形状:” , 数字。数据[ 0 ] 。形状)
打印(“项目的数据类型:” , 类型(数字。数据[ 0 ]))
打印(“项目的形状:” , 数字.图像[ 0 ] .形状)
打印(“项目的数据类型:” , 类型(数字.图像[ 0 ]))

输出:

物品形状:(64,)
项目的数据类型:<class 'numpy.ndarray'>
物品形状:(8, 8)
项目的数据类型:<class 'numpy.ndarray'>

让我们可视化数据。它比我们上面使用的简单散点图要复杂一些,但我们可以很快完成。

import  matplotlib.pyplot  as  plt 
# 设置图形
fig  =  plt . figure ( figsize = ( 6 ,  6 ))   # 以英寸为单位的图形大小
fig . subplots_adjust ( left = 0 ,  right = 1 ,  bottom = 0 ,  top = 1 ,  hspace = 0.05 ,  wspace = 0.05 )# 绘制数字:
对于 范围( 64 ) 中的i   每个图像是 8x8 像素:ax = fig 。add_subplot ( 8 , 8 , i + 1 , xticks = [], yticks = []) ax 。imshow (数字.图像[ i ], cmap = plt . cm . binary ,插值= 'nearest' )# 用目标值ax标记图像。文本( 0 ,  7 ,  str (数字。目标[ i ]))

练习

练习 1

sklearn 包含一个“葡萄酒数据集”。

  • 查找并加载此数据集
  • 你能找到描述吗?
  • 类的名称是什么?
  • 有哪些特点?
  • 数据和标记数据在哪里?

练习 2:

创建特征ashcolor_intensity葡萄酒数据集的散点图。

练习 3:

创建葡萄酒数据集特征的散点矩阵。

练习 4:

获取 Olivetti 人脸数据集并可视化人脸。

解决方案

练习 1 的解决方案

加载“葡萄酒数据集”:

 sklearn 导入 数据集酒 = 数据集。load_wine ()

可以通过“DESCR”访问描述:

打印(酒。DESCR )

输出:

.. _wine_dataset:葡萄酒识别数据集
------------------------**数据集特征:**:实例数:178(三个类中的每个类50个):属性数量:13 个数字、预测属性和类别:属性信息:- 酒精- 苹果酸- 灰- 灰分的碱度  - 镁- 总酚- 黄酮类- 非黄酮酚- 原花青素- 颜色强度- 色调- 稀释葡萄酒的 OD280/OD315- 脯氨酸- 班级:- class_0- class_1- class_2:汇总统计:==================================================最小最大平均标准差==================================================酒精:11.0 14.8 13.0 0.8苹果酸:0.74 5.80 2.34 1.12灰分:1.36 3.23 2.36 0.27灰分碱度:10.6 30.0 19.5 3.3镁:70.0 162.0 99.7 14.3总酚:0.98 3.88 2.29 0.63类黄酮:0.34 5.08 2.03 1.00非黄酮酚:0.13 0.66 0.36 0.12原花青素:0.41 3.58 1.59 0.57颜色强度:1.3 13.0 5.1 2.3色相:0.48 1.71 0.96 0.23稀释葡萄酒的 OD280/OD315:1.27 4.00 2.61 0.71脯氨酸:278 1680 746 315==================================================:缺少属性值:无:类分布:class_0 (59), class_1 (71), class_2 (48):创作者: RA 费舍尔:捐助者:迈克尔·马歇尔 (MARSHALL%PLU@io.arc.nasa.gov):日期:1988年7月这是 UCI ML Wine 识别数据集的副本。
https://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data数据是对同一地区种植的葡萄酒进行化学分析的结果
三个不同的种植者在意大利的地区。有十三种不同
对三种类型的不同成分进行的测量
葡萄酒。原业主: Forina, M. 等人,PARVUS -
用于数据探索、分类和关联的可扩展包。
制药和食品分析与技术研究所,
Via Brigata Salerno, 16147 热那亚, 意大利。引文:Lichman, M. (2013)。UCI 机器学习库
[https://archive.ics.uci.edu/ml]。加州尔湾:加州大学,
信息与计算机科学学院。 .. 主题:: 参考(1) S. Aeberhard、D. Coomans 和 O. de Vel, 高维设置中分类器的比较, 技术。众议员编号 92-02, (1992), Dept. of Computer Science and Dept.  北昆士兰詹姆斯库克大学数学与统计专业。 (也提交给 Technometrics)。 该数据与许多其他数据一起用于比较各种 分类器。这些类是可分离的,虽然只有 RDA已实现100%正确分类。 (RDA:100%,QDA 99.4%,LDA 98.9%,1NN 96.1%(z 变换数据)) (所有结果都使用留一法) (2) S. Aeberhard、D. Coomans 和 O. de Vel, “RDA 的分类性能” 技术。众议员编号 92-01, (1992), Dept. of Computer Science and Dept.北昆士兰詹姆斯库克大学数学与统计专业。 (也提交给化学计量学杂志)。

可以像这样检索类和功能的名称:

打印(酒。target_names )
打印(酒。feature_names )

输出:

['class_0''class_1''class_2']
['酒精','苹果酸','灰分','alcalinity_of_ash','镁','total_phenols','flavanoids','nonflavanoid_phenols','proanthocyanins','color_intensity','hue','od35_ofwins , '脯氨酸']

数据 = 酒。数据
labelled_data  =  wine 。目标

练习 2 的解决方案:

 sklearn 导入 数据集
导入 matplotlib.pyplot 作为 plt酒 = 数据集。load_wine ()features  =  'ash' ,  'color_intensity'
features_index  =  [ wine . 功能名称。索引(特征[ 0 ]),酒。功能名称。索引(特征[ 1 ])]颜色 =  [ '蓝色' 、 '红色' 、 '绿色' ] 标签, 颜色  拉链范围len个(酒。target_names )), 颜色):PLT 。分散(酒。数据[酒。目标==标签, 特征索引[ 0 ]], 酒。数据[酒。目标==标签, 特征索引[ 1 ]],标签=酒. target_names [标签],c =颜色)PLT 。xlabel ( features [ 0 ])
plt 。ylabel ( features [ 1 ])
plt 。图例(loc = '左上' )
plt 。显示()

练习 3 的解决方案:

 sklearn导入数据集导入熊猫 作为 pd酒 = 数据集。load_wine ()
def  rotate_labels ( df ,  axes ): """ 改变标签输出的旋转,
    y 标签水平和 x 标签垂直 """ n  =  len ( df . columns ) for  x  in  range ( n ): for  y  in  range ( n ): # 获取子图的轴ax  =  axs [ x ,  y ]# 使 x 轴名称垂直  ax 。轴。标签。set_rotation (90 )#,使y轴的名称水平斧。yaxis 。标签。set_rotation ( 0 ) # 确保 y 轴名称在绘图区域ax 之外。yaxis 。标签板 =  50wine_df  =  pd 。数据帧(酒。数据, 列=酒。feature_names )
AXS  =  PD 。绘图。scatter_matrix ( wine_df ,  c = wine . target ,  figsize = ( 8 ,  8 ), );rotate_labels (wine_df , AXS )

练习 4 的解答

 sklearn.datasets 导入 fetch_olivetti_faces
# 获取人脸数据
faces  =  fetch_olivetti_faces ()
脸。键()

输出:

dict_keys(['data', 'images', 'target', 'DESCR'])

n_samples ,  n_features  =  faces 。数据。形状
打印((n_samples , n_features ))

输出:

(400, 4096)

NP . 平方(4096 )

输出:

64.0

脸。图像。形状

输出:

(400, 64, 64)

 numpy 导入 np
打印( np . all ( faces . images . reshape (( 400 ,  4096 ))  ==  faces . data ))

输出:

真的

# 设置图形
fig  =  plt . figure ( figsize = ( 6 ,  6 ))   # 以英寸为单位的图形大小
fig . subplots_adjust ( left = 0 ,  right = 1 ,  bottom = 0 ,  top = 1 ,  hspace = 0.05 ,  wspace = 0.05 )# 绘制数字:
对于 范围( 64 ) 中的i   每个图像是 8x8 像素:ax = fig 。add_subplot ( 8 , 8 , i + 1 , xticks = [], yticks = []) ax 。imshow (面。图像[我],CMAP = PLT 。厘米。骨,插值= '最近' )# 用目标值ax标记图像。文本( 0 ,  7 ,  str ( faces . target [ i ]))

Sklearn 中的可用数据集相关推荐

  1. 利用贝叶斯模型对sklearn中的手工数据集进行分析

    def b1():'''朴素贝叶斯算法是有监督学习算法,朴素贝叶斯算法分类为:贝努利朴素贝叶斯,高斯朴素贝叶斯,多项式朴素贝叶斯'''#利用贝努利朴素贝叶斯(二项分布)对手工数据进行分析#导入数据集生 ...

  2. 导入训练好的决策树文件_决策树在sklearn中的实现

    小伙伴们大家好~o( ̄▽ ̄)ブ,今天做一下如何使用sklearn实现决策树,首先声明一下,我的开发环境是Jupyter lab,所用的库和版本大家参考: Python 3.7.1(你的版本至少要3.4 ...

  3. sklearn库中的标准数据集及基本功能

    [sklearn库] sklearn是scikit-learn的简称,是一个基于Python的第三方模块.sklearn库集成了一些常用的机器学习方法,在进行机器学习任务是,并不需要实现算法,只需要简 ...

  4. 【机器学习实战】利用sklearn中的随机森林对红酒数据集进行分类预测

    1. sklearn中的集成算法 sklearn中的集成算法模块ensemble 2.预测代码及结果 %matplotlib inline from sklearn.tree import Decis ...

  5. 【ML】机器学习数据集:sklearn中回归数据集介绍

    目录 1. Boston房价预测数据集 2. California房价预测数据集 3. 糖尿病预测数据集 在机器学习的教程中,我们会看到很多的demo,这些demo都是基于python中自带的数据集. ...

  6. 【ML】机器学习数据集:sklearn中分类数据集介绍

    目录 1.乳腺癌分类数据集(二分类) 2.鸢尾花分类数据集(三分类) 3.葡萄酒分类数据集(三分类) 4.手写数字分类数据集(十分类) 5.其他数据集 参考资料 在机器学习的教程中,我们会看到很多的d ...

  7. 切分数据集(train_test_split),思路分享及手打代码和介绍sklearn中train_test_split,适合小白入门

    本篇博客介绍train_test_split,步骤1-4是自己手打代码和思路分享,步骤5介绍如何使用sklearn中的train_test_split,步骤3有介绍随机种子哦,简单易懂,适合小白入门 ...

  8. sklearn中的数据集1 (toy_datasets)

    sklearn中的 toy datasets sklearn中的玩具数据库(toy datasets),数据量较小,方便使用 tips: 安装 : pip install scikit-learn 1 ...

  9. 【机器学习实战】使用sklearn中的决策树对红酒数据集进行分类(Jupyter)

    1. sklearn中的决策树 2. sklearn基本建模流程 3.决策树的基本流程 4.代码实现 4.1 数据集 -- 红酒 特征值(前13列) 目标值(3类) 4.2 代码及结果 4.2.1 预 ...

  10. sklearn中eof报错_sklearn中的数据预处理和特征工程

    小伙伴们大家好~o( ̄▽ ̄)ブ,今天我们看一下Sklearn中的数据预处理和特征工程,老规矩还是先强调一下,我的开发环境是Jupyter lab,所用的库和版本大家参考: Python 3.7.1(你 ...

最新文章

  1. 云+技术沙龙:计算机视觉的原理及最佳实践
  2. echarts legend颜色_echarts数据可视化图表(二):双柱状图
  3. java zip文件操作,java 关于 zip 文件 的 基本操作
  4. ASP.NET MVC应用迁移到ASP.NET Core及其异同简介
  5. 简易付微信收款提示支付失败
  6. Oracle与MySQL使用区别
  7. java中typeof_深入剖析JavaScript中的数据类型判断(typeof instanceof prototype.constructor)...
  8. 网络流--最大流——Edmond-Karp算法Dinic算法
  9. oracle 10g下载百度云地址
  10. 自动发消息到微信提醒
  11. 《穿越计算机的迷雾》第二版再版说明
  12. Web前端初步——IDE工具选择和emment插件
  13. mbedtls 自带SSL demo调试
  14. 熔断机制什么意思_指数熔断机制是什么意思
  15. 拖拽即可创建HTML5网站的建站平台
  16. Word操作之Mathtype自动进行公式编号
  17. 【FinE】FamaFrench 5 Factors asset pricing Model(FF五因子模型)
  18. 全志T7 Display驱动分析
  19. JAVA:如何读写txt文件,并解决中文乱码问题
  20. 软件工程导论——需求分析总结

热门文章

  1. JVM(四):Java内存模型(JMM)
  2. 教你设置让电脑每天在指定时间自动关机
  3. UEditor之——图片上传组件大小4M的限制
  4. Android 更换皮肤
  5. 微信 及支付宝 支付接口 功能
  6. 数据压缩实验:JPEG原理及代码分析
  7. [Keras深度学习浅尝]实战四· Embedding实现 IMDB数据集影评文本分类
  8. PowerVR Series5 Architecture Guide for Developers
  9. 在线免费压缩pdf文件
  10. HBA卡,HCA卡,IB卡,以太网卡,万兆网卡