sklearn.cluster.AffinityPropagation

class sklearn.cluster.AffinityPropagation

Realizar el Conglomerado de Propagación de Afinidad (Affinity Propagation Clustering) de los datos.

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

Parámetros
dampingfloat, default=0.5

El factor de amortiguación o damping (entre 0.5 y 1) es el grado de mantenimiento del valor actual en relación con los valores entrantes (weighted 1 - damping). Esto con el fin de evitar oscilaciones numéricas al actualizar estos valores (mensajes).

max_iterint, default=200

Número máximo de iteraciones.

convergence_iterint, default=15

Número de iteraciones sin cambio en el número de conglomerados estimados que detiene la convergencia.

copybool, default=True

Hace una copia de los datos de entrada.

preferencearray-like de forma (n_samples,) or float, default=None

Preferencias para cada punto: los puntos con valores más altos de preferencias tienen más probabilidades de ser elegidos como ejemplares. El número de ejemplares, es decir, de conglomerados, está influenciado por el valor de las preferencias de entrada. Si las preferencias no se pasan como argumentos, se fijarán en la mediana de las similitudes de entrada.

affinity{“euclidean”, “precomputed”}, default=”euclidean”

¿Qué afinidad utilizar? Por el momento se admiten precomputed y euclidean. euclidean utiliza la distancia euclidiana cuadrática negativa entre puntos.

verbosebool, default=False

Si debe ser verboso.

random_stateentero, instancia de RandomState o None, default=0

Generador de números pseudoaleatorios para controlar el estado inicial. Utilice un int para obtener resultados reproducibles a través de las invocaciones de la función. Ver el Glosario.

Nuevo en la versión 0.23: este parámetro estaba previamente codificado como 0.

Atributos
cluster_centers_indices_ndarray de forma (n_clusters,)

Índice de centros de los conglomerados.

cluster_centers_ndarray de forma (n_clusters, n_features)

Centros de conglomerado (if affinity != precomputed).

labels_ndarray de forma (n_samples,)

Etiquetas de cada punto.

affinity_matrix_ndarray de forma (n_samples, n_samples)

Almacena la matriz de afinidad utilizada en fit.

n_iter_int

Número de iteraciones que se necesitan para converger.

Notas

Por ejemplo, ver examples/cluster/plot_affinity_propagation.py.

La complejidad algorítmica de la propagación de afinidad es cuadrática en el número de puntos.

Cuando fit no converge, cluster_centers_ se convierte en un arreglo vacío y todas las muestras de entrenamiento serán etiquetadas como -1. Además, predict etiquetará todas las muestras como -1.

Cuando todas las muestras de entrenamiento tienen similitudes iguales y preferencias iguales, la asignación de los centros de conglomerado y las etiquetas depende de la preferencia. Si la preferencia es menor que las similitudes, fit dará como resultado un único centro de conglomerado y una etiqueta 0 para cada muestra. En caso contrario, cada muestra de entrenamiento se convierte en su propio centro de conglomerado y se le asigna una etiqueta única.

Referencias

Brendan J. Frey and Delbert Dueck, «Clustering by Passing Messages Between Data Points», Science Feb. 2007

Ejemplos

>>> from sklearn.cluster import AffinityPropagation
>>> import numpy as np
>>> X = np.array([[1, 2], [1, 4], [1, 0],
...               [4, 2], [4, 4], [4, 0]])
>>> clustering = AffinityPropagation(random_state=5).fit(X)
>>> clustering
AffinityPropagation(random_state=5)
>>> clustering.labels_
array([0, 0, 0, 1, 1, 1])
>>> clustering.predict([[0, 0], [4, 4]])
array([0, 1])
>>> clustering.cluster_centers_
array([[1, 2],
       [4, 2]])

Métodos

fit

Ajusta el conglomerado a partir de características, o matriz de afinidad.

fit_predict

Ajusta el conglomerado a partir de las características o la matriz de afinidad, y devuelve las etiquetas de los conglomerados.

get_params

Obtiene los parámetros para este estimador.

predict

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

set_params

Establece los parámetros de este estimador.

fit()

Ajusta el conglomerado a partir de características, o matriz de afinidad.

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

Instancias de entrenamiento para conglomerar, o similitudes / afinidades entre instancias si affinity='precomputed'. Si se proporciona una matriz de características dispersa, se convertirá en una matriz dispersa csr_matrix.

yIgnorado

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

Devuelve
self
fit_predict()

Ajusta el conglomerado a partir de las características o la matriz de afinidad, y devuelve las etiquetas de los conglomerados.

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

Instancias de entrenamiento para conglomerar, o similitudes / afinidades entre instancias si affinity='precomputed'. Si se proporciona una matriz de características dispersa, se convertirá en una matriz dispersa csr_matrix.

yIgnorado

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

Devuelve
labelsndarray de forma (n_samples,)

Etiquetas de conglomerado.

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.

predict()

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

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

Nuevos datos a predecir. Si se proporciona una matriz dispersa, se convertirá en una matriz dispersa csr_matrix.

Devuelve
labelsndarray de forma (n_samples,)

Etiquetas de conglomerado.

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
selfinstancia del estimador

Instancia del estimador.