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,http://scikit-learn.org/stable/auto_examples/datasets/plot_iris_dataset.html

  1. from sklearn.datasets import load_iris
    #加载数据集
  2. iris=load_iris()
  3. iris.keys()  #dict_keys(['target', 'DESCR', 'data', 'target_names', 'feature_names'])
    #数据的条数和维数
  4. n_samples,n_features=iris.data.shape
  5. print("Number of sample:",n_samples) #Number of sample: 150
  6. print("Number of feature",n_features)  #Number of feature 4
    #第一个样例
  7. print(iris.data[0])      #[ 5.1  3.5  1.4  0.2]
  8. print(iris.data.shape)    #(150, 4)
  9. print(iris.target.shape)  #(150,)
  10. 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]

  1. """
  2. import numpy as np
  3. print(iris.target_names)  #['setosa' 'versicolor' 'virginica']
  4. np.bincount(iris.target)  #[50 50 50]
  5.  
  6. import matplotlib.pyplot as plt
    #以第3个索引为划分依据,x_index的值可以为0,1,2,3
  7. x_index=3
  8. color=['blue','red','green']
  9. for label,color in zip(range(len(iris.target_names)),color):
  10. plt.hist(iris.data[iris.target==label,x_index],label=iris.target_names[label],color=color)
  11.  
  12. plt.xlabel(iris.feature_names[x_index])
  13. plt.legend(loc="Upper right")
  14. plt.show()

  15. #画散点图,第一维的数据作为x轴和第二维的数据作为y轴
  16. x_index=0
  17. y_index=1
  18. colors=['blue','red','green']
  19. for label,color in zip(range(len(iris.target_names)),colors):
  20. plt.scatter(iris.data[iris.target==label,x_index],
  21. iris.data[iris.target==label,y_index],
  22. label=iris.target_names[label],
  23. c=color)
  24. plt.xlabel(iris.feature_names[x_index])
  25. plt.ylabel(iris.feature_names[y_index])
  26. plt.legend(loc='upper left')
  27. plt.show()

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

  1. from sklearn.datasets import load_digits
  2. digits=load_digits()
  3. print(digits.data.shape)
  4. import matplotlib.pyplot as plt
  5. plt.gray()
  6. plt.matshow(digits.images[0])
  7. plt.show()
  8.  
  9. from sklearn.datasets import load_digits
  10. digits=load_digits()
  11. digits.keys()
  12. n_samples,n_features=digits.data.shape
  13. print((n_samples,n_features))
  14.  
  15. print(digits.data.shape)
  16. print(digits.images.shape)
  17.  
  18. import numpy as np
  19. print(np.all(digits.images.reshape((1797,64))==digits.data))
  20.  
  21. fig=plt.figure(figsize=(6,6))
  22. fig.subplots_adjust(left=0,right=1,bottom=0,top=1,hspace=0.05,wspace=0.05)
  23. #绘制数字:每张图像8*8像素点
  24. for i in range(64):
  25. ax=fig.add_subplot(8,8,i+1,xticks=[],yticks=[])
  26. ax.imshow(digits.images[i],cmap=plt.cm.binary,interpolation='nearest')
  27. #用目标值标记图像
  28. ax.text(0,7,str(digits.target[i]))
  29. plt.show()

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

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

波士顿房价数据集: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

  1. from sklearn.datasets import load_svmlight_file
  2. 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产生二维二元分类数据集来测试某些算法的性能,可以为数据集添加噪声,可以为二元分类器产生一些球形判决界面的数据

  1. #生成多类单标签数据集
    import numpy as np
  2. import matplotlib.pyplot as plt
  3. from sklearn.datasets.samples_generator import make_blobs
  4. center=[[1,1],[-1,-1],[1,-1]]
  5. cluster_std=0.3
  6. X,labels=make_blobs(n_samples=200,centers=center,n_features=2,
  7. cluster_std=cluster_std,random_state=0)
  8. print('X.shape',X.shape)
  9. print("labels",set(labels))
  10.  
  11. unique_lables=set(labels)
  12. colors=plt.cm.Spectral(np.linspace(0,1,len(unique_lables)))
  13. for k,col in zip(unique_lables,colors):
  14. x_k=X[labels==k]
  15. plt.plot(x_k[:,0],x_k[:,1],'o',markerfacecolor=col,markeredgecolor="k",
  16. markersize=14)
  17. plt.title('data by make_blob()')
  18. plt.show()
  19. #生成用于分类的数据集
    from sklearn.datasets.samples_generator import make_classification
  20. X,labels=make_classification(n_samples=200,n_features=2,n_redundant=0,n_informative=2,
  21. random_state=1,n_clusters_per_class=2)
  22. rng=np.random.RandomState(2)
  23. X+=2*rng.uniform(size=X.shape)
  24.  
  25. unique_lables=set(labels)
  26. colors=plt.cm.Spectral(np.linspace(0,1,len(unique_lables)))
  27. for k,col in zip(unique_lables,colors):
  28. x_k=X[labels==k]
  29. plt.plot(x_k[:,0],x_k[:,1],'o',markerfacecolor=col,markeredgecolor="k",
  30. markersize=14)
  31. plt.title('data by make_classification()')
  32. plt.show()
  33.  
  34. #生成球形判决界面的数据
  35. from sklearn.datasets.samples_generator import make_circles
  36. X,labels=make_circles(n_samples=200,noise=0.2,factor=0.2,random_state=1)
  37. print("X.shape:",X.shape)
  38. print("labels:",set(labels))
  39.  
  40. unique_lables=set(labels)
  41. colors=plt.cm.Spectral(np.linspace(0,1,len(unique_lables)))
  42. for k,col in zip(unique_lables,colors):
  43. x_k=X[labels==k]
  44. plt.plot(x_k[:,0],x_k[:,1],'o',markerfacecolor=col,markeredgecolor="k",
  45. markersize=14)
  46. plt.title('data by make_moons()')
  47. plt.show()

sklearn提供的自带的数据集的更多相关文章

  1. Python——sklearn提供的自带的数据集

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

  2. sklearn提供的自带数据集

    sklearn 的数据集有好多个种 自带的小数据集(packaged dataset):sklearn.datasets.load_<name> 可在线下载的数据集(Downloaded ...

  3. 『Sklearn』框架自带数据集接口

    自带数据集类型如下: # 自带小型数据集# sklearn.datasets.load_<name># 在线下载数据集# sklearn.datasets.fetch_<name&g ...

  4. C#调用Oracle带输出数据集的存储过程

    1.创建一个带输出数据集的Oracle存储过程 create or replace procedure PRO_test(in_top in number,cur_out out sys_refcur ...

  5. 实验一 使用sklearn的决策树实现iris鸢尾花数据集的分类

    使用sklearn的决策树实现iris鸢尾花数据集的分类 要求: 建立分类模型,至少包含4个剪枝参数:max_depth.min_samples_leaf .min_samples_split.max ...

  6. sklearn训练感知器用iris数据集

    简化版代码 from sklearn import datasets import numpy as np #获取data和类标 iris = datasets.load_iris() X = iri ...

  7. from sklearn.datasets import make_classification创建分类数据集

    make_classification创建用于分类的数据集,官方文档 例子: ### 创建模型 def create_model(): # 生成数据 from sklearn.datasets imp ...

  8. hibernate 为什么持久化类时必须提供一个不带参数的默认构造函数

    因为hibernate框架会调用这个默认构造方法来构造实例对象..即Class类的newInstance方法 这个方法就是通过调用默认构造方法来创建实例对象的 ,另外再提醒一点,如果你没有提供任何构造 ...

  9. pytorch torchversion自带的数据集

    from torchvision.datasets import MNIST # import torchvision # torchvision.datasets. #准备数据集 mnist = M ...

随机推荐

  1. Java如何合并两个数组?

    Java中,如何合并两个数组? 示例 本例展示了如何使用List类的List.Addall(array1.asList(array2))方法和Array类的Arrays.toString()方法将两个 ...

  2. 高校区LAN局域网校内网组建实践经验

    项目描述: ●校区计算机网络组建与管理和维护. 主要内容: 1.电脑故障诊断与排除与维护. 2.修复局域网内的故障电脑. 3.局域网架设虚拟系统. 4.局域网升级. 5.局域网基础架构. 6.电脑系统 ...

  3. CentOS7修改设置静态IP和DNS

    当前位置: 主页 > CentOS入门 > 系统配置 > CentOS7修改设置静态IP和DNS 时间:2016-02-22 00:55来源:blog.csdn.net 作者:get ...

  4. 格林威治时间(GTM)转北京时间

    需要模块:pytz(三方)和datetime import pytz import datetime time = "Tue, 12 Jun 2012 14:03:10 GMT" ...

  5. Maven初步踩坑

    2015-02-08 今天创建maven项目,要从中央仓库下载一堆包到本地仓库,等了好久.结果下好了之后,maven项目上有个感叹号,也没有发现代码里哪配置有错误. 和实验室好多小伙伴一起交流 也没找 ...

  6. Hive性能分析和优化方法

    Hive性能分析和优化方法 http://wenku.baidu.com/link?url=LVrnj-mD0OB69-eUH-0b2LGzc2SN76hjLVsGfCdYjV8ogyyN-BSja5 ...

  7. vue获取dom元素注意问题

    mounted(){ setTimeout(()=>{ this.contentToggle(); },1000) }, methods:{ contentToggle(){ console.l ...

  8. Android: 背景图片平铺要这么干

    <?xml version="1.0" encoding="utf-8"?>  <bitmap xmlns:android="htt ...

  9. 二维码生成:使用 JavaScript 库QRCode.js生成二维码

    QRCode.js:跨浏览器的javascript二维码生成库,支持html5的Canvas画布,没有任何依赖. Github 地址:https://github.com/davidshimjs/qr ...

  10. windows 环境内网超快同步 DFS

    记录下: 在WINDOWS环境下,内网同步使用DFS可以超快实现文件同步,效果非常OK 纯粹记录下!