python数据集获取(sklearn自带的数据集、UCI数据集)

  • 一、UCI数据集介绍
  • 二、 sklearn自带的小数据集
    • sklearn 自带数据集的常规使用
      • 鸢尾花数据集:load_iris():用于分类任务的数据集
      • 手写数字数据集load_digits()
      • 乳腺癌数据集load-barest-cancer()
      • 糖尿病数据集
      • 波士顿房价数据集
      • 体能训练数据集:
    • 生成数据集

一、UCI数据集介绍

UCI数据集是一个常用的机器学习标准测试数据集,是加州大学欧文分校(University of CaliforniaIrvine)提出的用于机器学习的数据库。机器学习算法的测试大多采用的便是UCI数据集了,其重要之处在于“标准”二字,新编的机器学习程序可以采用UCI数据集进行测试,类似的机器学习算法也可以一较高下。

UCI机器学习库:http://archive.ics.uci.edu/ml/datasets.php

二、 sklearn自带的小数据集

https://rosefun.blog.csdn.net/article/details/104407193
sklearn 的数据集种类

  1. 自带的小数据集(packaged dataset):sklearn.datasets.load_
  2. 可在线下载的数据集(Downloaded Dataset):sklearn.datasets.fetch_
  3. 计算机生成的数据集(Generated Dataset):sklearn.datasets.make_
  4. svmlight/libsvm格式的数据集:sklearn.datasets.load_svmlight_file(…)
    从买了data.org在线下载获取的数集:sklearn.datasets.fetch_mldata(…)
推荐读者阅读网站:(w3cschool) https://www.w3cschool.cn/doc_scikit_learn/scikit_learn-modules-generated-sklearn-datasets-load_digits.html(scikit-learn (sklearn) 官方文档中文版)https://sklearn.apachecn.org/docs/0.21.3/47.htmlScikit-learn英文官网https://scikit-learn.org/stable/

其中的自带的小的数据集为:sklearn.datasets.load_

sklearn 自带数据集的常规使用

  1. keys 查看数据内容

以手写数据集 load_digits() 为例,

from sklearn import datasetsdigits = datasets.load_digits()
keys = digits.keys()
print(keys)

Output:

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

digits 数据集的属性介绍

属性
数据集介绍 DESCR
样本数据 data
标签数据 target
标签名称 target_names
图像数据 images

注:
1.data,target 均为 numpy.ndarray 数组
2.data, target, target_name 是 sklearn 自带数据集通用的属性

通用示例:

# 导入sklearn自带数据集
from sklearn import datasets digits = datasets.load_digits()# 加载手写数字数据集
feature = digits.data# 创建特征矩阵
target = digits.target# 创建目标向量

鸢尾花数据集:load_iris():用于分类任务的数据集

数据介绍:

  1. 一般用于做分类测试
  2. 有150个数据集,共分为3类,每类50个样本。每个样本有4个特征。
  3. 每条记录都有 4 项特征:包含4个特征(Sepal.Length(花萼长度)、Sepal.Width(花萼宽度)、Petal.Length(花瓣长度)、Petal.Width(花瓣宽度)),特征值都为正浮点数,单位为厘米。
  4. 可以通过这4个特征预测鸢尾花卉属于(iris-setosa(山鸢尾), iris-versicolour(杂色鸢尾), iris-virginica(维吉尼亚鸢尾))中的哪一品种。

属性介绍:见代码注释

这些数据集都可以在官网上查到,以鸢尾花为例,可以在官网上找到demo,
https://scikit-learn.org/stable/auto_examples/datasets/plot_iris_dataset.html

