sklearn.datasets.make_classification

sklearn.datasets.make_classification()

Genera un problema de clasificación aleatoria de n-clases.

Esto crea inicialmente conglomerados de puntos normalmente distribuidos (std=1) sobre los vértices de un hipercubo n_informative-dimensional con lados de longitud 2*class_sep y asigna un número igual de conglomerados a cada clase. Introduce la interdependencia entre estas características y añade varios tipos de ruido adicional a los datos.

Sin revolver, X apila horizontalmente las características en el siguiente orden: las n_informative características primarias, seguidas de las n_redundant combinaciones lineales de las características informativas, seguidas de los n_repeated duplicados, extraídos aleatoriamente con reemplazo de las características informativas y redundantes. Las características restantes se rellenan con ruido aleatorio. Así, sin revolver, todas las características útiles están contenidas en las columnas X[:, :n_informative + n_redundant + n_repeated].

Leer más en el Manual de Usuario.

Parámetros
n_samplesint, default=100

El número de muestras.

n_featuresint, default=20

El número total de características. Estas comprenden n_informative características informativas, n_redundant características redundantes, n_repeated características duplicadas y n_features-n_informative-n_redundant-n_repeated características inútiles extraídas al azar.

n_informativeint, default=2

El número de características informativas. Cada clase se compone de un número de conglomerados gaussianos, cada uno de ellos situado en torno a los vértices de un hipercubo en un subespacio de dimensión n_informativa. Para cada conglomerado, las características informativas se extraen de forma independiente de N(0, 1) y luego se combinan aleatoriamente de forma lineal dentro de cada conglomerado para añadir covarianza. A continuación, los conglomerados se colocan en los vértices del hipercubo.

n_redundantint, default=2

El número de características redundantes. Estas características se generan como combinaciones lineales aleatorias de las características informativas.

n_repeatedint, default=0

El número de características duplicadas, extraídas aleatoriamente de las características informativas y redundantes.

n_classesint, default=2

El número de clases (o etiquetas) del problema de clasificación.

n_clusters_per_classint, default=2

El número de conglomerados por clase.

weightsarray-like de forma (n_classes,) o (n_classes - 1,), default=None

La proporción de muestras asignadas a cada clase. Si es None, las clases están balanceadas. Ten en cuenta que si len(weights) == n_classes - 1, entonces se infiere automáticamente la ponderación de la última clase. Se pueden devolver más de n_samples muestras si la suma de weights es superior a 1. Ten en cuenta que las proporciones reales de las clases no coincidirán exactamente con weights cuando flip_y no sea 0.

flip_yfloat, default=0.01

La fracción de muestras cuya clase se asigna aleatoriamente. Los valores más grandes introducen ruido en las etiquetas y dificultan la tarea de clasificación. Ten en cuenta que la configuración por defecto flip_y > 0 podría conducir a menos de n_classes en y en algunos casos.

class_sepfloat, default=1.0

El factor que multiplica el tamaño del hipercubo. Los valores más grandes reparten los conglomerados/clases y facilitan la tarea de clasificación.

hypercubebool, default=True

Si es True, los conglomerados se colocan en los vértices de un hipercubo. Si es False, los conglomerados se colocan en los vértices de un politopo aleatorio.

shiftfloat, ndarray de forma (n_features,) o None, default=0.0

Desplaza las características por el valor especificado. Si es None, las características se desplazan por un valor aleatorio extraído en [-class_sep, class_sep].

scalefloat, ndarray de forma (n_features,) o None, default=1.0

Multiplica las características por el valor especificado. Si es None, entonces las características son escaladas por un valor aleatorio extraído en [1, 100]. Ten en cuenta que el escalamiento se produce después del desplazamiento.

shufflebool, default=True

Mezcla las muestras y las características.

random_stateentero, instancia de RandomState o None, default=None

Determina la generación de números aleatorios para la creación de conjuntos de datos. Pasa un int para una salida reproducible a través de múltiples llamadas a la función. Ver Glosario.

Devuelve
Xndarray de forma (n_samples, n_features)

Las muestras generadas.

yndarray de forma (n_samples,)

Las etiquetas enteras para la pertenencia a la clase de cada muestra.

Ver también

make_blobs

Variante simplificada.

make_multilabel_classification

Generador no relacionado con las tareas de multietiqueta.

Notas

El algoritmo es una adaptación a partir de Guyon [1] y fue diseñado para generar el conjunto de datos «Madelon».

Referencias

1

I. Guyon, «Design of experiments for the NIPS 2003 variable selection benchmark», 2003.

Ejemplos usando sklearn.datasets.make_classification