sklearn.cluster.affinity_propagation

sklearn.cluster.affinity_propagation()

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

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

Parámetros
Sarray-like de forma (n_samples, n_samples)

Matriz de similitudes entre puntos.

preferencearray-like de forma (n_samples,) o 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 (clusters), 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 (lo que resulta en un número moderado de conglomerados). Para un número menor de conglomerados, se puede establecer el valor mínimo de las similitudes.

convergence_iterint, default=15

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

max_iterint, default=200

Número máximo de iteraciones

dampingfloat, default=0.5

Factor de amortiguación entre 0.5 y 1.

copybool, default=True

Si copy es False, la matriz de afinidad es modificada in place por el algoritmo, por razones de eficiencia de memoria.

verbosebool, default=False

Nivel de verbosidad.

return_n_iterbool, default=False

Devolver o no el número de iteraciones.

random_stateentero, instancia de RandomState o None, default=0

Generador de números pseudoaleatorios para controlar el estado inicial. Utiliza 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.

Devuelve
cluster_centers_indicesndarray de forma (n_clusters,)

Índice de centros de los conglomerados.

labelsndarray de forma (n_samples,)

Etiquetas de conglomerado para cada punto.

n_iterint

Número de iteraciones ejecutadas. Se devuelve sólo si return_n_iter se establece como True.

Notas

Para un ejemplo, ver examples/cluster/plot_affinity_propagation.py.

Cuando el algoritmo no converge, devuelve un arreglo vacío como cluster_center_indices y -1 como etiqueta para cada muestra de entrenamiento.

Cuando todas las muestras de entrenamiento tienen las mismas similitudes y las mismas preferencias, la asignación de los centros de conglomerados y las etiquetas depende de la preferencia. Si la preferencia es menor que las similitudes, se obtendrá 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 usando sklearn.cluster.affinity_propagation