make_multilabel_classification#
- sklearn.datasets.make_multilabel_classification(n_samples=100, n_features=20, *, n_classes=5, n_labels=2, length=50, allow_unlabeled=True, sparse=False, return_indicator='dense', return_distributions=False, random_state=None)[source]#
生成一个随机多标签分类问题。
- 对于每个样本,生成过程如下:
选择标签数量:n ~ Poisson(n_labels)
n 次,选择一个类别 c:c ~ Multinomial(theta)
选择文档长度:k ~ Poisson(length)
k 次,选择一个单词:w ~ Multinomial(theta_c)
在上述过程中,使用拒绝采样确保 n 永不为零或大于
n_classes
,并且文档长度永不为零。同样,我们拒绝已经选择的类别。有关用法示例,请参阅 绘制随机生成的多标签数据集。
在用户指南中阅读更多内容。
- 参数:
- n_samples整型,默认值=100
样本数量。
- n_features整型,默认值=20
特征总数。
- n_classes整型,默认值=5
分类问题的类别数量。
- n_labels整型,默认值=2
每个实例的平均标签数量。更确切地说,每个样本的标签数量从以
n_labels
为期望值的泊松分布中抽取,但样本被限制(使用拒绝采样)在n_classes
之内,并且如果allow_unlabeled
为 False,则必须非零。- length整型,默认值=50
特征的总和(如果是文档,则为单词数)从以该值为期望值的泊松分布中抽取。
- allow_unlabeled布尔型,默认值=True
如果为
True
,则某些实例可能不属于任何类别。- sparse布尔型,默认值=False
如果为
True
,则返回一个稀疏特征矩阵。0.17 版新增: 允许稀疏输出的参数。
- return_indicator{‘dense’, ‘sparse’} 或 False, 默认值=’dense’
如果为
'dense'
,则以密集二元指示符格式返回Y
。如果为'sparse'
,则以稀疏二元指示符格式返回Y
。False
返回一个标签列表的列表。- return_distributions布尔型,默认值=False
如果为
True
,则返回从中抽取数据的先验类别概率和给定类别的特征条件概率。- random_state整型,RandomState 实例或 None,默认值=None
确定数据集创建的随机数生成。传入一个整型以便在多次函数调用中获得可重现的输出。请参阅 术语表。
- 返回:
- X形状为 (n_samples, n_features) 的 ndarray
生成的样本。
- Y形状为 (n_samples, n_classes) 的 {ndarray, 稀疏矩阵}
标签集。稀疏矩阵应为 CSR 格式。
- p_c形状为 (n_classes,) 的 ndarray
抽取每个类别的概率。仅当
return_distributions=True
时返回。- p_w_c形状为 (n_features, n_classes) 的 ndarray
给定每个类别时抽取每个特征的概率。仅当
return_distributions=True
时返回。
示例
>>> from sklearn.datasets import make_multilabel_classification >>> X, y = make_multilabel_classification(n_labels=3, random_state=42) >>> X.shape (100, 20) >>> y.shape (100, 5) >>> list(y[:3]) [array([1, 1, 0, 1, 0]), array([0, 1, 1, 1, 0]), array([0, 1, 0, 0, 0])]