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 ~ 泊松(n_labels)
n次,选择一个类别c:c ~ 多项式(theta)
选择文档长度:k ~ 泊松(length)
k次,选择一个词:w ~ 多项式(theta_c)
在上述过程中,使用拒绝抽样确保n永远不会为零或超过
n_classes
,并且文档长度永远不会为零。同样,我们拒绝已经选择的类别。有关使用示例,请参见 绘制随机生成的多标签数据集 。
更多信息请参见 用户指南 。
- Parameters:
- n_samplesint, default=100
样本数量。
- n_featuresint, default=20
特征总数。
- n_classesint, default=5
分类问题的类别数量。
- n_labelsint, default=2
每个实例的平均标签数量。更准确地说,每个样本的标签数量从以
n_labels
为期望值的泊松分布中抽取,但样本被限制(使用拒绝抽样)在n_classes
以内,并且在allow_unlabeled
为False时必须为非零。- lengthint, default=50
特征之和(如果是文档则为词数)从以该期望值的泊松分布中抽取。
- allow_unlabeledbool, default=True
如果为
True
,一些实例可能不属于任何类别。- sparsebool, default=False
如果为
True
,返回一个稀疏特征矩阵。Added in version 0.17: 参数允许*稀疏*输出。
- return_indicator{‘dense’, ‘sparse’} 或 False, default=’dense’
如果为
'dense'
,以密集二进制指示符格式返回Y
。如果为'sparse'
,以稀疏二进制指示符格式返回Y
。False
返回标签列表的列表。- return_distributionsbool, default=False
如果为
True
,返回先验类别概率和给定类别特征的条件概率,从中抽取数据。- random_stateint, RandomState 实例 或 None, default=None
确定数据集创建的随机数生成。传递一个int以在多次函数调用中获得可重复的输出。 参见 术语 。
- Returns:
- Xndarray of shape (n_samples, n_features)
生成的样本。
- Y{ndarray, sparse matrix} of shape (n_samples, n_classes)
标签集。稀疏矩阵应为CSR格式。
- p_cndarray of shape (n_classes,)
每个类别被抽取的概率。仅在
return_distributions=True
时返回。- p_w_cndarray of shape (n_features, n_classes)
每个特征在给定类别下被抽取的概率。仅在
return_distributions=True
时返回。
Examples
>>> 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])]