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