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
yeuclidean
.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 etiqueta0
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
Ajusta el conglomerado a partir de características, o matriz de afinidad.
Ajusta el conglomerado a partir de las características o la matriz de afinidad, y devuelve las etiquetas de los conglomerados.
Obtiene los parámetros para este estimador.
Predice el conglomerado más cercano al que pertenece cada muestra en X.
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 dispersacsr_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 dispersacsr_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.