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.