from sklearn.datasets import load_iris#加载数据集
import numpy as npiris=load_iris()
iris.keys()  #dict_keys(['target', 'DESCR', 'data', 'target_names', 'feature_names'])#数据的条数和维数
n_samples,n_features=iris.data.shape
print("Number of sample:",n_samples)  #Number of sample: 150
print("Number of feature",n_features)  #Number of feature 4#第一个样例
print(iris.data[0])      #[ 5.1  3.5  1.4  0.2]
print(iris.data.shape)    #(150, 4)
print(iris.target.shape)  #(150,)
print(iris.target)"""[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0   0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1   1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2   2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2   2 2]
"""print(iris.target_names)  #['setosa' 'versicolor' 'virginica']
np.bincount(iris.target)  #[50 50 50]import matplotlib.pyplot as plt#以第3个索引为划分依据,x_index的值可以为0,1,2,3
x_index=3
color=['blue','red','green']
for label,color in zip(range(len(iris.target_names)),color):plt.hist(iris.data[iris.target==label,x_index],label=iris.target_names[label],color=color)plt.xlabel(iris.feature_names[x_index])
plt.legend(loc="Upper right")
plt.show()
#画散点图,第一维的数据作为x轴和第二维的数据作为y轴
x_index=0
y_index=1
colors=['blue','red','green']
for label,color in zip(range(len(iris.target_names)),colors):plt.scatter(iris.data[iris.target==label,x_index],iris.data[iris.target==label,y_index],label=iris.target_names[label],c=color)
plt.xlabel(iris.feature_names[x_index])
plt.ylabel(iris.feature_names[y_index])
plt.legend(loc='upper left')
plt.show()

手写数字数据集load_digits()

手写数字数据集load_digits():用于多分类任务的数据集

数据介绍:

手写数字数据集:load_digits():用于分类任务或者降维任务的数据集。
1797张样本图片,每个样本有64维特征(8*8像素的图像)和一个[0, 9]整数的标签

属性介绍:
见代码注释

from sklearn.datasets import load_digits
digits=load_digits()
print(digits.data.shape)
import matplotlib.pyplot as plt
plt.gray()
plt.matshow(digits.images[0])
plt.show()from sklearn.datasets import load_digits
digits=load_digits()
digits.keys()
n_samples,n_features=digits.data.shape
print((n_samples,n_features))print(digits.data.shape)
print(digits.images.shape)import numpy as np
print(np.all(digits.images.reshape((1797,64))==digits.data))fig=plt.figure(figsize=(6,6))
fig.subplots_adjust(left=0,right=1,bottom=0,top=1,hspace=0.05,wspace=0.05)
#绘制数字:每张图像8*8像素点
for i in range(64):ax=fig.add_subplot(8,8,i+1,xticks=[],yticks=[])ax.imshow(digits.images[i],cmap=plt.cm.binary,interpolation='nearest')#用目标值标记图像ax.text(0,7,str(digits.target[i]))
plt.show()

乳腺癌数据集load-barest-cancer()

乳腺癌数据集load-barest-cancer():简单经典的用于二分类任务的数据集

官网:https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_breast_cancer.html#sklearn.datasets.load_breast_cancer

糖尿病数据集

糖尿病数据集:load-diabetes():经典的用于回归认为的数据集,值得注意的是,这10个特征中的每个特征都已经被处理成0均值,方差归一化的特征值,

官网:https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_diabetes.html#sklearn.datasets.load_diabetes

波士顿房价数据集

数据介绍:

该数据集是一个回归问题。每个类的观察值数量是均等的,共有 506 个观察,13 个输入变量和1个输出变量。
每条数据包含房屋以及房屋周围的详细信息。其中包含城镇犯罪率,一氧化氮浓度,住宅平均房间数,到中心区域的加权距离以及自住房平均房价等等。

波士顿房价数据集:load-boston():经典的用于回归任务的数据集

体能训练数据集:load-linnerud():经典的用于多变量回归任务的数据集,其内部包含两个小数据集:Excise是对3个训练变量的20次观测(体重,腰围,脉搏),physiological是对3个生理学变量的20次观测(引体向上,仰卧起坐,立定跳远)

svmlight/libsvm的每一行样本的存放格式:

 <label><feature-id>:<feature-value> <feature-id>:<feature-value> ....

这种格式比较适合用来存放稀疏数据,在sklearn中,用scipy sparse CSR矩阵来存放X,用numpy数组来存放Y

from sklearn.datasets import load_svmlight_file
x_train,y_train=load_svmlight_file("/path/to/train_dataset.txt","")#如果要加在多个数据的时候,可以用逗号隔开

体能训练数据集:

体能训练数据集:load-linnerud():经典的用于多变量回归任务的数据集。

