使用Sklearn生成数据集

  • 1.生成符合正态分布的聚类数据
  • 2.生成同心圆样本点
  • 3.生成模拟分类数据集
  • 4.生成太极型非凸集样本点
  • 5.生成同心圆形样本点
  • 6.生成二进制分类数据
  • 7.生成瑞士卷曲线数据集

1.生成符合正态分布的聚类数据

import matplotlib.pyplot as plt
from sklearn.datasets import make_blobsx, y = make_blobs(n_samples=1500, n_features=2, centers=5)plt.scatter(x[:, 0], x[:, 1], c=y, s=6)
plt.show()


参数说明:

"""
Parameters
----------
n_samples :int或类似数组,可选(默认值为100)如果是int,则为平均除以集群。如果数组相似,则序列的每个元素指示每个群集的样本数。n_features : int,可选(默认值为2)每个样本的特征数。centers : 形状的整数或数组[n_中心,n_特征],可选(默认设置为无)要生成的中心数或固定中心位置。如果n_samples为int,centers为None,则生成3个中心。              如果n_样本是数组形式,则中心必须是无或长度等于n个样本长度的数组。cluster_std : 浮动或浮动序列,可选(默认值=1.0)簇的标准差。center_box : 一对浮动(最小,最大),可选(默认值=(-10.0,10.0))随机生成中心时每个群集中心的边界框。shuffle : boolean,可选(默认值为True)洗牌样本(应该是将样本乱序的意思)。random_state : int,随机状态实例或无(默认)确定数据集创建的随机数生成。为跨多个函数调用的可复制输出传递int。Returns
-------
X : array of shape [n_samples, n_features]生成的样本。y : array of shape [n_samples]每个样本的群集成员身份的整数标签。"""

2.生成同心圆样本点

from sklearn.datasets import make_circlesx, y = make_circles(n_samples=15000, shuffle=True,noise=0.03, random_state=None, factor=0.6)plt.scatter(x[:, 0], x[:, 1], c=y, s=7)
plt.show()

参数说明:

"""
Parameters
----------
n_samples : int,可选(默认值为100)生成的点的总数。如果是奇数,则内圈比外圈多出一个点。shuffle : boolean,可选(默认值为True)是否打乱样本。noise : double or None (默认值为无)加在数据中的高斯噪声的标准差。random_state : int,随机状态实例或无(默认)确定数据集洗牌和噪声的随机数生成。为跨多个函数调用的可复制输出传递int。factor : 0 < double < 1 (默认值为.8)内外圆之间的比例因子。Returns
-------
X : array of shape [n_samples, 2]生成的样本。y : array of shape [n_samples]每个样本的类成员身份的整数标签(0或1)。"""

3.生成模拟分类数据集

from sklearn.datasets import make_classificationx, y = make_classification(n_samples=500, n_features=20, n_informative=2,n_redundant=2, n_repeated=0, n_classes=2,n_clusters_per_class=2, weights=None,flip_y=0.01, class_sep=1.0, hypercube=True,shift=0.0, scale=1.0, shuffle=True, random_state=None)plt.scatter(x[:, 0], x[:, 1], c=y, s=7)  # 共20个特征维度,此处仅使用两个维度作图演示
plt.show()


参数说明:

"""
Parameters
----------
n_samples :int,可选(默认值为100)样本数。n_features : int,可选(默认值为20)功能的总数。其中包括``n_informative``信息功能``n_redundant`` 冗余功能,``n_repeated`` 重复特征``n_features-n_informative-n_redundant-n_repeated`` 随机绘制的无用特征.n_informative : int,可选(默认值=2)信息功能的数量。每一类都由若干个高斯簇组成,每个高斯簇都位于多维信息子空间中的超立方体顶点周围。对于每个聚类,信息特征独立于N(0,1)提取,然后在每个聚类内随机线性组合以添加协方差。然后将这些簇放置在超立方体的顶点上。n_redundant : int,可选(默认值为2)冗余功能的数量。这些功能生成为信息特征的随机线性组合。n_repeated : int,可选(默认值为0)从信息性特征和冗余特征中随机抽取的重复特征数。n_classes : int,可选(默认值为2)分类问题的类(或标签)数。n_clusters_per_class : int,可选(默认值为2)每个类的群集数。weights : list of floats or None(默认值为无)分配给每个类的样本比例。如果没有,则类是平衡的。注意,如果“len(weights)==n_classes-1``,则自动推断最后一个类的权重。如果“权重”之和超过1,则可能返回超过“n个样本”的样本。flip_y : float,可选(默认值=0.01)其类是随机交换的样本的分数。较大的值会在标签中引入噪声,并使分类任务更加困难。class_sep : 浮点,可选(默认值为1.0)乘以超立方体大小的因子。更大的值分布、分布集群/类,使分类任务更容易。hypercube : boolean, 可选(默认值为True)如果为True,则将簇放置在超立方体的顶点上。如果为False,则将簇放置在随机多面体的顶点上。shift : float, 可选(默认值为1.0)乘以超立方体大小的因子。更大的值分布、分布集群/类,使分类任务更容易。scale : float, array of shape [n_features] or None, 可选(默认值为1.0)将特征乘以指定值。如果没有,则特征按[1100]中的随机值缩放。注意,缩放发生在移位之后。shuffle : boolean, 可选(默认值为True)将样本和标签进行乱序。random_state : int, RandomState instance or None (default)确定数据集创建的随机数生成。为跨多个函数调用的可复制输出传递int。Returns
-------
X : array of shape [n_samples, n_features]生成的样本。y : array of shape [n_samples]每个samp类成员的整数标签。"""

