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 longitud2*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: lasn_informative
características primarias, seguidas de lasn_redundant
combinaciones lineales de las características informativas, seguidas de losn_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 columnasX[:, :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 yn_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 den_samples
muestras si la suma deweights
es superior a 1. Ten en cuenta que las proporciones reales de las clases no coincidirán exactamente conweights
cuandoflip_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.