sklearn.cluster.k_means

sklearn.cluster.k_means()

Algoritmo de conglomerado de K-medias.

Más información en el Manual de usuario.

Parámetros
X{array-like, sparse matrix} de forma (n_samples, n_features)

Las observaciones a agrupar (cluster). Hay que tener en cuenta que los datos se convertirán a la ordenación C, lo que provocará una copia de memoria si los datos dados no son contiguos a C (C-contiguous).

n_clustersint

El número de conglomerados a formar así como el número de centroides a generar.

sample_weightarray-like de forma (n_samples,), default=None

Los pesos de cada observación en X. Si es None, se asigna a todas las observaciones el mismo peso.

init{“k-means++”, “random”}, callable o array-like de forma (n_clusters, n_features), default=”k-means++”

Método de inicialización:

“k-means++” : selecciona los centros de conglomerados iniciales para el análisis de conglomerados de k-medias de forma inteligente para acelerar la convergencia. Ver la sección Notas en k_init para más detalles.

“random”: elige observaciones (filas) n_clusters al azar de los datos para los centroides iniciales.

Si se pasa un arreglo, debe tener la forma (n_clusters, n_features) y da los centros iniciales.

Si se pasa un invocable, debe tomar los argumentos X, n_clusters y un estado aleatorio y devolver una inicialización.

precompute_distances{“auto”, True, False}

Precomputa las distancias (más rápido, pero requiere más memoria).

“auto” : no precalcula las distancias si n_samples * n_clusters > 12 millones. Esto corresponde a unos 100 Mb de sobrecarga por trabajo utilizando la doble precisión.

True: precalcular siempre las distancias

False : nunca precalcula las distancias

Obsoleto desde la versión 0.23: “precompute_distances” quedó obsoleto en la versión 0.23 y se eliminará en la 1.0 (cambio de nombre de la 0.25). No tiene ningún efecto.

n_initint, default=10

Número de veces que se ejecutará el algoritmo k-medias con diferentes semillas de centroides. El resultado final será el mejor resultado de n_init ejecuciones consecutivas en términos de inercia.

max_iterint, default=300

Número máximo de iteraciones del algoritmo k-medias a ejecutar.

verbosebool, default=False

Modo de Verbosidad.

tolfloat, default=1e-4

Tolerancia relativa con respecto a la norma de Frobenius de la diferencia de los centros de conglomerado de dos iteraciones consecutivas para declarar la convergencia.

random_stateentero, instancia de RandomState o None, default=None

Determina la generación de números aleatorios para la inicialización del centroide. Utilice un int para que la aleatoriedad sea determinista. Consulta Glosario.

copy_xbool, default=True

Cuando se precalculan las distancias es más preciso numéricamente centrar los datos primero. Si copy_x es True (predeterminado), los datos originales no se modifican. Si es False, los datos originales se modifican, y se vuelven a poner antes de que la función finalice, pero se pueden introducir pequeñas diferencias numéricas al restar y luego sumar la media de los datos. Hay que tener en cuenta que si los datos originales no son contiguos a C (C-contiguous), se hará una copia incluso si copy_x es False. Si los datos originales son dispersos, pero no en formato CSR, se hará una copia aunque copy_x sea False.

n_jobsint, default=None

El número de hilos OpenMP a utilizar para el cálculo. El paralelismo es por muestras en el bucle principal de cython que asigna cada muestra a su centro más cercano.

None o -1 significa utilizar todos los procesadores.

Obsoleto desde la versión 0.23: n_jobs fue abandonado en la versión 0.23 y será eliminado en la 1.0 (cambio de nombre de la versión 0.25).

algorithm{«auto», «full», «elkan»}, default=»auto»

Algoritmo K-medias a utilizar. El algoritmo clásico de estilo EM es » full «. La variación «elkan» es más eficiente en datos con conglomerados bien definidos, al utilizar la desigualdad del triángulo. Sin embargo, es más intensivo en memoria debido a la asignación de un arreglo extra de forma (n_samples, n_clusters).

Por ahora «auto» (mantenido para la compatibilidad con versiones anteriores) elige «elkan» pero podría cambiar en el futuro para una mejor heurística.

return_n_iterbool, default=False

Devolver o no el número de iteraciones.

Devuelve
centroidndarray de forma (n_clusters, n_features)

Centroides encontrados en la última iteración de k-medias.

labelndarray de forma (n_samples,)

label[i] es el código o índice del centroides al que se acerca más la observación i-ésima.

inertiafloat

El valor final del criterio de inercia (suma de las distancias al cuadrado al centroide más cercano para todas las observaciones del conjunto de entrenamiento).

best_n_iterint

Número de iteraciones correspondientes a los mejores resultados. Se devuelve sólo si return_n_iter se establece como True.