传送门:https://www.cnblogs.com/nolonely/p/6980160.html

sklearn 的数据集有好多个种

  • 自带的小数据集(packaged dataset):sklearn.datasets.load_<name>
  • 可在线下载的数据集(Downloaded Dataset):sklearn.datasets.fetch_<name>
  • 计算机生成的数据集(Generated Dataset):sklearn.datasets.make_<name>
  • svmlight/libsvm格式的数据集:sklearn.datasets.load_svmlight_file(...)
  • 从买了data.org在线下载获取的数据集:sklearn.datasets.fetch_mldata(...)

一:自带数据集

自带的小的数据集为:sklearn.datasets.load_<name>

这些数据集都可以在官网上查到

  • 以鸢尾花为例,可以在官网上找到demo:点击查看

from sklearn.datasets import load_iris
#加载数据集
iris=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 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]"""
import numpy as np
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():用于多分类任务的数据集
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-diabetes():经典的用于回归认为的数据集,值得注意的是,这10个特征中的每个特征都已经被处理成0均值,方差归一化的特征值,
  • 波士顿房价数据集:load-boston():经典的用于回归任务的数据集
  • 体能训练数据集:load-linnerud():经典的用于多变量回归任务的数据集,其内部包含两个小数据集:Excise是对3个训练变量的20次观测(体重,腰围,脉搏),physiological是对3个生理学变量的20次观测(引体向上,仰卧起坐,立定跳远)

二:svmlight/libsvm格式的数据集

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","")#如果要加在多个数据的时候,可以用逗号隔开

三:生成的数据集

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

  • 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()

sklearn提供的数据集相关推荐

  1. python训练数据集_Python——sklearn提供的自带的数据集

    sklearn提供的自带的数据集 sklearn 的数据集有好多个种 自带的小数据集(packaged dataset):sklearn.datasets.load_ 可在线下载的数据集(Downlo ...

  2. python的自带数据集_Python——sklearn提供的自带的数据集

    sklearn提供的自带的数据集 sklearn 的数据集有好多个种 自带的小数据集(packaged dataset):sklearn.datasets.load_ 可在线下载的数据集(Downlo ...

  3. DL之RBM:(sklearn自带数据集为1797个样本*64个特征+5倍数据集)深度学习之BRBM模型学习+LR进行分类实现手写数字图识别

    DL之RBM:(sklearn自带数据集为1797个样本*64个特征+5倍数据集)深度学习之BRBM模型学习+LR进行分类实现手写数字图识别 目录 输出结果 实现代码 输出结果 实现代码 from _ ...

  4. 机器学习(一) 基于sklearn库的数据集划分(交叉验证)

    机器学习中首要环节就是数据集的处理,其中数据集的处理从个人理解(如有错误敬请谅解)的角度来说包括两个方面:数据集划分和数据清理.其中数据集划分是指训练集.验证集和测试集的数据类别划分:数据清理是指数据 ...

  5. sk-learn中对数据集划分函数train_test_split和StratifiedShuffleSplit

    1.随机划分训练集和测试集train_test_split train_test_split是交叉验证中常用的函数,功能是从样本中随机的按比例选取train_data和test_data,形式为: f ...

  6. 机器学习笔记2 – sklearn之iris数据集

    前言 本篇我会使用scikit-learn这个开源机器学习库来对iris数据集进行分类练习. 我将分别使用两种不同的scikit-learn内置算法--Decision Tree(决策树)和kNN(邻 ...

  7. Sklearn学习-iris数据集学习

    Sklearn学习-逻辑回归(iris数据集) 使用load_iris加载数据集,查看包含的keys 查看数据的列名,分类目标的名称 获取data和target,并打印各自的shape 拆分训练集和测 ...

  8. [机器学习-sklearn]鸢尾花Iris数据集

    鸢尾花数据集 1. 鸢尾花Iris数据集介绍 2. Sklearn代码获取Iris 2. 描述性统计 3. 箱线图 4. 数据分布情况 1. 鸢尾花Iris数据集介绍 Iris flower数据集是1 ...

  9. python聚类分析散点图_使用sklearn对iris数据集进行聚类分析

    导入库 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns fro ...

最新文章

  1. Linux运维系统工程师系列---25
  2. 腾讯UED 漂亮的提示信息
  3. 子网,变长子网及超网(CIDR)
  4. javaserver_什么是JavaServer Faces(JSF)
  5. SendMessage函数的常用消息及其应用
  6. arcgis不闭合线转面_【干货】ArcGIS矢量面转点、点转面,面矢量转点矢量方法讲解,值得学习!...
  7. PHP如何解决网站大流量与高并发
  8. 模块化无人机,不仅配置高,还颜值爆表
  9. Ruby的Fiber根本不是用来做并发的~
  10. qt 使用msvc编译器出现中文乱码的问题
  11. java模板和回调机制学习总结
  12. 硅谷的摇篮-斯坦福大学
  13. win7触摸板怎么关闭_笔记本电脑触摸板快速关闭,避免误碰影响操作
  14. 2021年新版阿里云服务器价格表(收费标准报价)
  15. cgi进程设置多少 宝塔_【存档】新手宝塔建站详细步骤
  16. 安装ie9提示未能完成安装_win10系统安装iE提示“internet Explorer未能完成安装”的修复教程...
  17. python画超长图-python实现按长宽比缩放图片
  18. 建立网站费用大概需要多少钱?
  19. 鸿蒙系统分享,鸿蒙系统的启动流程学习分享
  20. 通俗理解torch.distributed.barrier()工作原理

热门文章

  1. 弘辽科技:多多进宝有哪些优势?
  2. 用p5.js编写简单的动态图形——波纹扩散
  3. 联想RD530服务器一直报警的处理方式(需重组raid)
  4. 【动态ppt制作软件】Focusky教程 | 如何使用变体特效?
  5. android 绘画笔迹回放_简笔画项目总结: ios绘图机制 实现记录笔迹功能
  6. 教育培训学校公众号版v1.3.4
  7. 东莞潇洒职业培训学校五金模具设计培训---模具加工时减少缺陷的七大技巧教程
  8. 知识点滴 - 什么是AIoT
  9. matlab-结构单元(元胞)
  10. Python内置函数--reversed()