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)[源代码]#

生成随机多标签分类问题。

对于每个样本,生成过程是:
  • 选择标签数量:n ~ Poisson(n_labels)

  • n次,选择c类:c ~多项(theta)

  • 选择文档长度:k ~ Poisson(长度)

  • k次,选择一个词:w ~ Multinoment(theta_c)

在上述过程中,使用拒绝抽样来确保n永远不为零或大于 n_classes ,并且文档长度永远不为零。同样,我们拒绝已经选择的课程。

有关使用示例,请参阅 绘制随机生成的多标签数据集 .

阅读更多的 User Guide .

参数:
n_samplesint,默认=100

样本数量。

n_featuresint,默认=20

要素的总数。

n_classesint,默认=5

分类问题的类数。

n_labelsint,默认=2

每个实例的平均标签数。更准确地说,每个样本的标签数量是从泊松分布中得出的, n_labels 作为其预期值,但样本的界限(使用拒绝抽样)为 n_classes ,并且必须为非零,如果 allow_unlabeled 是假的。

lengthint,默认=50

特征的总和(如果是文档,则是字数)从具有该预期值的Poisson分布中得出。

allow_unlabeled布尔,默认=True

如果 True ,某些实例可能不属于任何类。

sparse布尔,默认=假

如果 True ,返回稀疏特征矩阵。

Added in version 0.17: 参数以允许 sparse 输出.

return_indicator请输入'dense','sparse'}或False,default='dense'

如果 'dense' 返回 Y 采用密集二进制指示符格式。如果 'sparse' 返回 Y 采用稀疏二进制指示符格式。 False 返回标签列表的列表。

return_distributions布尔,默认=假

如果 True ,返回提取数据的给定类别的特征的先验类别概率和条件概率。

random_stateint,RandomState实例或无,默认=无

确定创建数据集的随机数生成。传递int以获得跨多个函数调用的可重复输出。看到 Glossary .

返回:
X形状的nd数组(n_samples,n_features)

生成的样本。

Y形状(n_samples,n_classes)的{nd数组,稀疏矩阵}

The label sets. Sparse matrix should be of CSR format.

p_c形状的nd数组(n_classes,)

每个班级被抽取的概率。只有在以下情况下才返回 return_distributions=True .

p_w_c形状的nd数组(n_features,n_classes)

给定每个类别绘制每个要素的概率。只有在以下情况下才返回 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])]