Spec-Zone.ru › scikit-learn

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 ~ 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

Определяет генерацию случайных чисел при создании набора данных. Передайте int, чтобы получать воспроизводимый результат при нескольких вызовах функции. См. глоссарий.

Возвращает:
Xndarray формы (n_samples, n_features)

Сгенерированные образцы.

Y{ndarray, разреженная матрица} формы (n_samples, n_classes)

Наборы меток. Разреженная матрица должна иметь формат CSR.

p_cndarray формы (n_classes,)

Вероятность выбора каждого класса. Возвращается только если return_distributions=True.

p_w_cndarray формы (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])]

Примеры в галерее

Построение графика случайно сгенерированного многометочного набора данных

Многометочная классификация

© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.datasets.make_multilabel_classification.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API