官网:https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_linnerud.html#sklearn.datasets.load_linnerud

生成数据集

生成数据集:可以用来分类任务,可以用来回归任务,可以用来聚类任务,用于流形学习的,用于因子分解任务的

用于分类任务和聚类任务的:这些函数产生样本特征向量矩阵以及对应的类别标签集合

make_blobs:多类单标签数据集,为每个类分配一个或多个正太分布的点集

make_classification:多类单标签数据集,为每个类分配一个或多个正太分布的点集,提供了为数据添加噪声的方式,包括维度相关性,无效特征以及冗余特征等

make_gaussian-quantiles:将一个单高斯分布的点集划分为两个数量均等的点集,作为两类

make_hastie-10-2:产生一个相似的二元分类数据集,有10个维度

make_circle和make_moom产生二维二元分类数据集来测试某些算法的性能,可以为数据集添加噪声,可以为二元分类器产生一些球形判决界面的数据

#生成多类单标签数据集import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets.samples_generator import make_blobs
center=[[1,1],[-1,-1],[1,-1]]
cluster_std=0.3
X,labels=make_blobs(n_samples=200,centers=center,n_features=2,cluster_std=cluster_std,random_state=0)
print('X.shape',X.shape)
print("labels",set(labels))unique_lables=set(labels)
colors=plt.cm.Spectral(np.linspace(0,1,len(unique_lables)))
for k,col in zip(unique_lables,colors):x_k=X[labels==k]plt.plot(x_k[:,0],x_k[:,1],'o',markerfacecolor=col,markeredgecolor="k",markersize=14)
plt.title('data by make_blob()')
plt.show()
#生成用于分类的数据集from sklearn.datasets.samples_generator import make_classification
X,labels=make_classification(n_samples=200,n_features=2,n_redundant=0,n_informative=2,random_state=1,n_clusters_per_class=2)
rng=np.random.RandomState(2)
X+=2*rng.uniform(size=X.shape)unique_lables=set(labels)
colors=plt.cm.Spectral(np.linspace(0,1,len(unique_lables)))
for k,col in zip(unique_lables,colors):x_k=X[labels==k]plt.plot(x_k[:,0],x_k[:,1],'o',markerfacecolor=col,markeredgecolor="k",markersize=14)
plt.title('data by make_classification()')
plt.show()#生成球形判决界面的数据
from sklearn.datasets.samples_generator import make_circles
X,labels=make_circles(n_samples=200,noise=0.2,factor=0.2,random_state=1)
print("X.shape:",X.shape)
print("labels:",set(labels))unique_lables=set(labels)
colors=plt.cm.Spectral(np.linspace(0,1,len(unique_lables)))
for k,col in zip(unique_lables,colors):x_k=X[labels==k]plt.plot(x_k[:,0],x_k[:,1],'o',markerfacecolor=col,markeredgecolor="k",markersize=14)
plt.title('data by make_moons()')
plt.show()

参考博客:

https://blog.csdn.net/qq_42887760/article/details/101292407

https://www.cnblogs.com/nolonely/p/6980160.html

