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, return_X_y=True)[исходный код]

Создаёт случайную задачу классификации на 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

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

weightsмассивоподобный объект формы (n_classes,) или (n_classes - 1,), по умолчанию=None

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

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

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

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

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

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

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

shiftfloat, ndarray формы (n_features,) или None, по умолчанию=0.0

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

scalefloat, ndarray формы (n_features,) или None, по умолчанию=1.0

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

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

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

random_stateint, экземпляр RandomState или None, по умолчанию=None

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

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

Если True, возвращается кортеж (X, y) вместо объекта Bunch.

Добавлено в версии 1.7.

Возвращает:
dataBunch, если return_X_y равно False.

Объект, похожий на словарь, со следующими атрибутами.

DESCRstr

Описание функции, которая сгенерировала набор данных.

parameterdict

Словарь, содержащий значения аргументов, переданных функции-генератору.

feature_infolist of len(n_features)

Описание каждого сгенерированного признака.

Xndarray формы (n_samples, n_features)

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

yndarray формы (n_samples,)

Целочисленная метка класса для каждого образца.

Добавлено в версии 1.7.

(X, y)кортеж, если return_X_y равно True

Кортеж сгенерированных образцов и меток.

См. также

make_blobs

Упрощённый вариант.

make_multilabel_classification

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

Примечания

Алгоритм адаптирован по работе Гийона [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)]

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

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

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

Анализ сходимости моделей логистической регрессии с регуляризацией

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

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

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

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

Конвейер ANOVA SVM

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

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

Оценка качества классификатора с помощью матрицы ошибок

Кривая компромисса ошибок обнаружения (DET)

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

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

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

Иллюстрация анализа компонентов окрестности

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

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

Основные нововведения scikit-learn 0.22

Основные нововведения scikit-learn 0.24

Основные нововведения scikit-learn 1.3

Основные нововведения scikit-learn 1.5

Основные нововведения scikit-learn 1.6

Основные нововведения scikit-learn 1.7

Основные нововведения scikit-learn 1.8

Основные нововведения scikit-learn 1.9

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

SVM: образцы с весами

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

Spec-Zone.ru

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