sklearn.cluster.MiniBatchKMeans

class sklearn.cluster.MiniBatchKMeans

Agrupamiento por K-Medias en mini lotes.

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

Parámetros
n_clustersint, default=8

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

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 la agrupación k-mean de forma inteligente para acelerar la convergencia. Consulta 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.

max_iterint, default=100

Número máximo de iteraciones sobre el conjunto de datos completo antes de parar, independientemente de cualquier heurística de criterio de parada anticipada.

batch_sizeint, default=100

Tamaño de los mini lotes.

verboseint, default=0

Modo de Verbosidad.

compute_labelsbool, default=True

Calcule la asignación de etiquetas y la inercia para el conjunto de datos completo una vez que la optimización de minilotes haya convergido en el ajuste.

random_stateentero, instancia de RandomState o None, default=None

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

tolfloat, default=0.0

Controlar la parada anticipada basándose en los cambios de centro relativos medidos por una varianza normalizada y suavizada de los cambios de posición media del centro al cuadrado. Esta heurística de parada anticipada se aproxima más a la utilizada en la variante por lotes de los algoritmos, pero induce una ligera carga computacional y de memoria sobre la heurística de inercia.

Para desactivar la detección de convergencia basada en el cambio de centro normalizado, establezca tol en 0,0 (predeterminado).

max_no_improvementint, default=10

Controlar la parada anticipada en función del número consecutivo de minilotes que no produce una mejora en la inercia suavizada.

Para desactivar la detección de convergencia basada en la inercia, establece max_no_improvement como None.

init_sizeint, default=None

Número de muestras a muestrear aleatoriamente para acelerar la inicialización (a veces a expensas de la precisión): el único algoritmo se inicializa ejecutando un KMeans por lotes en un subconjunto aleatorio de los datos. Esto tiene que ser mayor que n_clusters.

If None, init_size= 3 * batch_size.

n_initint, default=3

Número de inicializaciones aleatorias que se prueban. A diferencia de KMeans, el algoritmo sólo se ejecuta una vez, utilizando la mejor de las inicializaciones n_init según la inercia.

reassignment_ratiofloat, default=0.01

Controla la fracción del número máximo de recuentos para que un centro sea reasignado. Un valor más alto significa que los centros de bajo recuento se reasignan más fácilmente, lo que significa que el modelo tardará más en converger, pero debería converger en una mejor agrupación.

Atributos
cluster_centers_ndarray de forma (n_clusters, n_features)

Coordenadas de los centros de conglomerado.

labels_int

Labels of each point (if compute_labels is set to True).

inertia_float

El valor del criterio de inercia asociado a la partición elegida (si compute_labels se establece como True). La inercia se define como la suma de las distancias cuadradas de las muestras a su vecino más cercano.

n_iter_int

Número de lotes procesados.

counts_ndarray de forma (n_clusters,)

Suma del peso de cada conglomerado.

Obsoleto desde la versión 0.24: Este atributo está obsoleto en 0.24 y se eliminará en 1.1 (cambio de nombre de 0.26).

init_size_int

El número efectivo de muestras utilizadas para la inicialización.

Obsoleto desde la versión 0.24: Este atributo está obsoleto en 0.24 y se eliminará en 1.1 (cambio de nombre de 0.26).

Ver también

KMeans

La implementación clásica del método de agrupamiento basado en el algoritmo de Lloyd. Consume todo el conjunto de datos de entrada en cada iteración.

Notas

Visita https://www.eecs.tufts.edu/~dsculley/papers/fastkmeans.pdf

Ejemplos

>>> from sklearn.cluster import MiniBatchKMeans
>>> import numpy as np
>>> X = np.array([[1, 2], [1, 4], [1, 0],
...               [4, 2], [4, 0], [4, 4],
...               [4, 5], [0, 1], [2, 2],
...               [3, 2], [5, 5], [1, -1]])
>>> # manually fit on batches
>>> kmeans = MiniBatchKMeans(n_clusters=2,
...                          random_state=0,
...                          batch_size=6)
>>> kmeans = kmeans.partial_fit(X[0:6,:])
>>> kmeans = kmeans.partial_fit(X[6:12,:])
>>> kmeans.cluster_centers_
array([[2. , 1. ],
       [3.5, 4.5]])