4.生成太极型非凸集样本点

from sklearn.datasets import make_moonsx, y = make_moons(n_samples=1500, shuffle=True,noise=0.06, random_state=None)plt.scatter(x[:, 0], x[:, 1], c=y, s=7)
plt.show()


参数说明:

"""
Parameters
----------
n_samples : int,可选(默认值为100)生成的点的总数。shuffle : boolean, 可选(默认值为True)是否将样本乱序。noise : double or None(默认值为None)加在数据中的高斯噪声的标准差。random_state : int, RandomState instance or None (默认)确定数据集洗牌和噪声的随机数生成。为跨多个函数调用的可复制输出传递int。Returns
-------
X : array of shape [n_samples, 2]生成的样本。y : array of shape [n_samples]每个样本的类成员身份的整数标签(0或1)。"""

5.生成同心圆形样本点

生成各向同性高斯样本并用分位数标记样本。
此分类数据集是通过采用多维标准正态分布并定义由嵌套的同心多维球体分隔的类来构造的,这样每个类中的样本数大致相等。

from sklearn.datasets import make_gaussian_quantilesX1, Y1 = make_gaussian_quantiles(n_samples=1000, n_features=2, n_classes=4)plt.scatter(X1[:, 0], X1[:, 1], marker='o', c=Y1)
plt.show()


参数说明:

"""
Parameters
----------
mean : array of shape [n_features],可选(默认值=无)多维正态分布的平均值。如果没有,则使用原点(0,0,…)。cov : float,可选(默认值为1。)协方差矩阵就是这个值乘以单位矩阵。这个数据集只生成对称正态分布。n_samples : int,可选(默认值为100)平均分配给各个班级的总分。n_features : int,可选(默认值为2)每个样本的特征数。n_classes : int,可选(默认值为3)classes数量shuffle : boolean, 可选(默认为True)将样本进行乱序。random_state : int, RandomState instance or None (默认)确定数据集创建的随机数生成。传递int用于跨多个函数调用的可重复输出。Returns
-------
X : array of shape [n_samples, n_features]生成的样本。y : array of shape [n_samples]每个样本的分位数成员的整数标签。"""

6.生成二进制分类数据

生成用于Haste等人的二进制分类的数据。
2009年,示例10.2。

这十个特征是标准独立高斯函数,目标“y”的定义如下:
如果np.和(X[i]**2)>9.34,则y[i]=1,否则-1
阅读:ref:User Guide<sample_generators>

from sklearn.datasets import make_hastie_10_2X1, Y1 = make_hastie_10_2(n_samples=1000)plt.scatter(X1[:, 0], X1[:, 1], marker='o', c=Y1)
plt.show()


参数说明:

Parameters
----------
n_samples : int,可选(默认值=12000)样本数。random_state : int,RandomState instance or None(默认)确定数据集创建的随机数生成。为跨多个函数调用的可复制输出传递int。Returns
-------
X : array of shape [n_samples, 10]输入样本。y : array of shape [n_samples]输出值。

7.生成瑞士卷曲线数据集

from sklearn.datasets import make_swiss_rollX, t = make_swiss_roll(n_samples=2000, noise=0.1)
X
>>>array([[ -8.5687585 ,   6.60327975,  -4.97423585],[ -6.01693799,   6.66425979,   6.19861014],[ -1.66603557,  15.1219713 ,   7.69390012],...,[ -4.17856203,  19.47152292,   7.34403002],[  4.03564557,  13.30477032,   5.9617141 ],[ -0.47941029,   4.95526013, -10.95709757]])
t
>>>array([ 9.9483257 ,  8.64246041,  8.0615649 , ...,  8.39105028,7.25609257, 10.95419387])
%matplotlib notebookfig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(X[:, 0], X[:, 1], X[:, 2], c=t, cmap=plt.cm.Spectral,edgecolors='black')
plt.show()
>>><IPython.core.display.Javascript object>


参数说明:

Parameter
---------
n_samples:int, optional (default=100)S曲线上的采样点数。noise:float, optional (default=0.0)高斯噪声的标准偏差。random_state:int, RandomState instance, default=None确定用于创建数据集的随机数生成。为多个函数调用传递可重复输出的int值。Returns
-------
X:array of shape [n_samples, 3]数据点。t:array of shape [n_samples]根据流形中点的主要尺寸,样本的单变量位置。

