make_classification#
- sklearn.datasets.make_classification(n_samples=100, 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)[源代码]#
生成随机n级分类问题。
这最初创建了关于一个的点的正态分布(std=1)的集群
n_informative
- 边长的维超立方体2*class_sep
并为每个类分配相同数量的集群。它引入了这些特征之间的相互依赖性,并向数据添加了各种类型的进一步噪音。无需洗牌,
X
按以下顺序水平堆叠要素:主要要素n_informative
功能,其次是n_redundant
信息特征的线性组合,然后是n_repeated
重复项,随机抽取,并从信息性和冗余特征中进行替换。其余特征充满了随机噪音。因此,无需洗牌,所有有用的功能都包含在列中X[:, :n_informative + n_redundant + n_repeated]
.阅读更多的 User Guide .
- 参数:
- n_samplesint,默认=100
样本数量。
- n_featuresint,默认=20
要素的总数。这些包括
n_informative
信息丰富的特征,n_redundant
冗余特征,n_repeated
重复的特征和n_features-n_informative-n_redundant-n_repeated
随机绘制的无用特征。- n_informativeint,默认=2
信息功能的数量。每个类由许多高斯集群组成,每个集群位于维度子空间中超立方体的顶点周围
n_informative
.对于每个集群,信息特征独立于N(0,1)绘制,然后在每个集群内随机线性组合,以添加协方差。然后将集群放置在超立方体的顶点上。- n_redundantint,默认=2
冗余特征的数量。这些特征被生成为信息特征的随机线性组合。
- n_repeatedint,默认=0
重复特征的数量,从信息特征和冗余特征中随机抽取。
- n_classesint,默认=2
分类问题的类(或标签)数量。
- n_clusters_per_classint,默认=2
每个类的集群数量。
- weights形状类似数组(n_classes,)或(n_classes - 1,), 默认值=无
分配给每个类别的样本比例。如果没有,那么班级是平衡的。注意如果
len(weights) == n_classes - 1
,则自动推断最后一个类权重。超过n_samples
如果总和weights
超过1。请注意,实际的类比例不会完全匹配weights
当flip_y
不是0。- flip_y浮动,默认=0.01
随机分配类别的样本比例。较大的值会在标签中引入噪音,并使分类任务变得更加困难。请注意,默认设置flip_y > 0可能会导致小于
n_classes
在某些情况下。- class_sepfloat,默认=1.0
乘以超立方体大小的因子。 较大的值会分散集群/类,并使分类任务更容易。
- hypercube布尔,默认=True
如果为True,则将集群放置在超立方体的顶点上。如果为假,则将集群放置在随机多边形的顶点上。
- shiftfloat,ndArray of shape(n_features,)或无,默认=0.0
按指定值移动要素。如果无,则要素将按绘制的随机值移动 [-class_sep, class_sep] .
- scalefloat、ndarray of shape(n_features,)或None,默认值=1.0
将要素乘以指定值。如果无,则通过抽取的随机值缩放要素 [1, 100] .请注意,缩放发生在转移之后。
- shuffle布尔,默认=True
洗牌样本和功能。
- random_stateint,RandomState实例或无,默认=无
确定创建数据集的随机数生成。传递int以获得跨多个函数调用的可重复输出。看到 Glossary .
- 返回:
- X形状的nd数组(n_samples,n_features)
生成的样本。
- y形状的nd数组(n_samples,)
每个样本的类成员资格的integer标签。
参见
make_blobs
简化变体。
make_multilabel_classification
多标签任务的不相关生成器。
注意到
该算法改编自Guyon [1] 旨在生成“Madelon”数据集。
引用
[1]I. Guyon, "Design of experiments for the NIPS 2003 variable selection benchmark", 2003.
示例
>>> from sklearn.datasets import make_classification >>> X, y = make_classification(random_state=42) >>> X.shape (100, 20) >>> y.shape (100,) >>> list(y[:5]) [np.int64(0), np.int64(0), np.int64(1), np.int64(1), np.int64(0)]