>>> kmeans.predict([[0, 0], [4, 4]])
array([0, 1], dtype=int32)
>>> # fit on the whole data
>>> kmeans = MiniBatchKMeans(n_clusters=2,
...                          random_state=0,
...                          batch_size=6,
...                          max_iter=10).fit(X)
>>> kmeans.cluster_centers_
array([[3.95918367, 2.40816327],
       [1.12195122, 1.3902439 ]])
>>> kmeans.predict([[0, 0], [4, 4]])
array([1, 0], dtype=int32)

Métodos

fit

Calcula los centroides en X dividiéndolo en minilotes.

fit_predict

Calcula los centros de los conglomerados y predice el índice de conglomerados para cada muestra.

fit_transform

Calcula la agrupación y transforme X en un espacio de distancia de agrupación.

get_params

Obtiene los parámetros para este estimador.

partial_fit

Actualiza la estimación de k medias en un solo mini lote X.

predict

Predice el conglomerado más cercano al que pertenece cada muestra en X.

score

Opuesto al valor de X en el objetivo de K-medias.

set_params

Establece los parámetros de este estimador.

transform

Transformar X en un espacio de distancia de conglomerado.

fit()

Calcula los centroides en X dividiéndolo en minilotes.

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

Instancias de entrenamiento para agrupar. 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 C-contiguous.

yIgnorado

No se utiliza, se presenta aquí por coherencia de la API por convención.

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 (default: None).

Nuevo en la versión 0.20.

Devuelve
self
fit_predict()

Calcula los centros de los conglomerados y predice el índice de conglomerados para cada muestra.

Método de conveniencia; equivalente a llamar a fit(X) seguido de predict(X).

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

Nuevos datos a transformar.

yIgnorado

No se utiliza, se presenta aquí por coherencia de la API por convención.

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.

Devuelve
labelsndarray de forma (n_samples,)

Índice del conglomerado al que pertenece cada muestra.

fit_transform()

Calcula la agrupación y transforme X en un espacio de distancia de agrupación.

Equivalente a fit(X).transform(X), pero implementado de forma más eficiente.

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

Nuevos datos a transformar.

yIgnorado

No se utiliza, se presenta aquí por coherencia de la API por convención.

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.

Devuelve
X_newndarray de forma (n_samples, n_clusters)

X transformado en el nuevo espacio.

get_params()

Obtiene los parámetros para este estimador.

Parámetros
deepbool, default=True

Si es True, devolverá los parámetros para este estimador y los subobjetos contenidos que son estimadores.

Devuelve
paramsdict

Nombres de parámetros asignados a sus valores.

partial_fit()

Actualiza la estimación de k medias en un solo mini lote X.

Parámetros
Xarray-like de forma (n_samples, n_features)

Coordenadas de los puntos de datos a conglomerados. Debe tenerse en cuenta que X será copiado si no es C-contiguous.

yIgnorado

No se utiliza, se presenta aquí por coherencia de la API por convención.

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 (default: None).

Devuelve
self
predict()

Predice el conglomerado más cercano al que pertenece cada muestra en X.

En la literatura de cuantificación vectorial, cluster_centers_ se denomina libro de códigos y cada valor devuelto por predict es el índice del código más cercano en el libro de códigos.

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

Nuevos datos a predecir.

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 (default: None).

Devuelve
labelsndarray de forma (n_samples,)

Índice del conglomerado al que pertenece cada muestra.

score()

Opuesto al valor de X en el objetivo de K-medias.

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

Nuevos datos.

yIgnorado

No se utiliza, se presenta aquí por coherencia de la API por convención.

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.

Devuelve
scorefloat

Opuesto al valor de X en el objetivo de K-medias.

set_params()

Establece los parámetros de este estimador.

El método funciona tanto en estimadores simples como en objetos anidados (como Pipeline). Estos últimos tienen parámetros de la forma <component>__<parameter> para que sea posible actualizar cada componente de un objeto anidado.

Parámetros
**paramsdict

Parámetros del estimador.

Devuelve
selfestimator instance

Instancia del estimador.

transform()

Transformar X en un espacio de distancia de conglomerado.

En el nuevo espacio, cada dimensión es la distancia a los centros de conglomerado. Ten en cuenta que incluso si X es disperso, el arreglo devuelto por transform normalmente será denso.

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

Nuevos datos a transformar.

Devuelve
X_newndarray de forma (n_samples, n_clusters)

X transformado en el nuevo espacio.

Ejemplos usando sklearn.cluster.MiniBatchKMeans