创建多标签分类问题#
- 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_samplesint, 默认值=100
- 样本数量。 
- n_featuresint, 默认值=20
- 特征总数。 
- n_classesint, 默认值=5
- 分类问题的类别数。 
- n_labelsint, 默认值=2
- 每个实例的平均标签数。更准确地说,每个样本的标签数是从泊松分布中抽取的,其期望值为 - n_labels,但样本受- n_classes限制(使用拒绝采样),如果- allow_unlabeled为 False,则必须非零。
- lengthint, 默认值=50
- 特征总和(如果为文档,则为词数)是从具有此期望值的泊松分布中抽取的。 
- allow_unlabeledbool, 默认值=True
- 如果为 - True,则某些实例可能不属于任何类别。
- sparsebool, 默认值=False
- 如果为 - True,则返回稀疏特征矩阵。- 0.17 版本新增: 允许稀疏输出的参数。 
- return_indicator{‘dense’, ‘sparse’} 或 False, 默认值='dense'
- 如果为 - 'dense',则以密集二进制指示符格式返回- Y。如果为- 'sparse',则以稀疏二进制指示符格式返回- Y。- False返回标签的列表列表。
- return_distributionsbool, 默认值=False
- 如果为 - True,则返回先验类概率和给定类的特征条件概率,数据就是由此生成的。
- random_stateint, RandomState 实例或 None, 默认值=None
- 确定数据集创建的随机数生成。传递一个整数以在多次函数调用中获得可重复的输出。参见 词汇表。 
 
- 返回:
- Xshape 为 (n_samples, n_features) 的 ndarray
- 生成的样本。 
- Yshape 为 (n_samples, n_classes) 的 {ndarray, 稀疏矩阵}
- 标签集。稀疏矩阵应为 CSR 格式。 
- p_cshape 为 (n_classes,) 的 ndarray
- 每个类别被抽取的概率。只有在 - return_distributions=True时才返回。
- p_w_cshape 为 (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])] 
 
     