参考文献:
使用sklearn生成数据集
python机器学习库sklearn——生成样本数据

如何使用Sklearn生成自己的数据集相关推荐

  1. python kfold交叉验证_Python sklearn KFold 生成交叉验证数据集的方法

    源起: 1.我要做交叉验证,需要每个训练集和测试集都保持相同的样本分布比例,直接用sklearn提供的KFold并不能满足这个需求. 2.将生成的交叉验证数据集保存成CSV文件,而不是直接用sklea ...

  2. python机器学习库sklearn——生成样本数据

    分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 docker/kubernetes入门视频教程 全栈工程师开发手册 (作者:栾鹏) pyth ...

  3. ML之xgboost:利用xgboost算法(结合sklearn)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)

    ML之xgboost:利用xgboost算法(结合sklearn)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测) 目录 输出结果 设计思路 核心代码 输 ...

  4. DL:基于sklearn的加利福尼亚房价数据集实现GD算法

    DL:基于sklearn的加利福尼亚房价数据集实现GD算法 目录 输出结果 代码设计 输出结果 该数据包含9个变量的20640个观测值,该数据集包含平均房屋价值作为目标变量和以下输入变量(特征):平均 ...

  5. 使用京东FaceX-Zoo sdk生成戴口罩数据集

    使用京东FaceX-Zoo sdk生成戴口罩数据集 最近要做戴口罩的人脸识别,事实上当前开源的模型都不那么尽如人意,所以要优化算法再重新训练. 首先要解决的就是数据集的问题.因为从网络中能获取到的真实 ...

  6. 【mmdetection小目标检测教程】三、使用sahi库切分高分辨率图片,一键生成coco格式数据集

    [mmdetection小目标检测教程]三.使用sahi库切分高分辨率图片,一键生成coco格式数据集 1.确认是否需要切分图像 2.子图切分 (1)安装sahi库 (2)基于sahi切图 本文我们将 ...

  7. 机器学习之sklearn使用下载MNIST数据集进行分类识别

    机器学习之sklearn使用下载MNIST数据集进行分类识别 一.MNIST数据集 1.MNIST数据集简介 2.获取MNIST数据集 二.训练一个二分类器 1.随机梯度下降(SGD)分类器 2.分类 ...

  8. 生成对抗网络生成多维数据集_生成没有数据集的新颖内容

    生成对抗网络生成多维数据集 介绍(Introduction) GAN architecture has been the standard for generating content through ...

  9. python随机划分数据集_Python之机器学习-sklearn生成随机数据

    sklearn-生成随机数据 import numpy as np import pandas as pd import matplotlib.pyplot as plt from matplotli ...

最新文章

  1. 为什么明星公司会选择Go作为编程语言?
  2. 统计计量 | 实证研究中常犯的18个统计学错误, 避坑防雷指南!
  3. 渗透知识- Windows系统目录、服务、端口、注册表
  4. 有参转录组常用数据库
  5. qpaint 在graphicsview上的qimage画一条线_solidworks2016画一个塑料外壳:用开放的草图进行切除,你会吗?...
  6. 全国80几所重点大学ftp资源库(经常逛逛可能有惊喜哦)很难收集的,知道其他的友友可以留言完善...
  7. Tarjan的强联通分量
  8. 阿里云史上最大技术升级:面向万物智能的飞天2.0
  9. AD 角色夺取传送注意事项
  10. Go的50坑:新Golang开发者要注意的陷阱、技巧和常见错误[1]
  11. npm run build 出错 npm: 6.5.0-next.0 should be = 3.0.0
  12. Spring Cloud Zuul网关集成JWT身份验证学习总结
  13. python html表格模版,python-如何使用模板(例如Jinja2)将列值列表呈现到表中
  14. 00_51入门知识积累__学看电路原理图
  15. Winxp 中文版 使用 IDM,补丁
  16. 西南交大计算机应用基础离线作业答案,西南交大计算机应用基础1-5作业答案.doc...
  17. 为了不被裁之NVMe-MI oob
  18. 【弱监督显著目标检测论文】Weakly-Supervised Salient Object Detection via Scribble Annotations
  19. c++逆天改命进阶--RedBlackTree
  20. VMware上面实现Ubuntu和Windows文件的复制粘贴功能(以及虚拟机当中插入U盘能够显示)

热门文章

  1. 微信html5复制剪切板,微信h5实现复制内容到剪贴板,两种方法
  2. RIA+REST架构实现完美WEB开发
  3. 输出一个区间内所有的素数(质数)
  4. 使用ajaxSubmit上传文件总结
  5. 腾讯地图行政区划接口调用
  6. GmSSL制作国密算法自签证书和 HTTPS 配置
  7. java蓝桥杯——矩形面积交
  8. 机房服务器维保 招标文件,机房维护服务项目招标文件.docx
  9. 给别人计算机office作业评语,Office操作题自动评分系统的总体评价
  10. java网络编程-- 文件传输