sklearn.cluster
.AgglomerativeClustering¶
- class sklearn.cluster.AgglomerativeClustering¶
Conglomerado Aglomerativo (Agglomerative Clustering)
Fusiona recursivamente el par de conglomerados que aumenta mínimamente una determinada distancia de enlazamiento (linkage distance).
Más información en el Manual de usuario.
- Parámetros
- n_clustersentero o None, default=2
El número de conglomerados a encontrar. Debe ser
None
sidistance_threshold
no esNone
.- affinitycadena de caracteres o invocable, default=”euclidean”
Métrica utilizada para calcular el enlazamiento. Puede ser «euclidean», «l1», «l2», «manhattan», «cosine», o «precomputed». Si linkage es «ward», sólo se acepta «euclidean». Si es «precomputed», se necesita una matriz de distancias (en lugar de una matriz de similitud) como entrada para el método fit.
- memorycadena u objeto con interfaz joblib.Memory, default=None
Se utiliza para almacenar en caché la salida del cálculo del árbol. Por defecto, no se realiza ningún almacenamiento en caché. Si se proporciona una cadena, debe ser la ruta de acceso al directorio de almacenamiento en caché.
- connectivityarray-like o invocable, default=None
Matriz de conectividad. Define para cada muestra las muestras vecinas siguiendo una estructura dada de los datos. Puede ser una matriz de conectividad en sí misma o un invocable que transforme los datos en una matriz de conectividad, como la derivada de kneighbors_graph. Por defecto es
None
, es decir, el algoritmo de conglomerado jerárquico no está estructurado.- compute_full_tree“auto” o booleano, default=”auto”
Detiene anticipadamente la construcción del árbol en
n_clusters
. Esto es útil para disminuir el tiempo de cálculo si el número de conglomerados no es pequeño comparado con el número de muestras. Esta opción sólo es útil cuando se especifica una matriz de conectividad. Hay que tener en cuenta también que cuando se varía el número de conglomerados y se utiliza la caché, puede ser favorable calcular el árbol completo. Debe serTrue
sidistance_threshold
no esNone
. Por defectocompute_full_tree
es «auto», lo que equivale aTrue
cuandodistance_threshold
no esNone
o quen_clusters
es inferior al máximo entre 100 o0.02 * n_samples
. En caso contrario, «auto» equivale aFalse
.- linkage{“ward”, “complete”, “average”, “single”}, default=”ward”
Indica qué criterio de enlazamiento (linkage) utilizar. El criterio de enlazamiento determina la distancia a utilizar entre los conjuntos de observación. El algoritmo fusionará los pares de conglomerados que minimicen este criterio.
“ward” minimiza la varianza de los conglomerados que se fusionan.
“average” utiliza la media de las distancias de cada observación de los dos conjuntos.
El enlazamiento “complete” o “maximum” utiliza las distancias máximas entre todas las observaciones de los dos conjuntos.
“simple” utiliza el mínimo de las distancias entre todas las observaciones de los dos conjuntos.
Nuevo en la versión 0.20: Se agregó la opción “single”
- distance_thresholdfloat, default=None
El umbral de distancia de enlazamiento por encima del cual, los conglomerados no se fusionarán. Si no es
None
,n_clusters
debe serNone
ycompute_full_tree
debe serTrue
.Nuevo en la versión 0.21.
- compute_distancesbool, default=False
Calcula las distancias entre conglomerados incluso si no se utiliza
distance_threshold
. Esto se puede utilizar para hacer la visualización del dendrograma, pero introduce una sobrecarga computacional y de memoria.Nuevo en la versión 0.24.
- Atributos
- n_clusters_int
El número de conglomerados encontrados por el algoritmo. Si
distance_threshold=None
, será igual aln_clusters
proporcionado.- labels_ndarray de forma (n_samples)
etiquetas de conglomerado para cada punto
- n_leaves_int
Número de hojas en el árbol jerárquico.
- n_connected_components_int
El número estimado de componentes conectados en el grafo.
Nuevo en la versión 0.21:
n_connected_components_
fue agregado para reemplazarn_components_
.- children_array-like de forma (n_samples-1, 2)
Los hijos de cada nodo que no es hoja. Los valores inferiores a
n_samples
corresponden a las hojas del árbol que son las muestras originales. Un nodoi
mayor o igual quen_samples
es un nodo no hoja y tiene hijoschildren_[i - n_samples]
. Como alternativa, en la iteración i-ésima, los children[i][0] y los children[i][1] se fusionan para formar el nodon_samples + i
- distances_array-like de forma (n_nodes-1,)
Distancias entre nodos en el lugar correspondiente en
children_
. Sólo se calcula si se utilizadistance_threshold
o sicompute_distances
se configura comoTrue
.
Ejemplos
>>> from sklearn.cluster import AgglomerativeClustering >>> import numpy as np >>> X = np.array([[1, 2], [1, 4], [1, 0], ... [4, 2], [4, 4], [4, 0]]) >>> clustering = AgglomerativeClustering().fit(X) >>> clustering AgglomerativeClustering() >>> clustering.labels_ array([1, 1, 1, 0, 0, 0])
Métodos
Ajusta el conglomerado jerárquico a partir de características o matriz de distancia.
Ajusta el conglomerado jerárquico a partir de las características o la matriz de distancia, y devuelve las etiquetas de los conglomerados.
Obtiene los parámetros para este estimador.
Establece los parámetros de este estimador.
- fit()¶
Ajusta el conglomerado jerárquico a partir de características o matriz de distancia.
- Parámetros
- Xarray-like, forma (n_samples, n_features) o (n_samples, n_samples)
Instancias de entrenamiento para el conglomerado, o distancias entre instancias si
affinity='precomputed'
.- yIgnorado
No se utiliza, se presenta aquí para la coherencia de la API por convención.
- Devuelve
- self
- fit_predict()¶
Ajusta el conglomerado jerárquico a partir de las características o la matriz de distancia, y devuelve las etiquetas de los conglomerados.
- Parámetros
- Xarray-like de forma (n_samples, n_features) o (n_samples, n_samples)
Instancias de entrenamiento para el conglomerado, o distancias entre instancias si
affinity='precomputed'
.- 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.
- 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.