python数据集获取与基本使用(sklearn自带的数据集、UCI数据集)相关推荐

  1. svm对未知数据的分类_SVM对sklearn自带手写数字数据集进行分类

    sklearn自带一些数据集,其中手写数字数据集可通过load_digits加载,我找到load_digits里头是这样 def load_linnerud(): """ ...

  2. python 贝叶斯分类器sklearn_使用sklearn自带的贝叶斯分类器进行文本分类和参数调优...

    数据挖掘入门与实战 公众号: datadw Part 1: 本篇内容简介 在前一篇文章完整手写一个朴素贝叶斯分类器,完成文本分类,我们使用首先假设在文档中出现的单词彼此独立,利用贝叶斯定理,完成了一个 ...

  3. 【FPN车辆目标检测】数据集获取以及Windows7+TensorFlow+Faster-RCNN+FPN代码环境配置和运行过程实测

    PS 最近在学目标检测想用最新的FPN网络,刚好看到这篇博客https://blog.csdn.net/Angela_qin/article/details/80944604尝试把它复现,说的小白一点 ...

  4. DL之DNN:利用DNN算法对mnist手写数字图片识别数据集(sklearn自带,1797*64)训练、预测(95%)

    DL之DNN:利用DNN算法对mnist手写数字图片识别数据集(sklearn自带,1797*64)训练.预测(95%) 目录 数据集展示 输出结果 设计代码 数据集展示 先查看sklearn自带di ...

  5. 【机器学习】sklearn数据集获取、分割、分类和回归

    sklearn数据集 1.数据集划分 1.1 获取数据 1.2 获取数据返回的类型 举个栗子: 1.3 对数据集进行分割 举个栗子: 2. sklearn分类数据集 3. sklearn回归数据集 1 ...

  6. Scikit-learn学习系列 | 1. sklearn的简要使用介绍与数据集获取

    如有错误,恳请指出. 以下内容整理自专栏:博主"文火冰糖的硅基工坊"的专栏--机器学习与scikit-learn,对部分的文章的简化与整理. 文章目录 1. scikit-lear ...

  7. 数据集获取加速神器来了!

    Datawhale开源 开源数据:Graviti Open Datasets "想用算法解析世界,算法工程师却在数据里消耗"如果脑海中的共鸣可以发声,那么现在每位工程师都在咆哮 在 ...

  8. python爬虫获取基金数据2

    用sklearn分析基金数据<1> python爬虫获取基金数据<2> 数据预处理:数据清洗.生成样本数据<3> 用sklearn训练样本数据<4> 用 ...

  9. 机器学习实验:使用sklearn的决策树算法对葡萄酒数据集进行分类

    机器学习实验:使用sklearn的决策树算法对葡萄酒数据集进行分类 问题如下: 使用sklearn的决策树算法对葡萄酒数据集进行分类,要求: ①划分训练集和测试集(测试集占20%) ②对测试集的预测类 ...

  10. 基于Python,OpenCV,Numpy和Albumentations实现目标检测的合成数据集

    1.总述 训练一个对象检测模型,如YOLOv5,需要一个包含感兴趣对象的图像和注释(带有对象边界框坐标的文本文件)的数据集. 例如,在下面的图片中,你可以看到可视化的边界框.每个边界框表示与特定类别相 ...

最新文章

  1. 计算机项目管理报告,《软件项目管理》报告.doc
  2. 使用OpenLDAP作为身份验证源
  3. UI进阶--Quartz2D和触摸事件的简单使用:简易涂鸦板
  4. 不错的html学习网址。
  5. vue key重复_Vue 前端面试题
  6. 有行统计项和列统计项的行列转换,以及EXCEL导入SQL的简单应用
  7. 动态规划计算字符相似度感觉棒棒哒
  8. win10 无法安装Hp1020和HP1106打印机问题
  9. ts类中的private和protected
  10. Ubuntu16.04安装以及在 TitanX 下搭建 caffe框架(cuda8.0 + cudnn5.1)
  11. mysql将收入增加200_关于一些视图的基本操作(结合YGGL.sql)
  12. MNE从头创建raw结构
  13. 牛客bfs:工厂流水线
  14. Wi-Fi 6 提升了哪些方面?
  15. 小饶学编程之JAVA SE第一部分——二分查找法
  16. 关于HTML网页生成网站
  17. numpy中,矩阵的三种转置transpose、getT、getH的区别
  18. Go实战--Gorilla web toolkit使用之gorilla/websocket
  19. 将数组修改为峰谷相间
  20. 03-Matplotlib数据可视化

热门文章

  1. Visual Object Classes Challenge 2012 (VOC2012) 简介
  2. word中设置文档的多级标题,如1,1.1,1.1.1等
  3. 人体呼吸感应雷达技术,智能雷达传感器,智能化感知雷达应用
  4. honeywell Xenon 1900 usb
  5. [转]数据恢复 文件恢复工具 DiskGenius v4.9.1 绿色专业版及单文件
  6. 大数据时代下的办公自动化系统
  7. 最新超详细的VMware虚拟机的下载与安装
  8. VMware16下载与安装
  9. 在Access数据库中使用SQL查询分析器
  10. java中滚动字幕做法_四种滚动字幕的方法