Spec-Zone.ru › scikit-learn

make_classification

sklearn.datasets.make_classification(n_samples=100, n_features=20, *, n_informative=2, n_redundant=2, n_repeated=0, n_classes=2, n_clusters_per_class=2, weights=None, flip_y=0.01, class_sep=1.0, hypercube=True, shift=0.0, scale=1.0, shuffle=True, random_state=None)[source]

Генерирует случайную n-классовую задачу классификации.

Изначально создаются кластеры точек, нормально распределённых (std=1) вокруг вершин n_informative-мерного гиперкуба со сторонами длины 2*class_sep, и каждому классу присваивается одинаковое количество кластеров. В данные вводится взаимозависимость между этими признаками и добавляется различный тип дополнительного шума.

Без перемешивания, X горизонтально складывает признаки в следующем порядке: основные n_informative признаки, за которыми следуют n_redundant линейные комбинации информативных признаков, за которыми следуют n_repeated дубликаты, случайным образом выбранные с заменой из информативных и избыточных признаков. Остальные признаки заполняются случайным шумом. Таким образом, без перемешивания все полезные признаки содержатся в столбцах X[:, :n_informative + n_redundant + n_repeated].

Дополнительная информация в Руководстве пользователя.

Параметры:
n_samplesint, по умолчанию=100

Количество выборок.

n_featuresint, по умолчанию=20

Общее количество признаков. Они включают n_informative информативных признаков, n_redundant избыточных признаков, n_repeated дублированных признаков и n_features-n_informative-n_redundant-n_repeated бесполезных признаков, выбранных случайным образом.

n_informativeint, по умолчанию=2

Количество информативных признаков. Каждый класс состоит из нескольких гауссовских кластеров, каждый из которых расположен вокруг вершин гиперкуба в подпространстве размерности n_informative. Для каждого кластера информативные признаки выбираются независимо из N(0, 1), а затем случайно линейно комбинируются внутри каждого кластера, чтобы добавить ковариацию. Затем кластеры размещаются на вершинах гиперкуба.

n_redundantint, по умолчанию=2

Количество избыточных признаков. Эти признаки генерируются как случайные линейные комбинации информативных признаков.

n_repeatedint, по умолчанию=0

Количество дублированных признаков, случайным образом выбираемых из информативных и избыточных признаков.

n_classesint, по умолчанию=2

Количество классов (или меток) задачи классификации.

n_clusters_per_classint, по умолчанию=2

Количество кластеров на класс.

weightsarray-like of shape (n_classes,) or (n_classes - 1,), по умолчанию=None

Пропорции выборок, назначенных каждому классу. Если None, то классы сбалансированы. Обратите внимание, если len(weights) == n_classes - 1, то вес последнего класса автоматически определяется. Может быть возвращено более n_samples выборок, если сумма weights превышает 1. Обратите внимание, что фактические пропорции классов не будут точно соответствовать weights когда flip_y не равно 0.

flip_yfloat, по умолчанию=0.01

Доля выборок, классы которых случайно присваиваются. Более высокие значения вводят шум в метки и усложняют задачу классификации. Обратите внимание, что значение по умолчанию flip_y > 0 может привести к меньшему количеству n_classes в y в некоторых случаях.

class_sepfloat, по умолчанию=1.0

Фактор, умножающий размер гиперкуба. Более высокие значения разделяют кластеры/классы и упрощают задачу классификации.

hypercubebool, по умолчанию=True

Если True, кластеры размещаются в вершинах гиперкуба. Если False, кластеры размещаются в вершинах случайного политопа.

shiftfloat, ndarray of shape (n_features,) or None, по умолчанию=0.0

Смещает признаки на указанное значение. Если None, признаки смещаются на случайное значение, выбранное в диапазоне [-class_sep, class_sep].

scalefloat, ndarray of shape (n_features,) or None, по умолчанию=1.0

Умножает признаки на указанное значение. Если None, признаки масштабируются на случайное значение, выбранное в диапазоне [1, 100]. Обратите внимание, что масштабирование происходит после смещения.

shufflebool, по умолчанию=True

Перемешивает выборки и признаки.

random_stateint, RandomState instance or None, по умолчанию=None

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

Возвращает:
Xndarray of shape (n_samples, n_features)

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

yndarray of shape (n_samples,)

Целочисленные метки для принадлежности к классу каждой выборки.

См. также

make_blobs

Упрощенная версия.

make_multilabel_classification

Независимый генератор для задач с множественной меткой.

Примечания

Алгоритм адаптирован из Guyon [1] и был разработан для генерации набора данных «Madelon».

Ссылки

[1]

I. Guyon, «Проектирование экспериментов для сравнительного анализа алгоритмов в NIPS 2003», 2003.

Примеры

>>> from sklearn.datasets import make_classification
>>> X, y = make_classification(random_state=42)
>>> X.shape
(100, 20)
>>> y.shape
(100,)
>>> list(y[:5])
[np.int64(0), np.int64(0), np.int64(1), np.int64(1), np.int64(0)]

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

Основные моменты выпуска scikit-learn 1.6

Основные моменты выпуска scikit-learn 1.5

Основные моменты выпуска scikit-learn 1.3

Основные моменты выпуска scikit-learn 0.24

Основные моменты выпуска scikit-learn 0.22

Сравнение калибровки классификаторов

Кривые калибровки вероятности

Сравнение классификаторов

Важность признаков с помощью леса деревьев

Преобразование признаков с помощью ансамблей деревьев

Ошибки OOB для случайных лесов

Конвейер ANOVA SVM

Рекурсивное устранение признаков с перекрёстной проверкой

Примеры использования FrozenEstimator

Отношения правдоподобия классов для измерения производительности классификации

Сравнение поиска по сетке и последовательного уменьшения

Кривая DET (Detection Error Tradeoff)

Итерации последовательного уменьшения

Иллюстрация анализа компонентов ближайших соседей

Изменение регуляризации в многослойном перцептроне

Дискретизация признаков

Масштабирование параметра регуляризации для SVC

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

Spec-Zone.ru

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