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, return_X_y=True)[source]#
- 生成一个随机的n类别分类问题。 - 该函数最初创建点簇,这些点簇以 - n_informative维超立方体的顶点为中心呈正态分布(标准差=1),超立方体的边长为- 2*class_sep,并为每个类别分配相同数量的点簇。它在这些特征之间引入相互依赖性,并向数据添加各种类型的额外噪声。- 不进行混洗时, - X按以下顺序水平堆叠特征:首先是主要的- n_informative个信息特征,接着是- n_redundant个信息特征的线性组合,然后是- n_repeated个从信息特征和冗余特征中随机抽取(可重复)的重复特征。其余特征则填充随机噪声。因此,在不混洗的情况下,所有有用特征都包含在- X[:, :n_informative + n_redundant + n_repeated]这些列中。- 更多信息请参阅用户指南。 - 参数:
- n_samples整型, 默认值=100
- 样本数量。 
- n_features整型, 默认值=20
- 特征总数。其中包括 - n_informative个信息特征、- n_redundant个冗余特征、- n_repeated个重复特征以及- n_features-n_informative-n_redundant-n_repeated个随机生成的无用特征。
- n_informative整型, 默认值=2
- 信息特征的数量。每个类别由多个高斯聚类组成,每个聚类位于 - n_informative维子空间中超立方体的顶点周围。对于每个聚类,信息特征独立地从 N(0, 1) 中抽取,然后在每个聚类内随机线性组合以增加协方差。然后将这些聚类放置在超立方体的顶点上。
- n_redundant整型, 默认值=2
- 冗余特征的数量。这些特征是信息特征的随机线性组合生成的。 
- n_repeated整型, 默认值=0
- 重复特征的数量,从信息特征和冗余特征中随机抽取。 
- n_classes整型, 默认值=2
- 分类问题的类别(或标签)数量。 
- n_clusters_per_class整型, 默认值=2
- 每个类别的簇数量。 
- weights类数组,形状为 (n_classes,) 或 (n_classes - 1,), 默认值=None
- 分配给每个类别的样本比例。如果为 None,则类别是平衡的。请注意,如果 - len(weights) == n_classes - 1,则最后一个类别的权重将自动推断。如果- weights的总和超过 1,则可能会返回超过- n_samples的样本。请注意,当- flip_y不为 0 时,实际的类别比例可能与- weights不完全匹配。
- flip_y浮点型, 默认值=0.01
- 类别被随机分配的样本比例。值越大,标签中的噪声越多,分类任务也越困难。请注意,默认设置 flip_y > 0 在某些情况下可能导致 y 中的类别数少于 - n_classes。
- class_sep浮点型, 默认值=1.0
- 超立方体大小的乘数因子。值越大,簇/类别分布越分散,分类任务也越容易。 
- hypercube布尔型, 默认值=True
- 如果为 True,则簇放置在超立方体的顶点上。如果为 False,则簇放置在随机多面体的顶点上。 
- shift浮点型, 形状为 (n_features,) 的 ndarray 或 None, 默认值=0.0
- 按指定值移动特征。如果为 None,则特征按在 [-class_sep, class_sep] 中抽取的随机值移动。 
- scale浮点型, 形状为 (n_features,) 的 ndarray 或 None, 默认值=1.0
- 按指定值缩放特征。如果为 None,则特征按在 [1, 100] 中抽取的随机值缩放。请注意,缩放发生在移动之后。 
- shuffle布尔型, 默认值=True
- 混洗样本和特征。 
- random_state整型, RandomState 实例或 None, 默认值=None
- 决定数据集创建的随机数生成。传入一个整型值可确保多次函数调用时的输出可重现。请参阅术语表。 
- return_X_y布尔型, 默认值=True
- 如果为 True,则返回一个元组 - (X, y)而不是 Bunch 对象。- 版本 1.7 新增。 
 
- 返回:
- data如果 return_X_y为False, 则为Bunch。
- 类似字典的对象,具有以下属性。 - DESCR字符串
- 生成数据集的函数描述。 
- parameter字典
- 一个字典,存储传递给生成器函数的参数值。 
- feature_info长度为 len(n_features) 的列表
- 对每个生成特征的描述。 
- X形状为 (n_samples, n_features) 的 ndarray
- 生成的样本。 
- y形状为 (n_samples,) 的 ndarray
- 每个样本类别成员资格的整数标签。 
 - 版本 1.7 新增。 
- (X, y)如果 return_X_y为 True,则为元组
- 包含生成的样本和标签的元组。 
 
- data如果 
 - 另请参阅 - 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)] 
 
     
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
