sklearn提供的自带的数据集

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. #加载数据集
  3. iris=load_iris()
  4. iris.keys()  #dict_keys(['target', 'DESCR', 'data', 'target_names', 'feature_names'])
  5. #数据的条数和维数
  6. n_samples,n_features=iris.data.shape
  7. print("Number of sample:",n_samples) #Number of sample: 150
  8. print("Number of feature",n_features)  #Number of feature 4
  9. #第一个样例
  10. print(iris.data[0])      #[ 5.1 3.5 1.4 0.2]
  11. print(iris.data.shape)    #(150, 4)
  12. print(iris.target.shape)  #(150,)
  13. print(iris.target)
  14. """
  15.  
  16.   [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
  17. 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
  18. 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
  19. 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
  20. 2]
  21.  
  22. """
  23. import numpy as np
  24. print(iris.target_names)  #['setosa' 'versicolor' 'virginica']
  25. np.bincount(iris.target)  #[50 50 50]
  26.  
  27. import matplotlib.pyplot as plt
  28. #以第3个索引为划分依据,x_index的值可以为0,1,2,3
  29. x_index=3
  30. color=['blue','red','green']
  31. for label,color in zip(range(len(iris.target_names)),color):
  32. plt.hist(iris.data[iris.target==label,x_index],label=iris.target_names[label],color=color)
  33.  
  34. plt.xlabel(iris.feature_names[x_index])
  35. plt.legend(loc="Upper right")
  36. plt.show()
  37.  
  38. #画散点图,第一维的数据作为x轴和第二维的数据作为y轴
  39. x_index=0
  40. y_index=1
  41. colors=['blue','red','green']
  42. for label,color in zip(range(len(iris.target_names)),colors):
  43. plt.scatter(iris.data[iris.target==label,x_index],
  44. iris.data[iris.target==label,y_index],
  45. label=iris.target_names[label],
  46. c=color)
  47. plt.xlabel(iris.feature_names[x_index])
  48. plt.ylabel(iris.feature_names[y_index])
  49. plt.legend(loc='upper left')
  50. 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. #生成多类单标签数据集
  2. import numpy as np
  3. import matplotlib.pyplot as plt
  4. from sklearn.datasets.samples_generator import make_blobs
  5. center=[[1,1],[-1,-1],[1,-1]]
  6. cluster_std=0.3
  7. X,labels=make_blobs(n_samples=200,centers=center,n_features=2,
  8. cluster_std=cluster_std,random_state=0)
  9. print('X.shape',X.shape)
  10. print("labels",set(labels))
  11.  
  12. unique_lables=set(labels)
  13. colors=plt.cm.Spectral(np.linspace(0,1,len(unique_lables)))
  14. for k,col in zip(unique_lables,colors):
  15. x_k=X[labels==k]
  16. plt.plot(x_k[:,0],x_k[:,1],'o',markerfacecolor=col,markeredgecolor="k",
  17. markersize=14)
  18. plt.title('data by make_blob()')
  19. plt.show()
  20.  
  21. #生成用于分类的数据集
  22. from sklearn.datasets.samples_generator import make_classification
  23. X,labels=make_classification(n_samples=200,n_features=2,n_redundant=0,n_informative=2,
  24. random_state=1,n_clusters_per_class=2)
  25. rng=np.random.RandomState(2)
  26. X+=2*rng.uniform(size=X.shape)
  27.  
  28. unique_lables=set(labels)
  29. colors=plt.cm.Spectral(np.linspace(0,1,len(unique_lables)))
  30. for k,col in zip(unique_lables,colors):
  31. x_k=X[labels==k]
  32. plt.plot(x_k[:,0],x_k[:,1],'o',markerfacecolor=col,markeredgecolor="k",
  33. markersize=14)
  34. plt.title('data by make_classification()')
  35. plt.show()
  36.  
  37. #生成球形判决界面的数据
  38. from sklearn.datasets.samples_generator import make_circles
  39. X,labels=make_circles(n_samples=200,noise=0.2,factor=0.2,random_state=1)
  40. print("X.shape:",X.shape)
  41. print("labels:",set(labels))
  42.  
  43. unique_lables=set(labels)
  44. colors=plt.cm.Spectral(np.linspace(0,1,len(unique_lables)))
  45. for k,col in zip(unique_lables,colors):
  46. x_k=X[labels==k]
  47. plt.plot(x_k[:,0],x_k[:,1],'o',markerfacecolor=col,markeredgecolor="k",
  48. markersize=14)
  49. plt.title('data by make_moons()')
  50. plt.show()

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

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

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

  2. sklearn提供的自带数据集

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

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

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

  4. Python: sklearn库——数据预处理

    Python: sklearn库 —— 数据预处理 数据集转换之预处理数据:      将输入的数据转化成机器学习算法可以使用的数据.包含特征提取和标准化.      原因:数据集的标准化(服从均值为 ...

  5. 用python+sklearn(机器学习)实现天气预报数据 模型和使用

    用python+sklearn机器学习实现天气预报 模型和使用 项目地址 系列教程 0.前言 1.建立模型 a.准备 引入所需要的头文件 选择模型 选择评估方法 获取数据集 b.建立模型 c.获取模型 ...

  6. 用python+sklearn(机器学习)实现天气预报数据 数据

    用python+sklearn机器学习实现天气预报 数据 项目地址 系列教程 勘误表 0.前言 1.爬虫 a.确认要被爬取的网页网址 b.爬虫部分 c.网页内容匹配取出部分 d.写入csv文件格式化 ...

  7. 用python+sklearn(机器学习)实现天气预报 准备

    用python+sklearn机器学习实现天气预报 准备 项目地址 系列教程 0.流程介绍 1. 环境搭建 a.python b.涉及到的机器学习相关库 sklearn panda seaborn j ...

  8. python+sklearn+kaggle机器学习

    python+sklearn+kaggle机器学习 系列教程 0.kaggle 1. 初级线性回归模型机器学习过程 a. 提取数据 b.数据预处理 c.训练模型 d.根据数据预测 e.验证 今天是10 ...

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

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

随机推荐

  1. 一 ArrayList 及其源码解析

    1.数组介绍 因为数组在存储数据时是按顺序存储的,存储的内存也是连续的,所以其特点是读取数据比较容易,插入删除比较困难 2.arraylist源码分析 1)构造方法(默认容量为10) 2)插入数据 扩 ...

  2. mydql 函数和存储过程

    存储过程 CREATE PROCEDURE getUid (IN phone CHAR(11), OUT uid INT ) READS SQL DATA BEGIN select u.id from ...

  3. gulp die('click').live('click' composer

    gulp  die('click').live('click' composer packagist.org https://getcomposer.org/ 下载后 php composer.pha ...

  4. CHD-5.3.6集群上sqoop安装

    Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ...

  5. async/await 处理多个网络请求同步问题

    1.async/await是基于Promise的,是进一步的一种优化,await会等待异步执行完成 getProjectTask(id){ this.axios.get('/api/v1/task/' ...

  6. 智能指针原理及实现(1)shared_ptr

    0.异常安全 C++没有内存回收机制,每次程序员new出来的对象需要手动delete,流程复杂时可能会漏掉delete,导致内存泄漏.于是C++引入智能指针,可用于动态资源管理,资源即对象的管理策略. ...

  7. Dockerfile命令详解

    使用docker就会避免不了的要做各种镜像,就会用到dockerfile,记录一下dockerfile的主要命令 1.主要组成部分     dockerfile执行build命令时,是从上倒下依次执行 ...

  8. linux上网时断时续问题

    [问题描述]打开百度比较慢:登录远程服务器操作一会儿就断了 [问题环境]ip自动获取 [问题分析]自己的ip地址被人占用了 [问题解决]1)重新手动配置一个新的ip    2)释放原来的ip,重新自动 ...

  9. Ajax返回数据却一直进入error(已经解决)

    做asp.net项目  使用ajax $.ajax({ url: '../Music/Default2.aspx?Types=' + type + '&texts=' + text + '', ...

  10. docker HealthCheck健康检查

    需求 最近遇到的问题:线上跑的一个 Node 镜像是在运行的,状态为 up ,但是访问报 502 ,重启镜像无效,重新拉了个镜像运行才恢复正常.于是想研究下如何从应用层面去检查容器的状态 为什么 do ...