sklearn.cluster
.FeatureAgglomeration¶
- class sklearn.cluster.FeatureAgglomeration¶
Aglomerar características.
Similar a AgglomerativeClustering, pero fusiona recursivamente características en lugar de muestras.
Más información en el Manual de usuario.
- Parámetros
- n_clustersint, default=2
El número de conglomerados a encontrar. Debe ser
None
sidistance_threshold
no esNone
.- affinitycadena 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».
- 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 da una cadena, es la ruta del directorio de almacenamiento en caché.
- connectivityarray-like o invocable, default=None
Matriz de conectividad. Define para cada característica las características de vecindario siguiendo una estructura dada de los datos. Puede ser una matriz de conectividad en sí misma o una llamada 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”
Detener 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 en comparación con el número de características. Esta opción sólo es útil cuando se especifica una matriz de conectividad. Ten en cuenta también que cuando se varía el número de conglomerados y se utiliza el caché, puede ser ventajoso calcular el árbol completo. Debe ser
True
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”
Qué criterio de enlazamiento utilizar. El criterio de enlazamiento determina la distancia que debe utilizarse entre los conjuntos de características. 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 característica de los dos conjuntos.
el enlazamiento completo o máximo utiliza las distancias máximas entre todas las características de los dos conjuntos.
single utiliza el mínimo de las distancias entre todas las observaciones de los dos conjuntos.
- pooling_funcinvocable, default=np.mean
Esto combina los valores de las características aglomeradas en un solo valor, y debe aceptar un arreglo de forma [M, N] y el argumento de palabra clave
axis=1
, y reducirlo a un arreglo de tamaño [M].- 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 los 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_array-like de (n_features,)
etiquetas de conglomerado para cada característica.
- 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_nodes-1, 2)
Los hijos de cada nodo que no es hoja. Los valores inferiores a
n_features
corresponden a las hojas del árbol que son las muestras originales. Un nodoi
mayor o igual quen_features
es un nodo no hoja y tiene hijoschildren_[i - n_features]
. Como alternativa, en la iteración i, children[i][0] y children[i][1] se fusionan para formar el nodon_features + 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 establece comoTrue
.
Ejemplos
>>> import numpy as np >>> from sklearn import datasets, cluster >>> digits = datasets.load_digits() >>> images = digits.images >>> X = np.reshape(images, (len(images), -1)) >>> agglo = cluster.FeatureAgglomeration(n_clusters=32) >>> agglo.fit(X) FeatureAgglomeration(n_clusters=32) >>> X_reduced = agglo.transform(X) >>> X_reduced.shape (1797, 32)
Métodos
Ajustar el conglomerado jerárquico en los datos
Ajustar a los datos y luego se transforman.
Obtiene los parámetros para este estimador.
Invierte la transformación.
Establece los parámetros de este estimador.
Transformar una nueva matriz utilizando el agrupamiento construido
- fit()¶
Ajustar el conglomerado jerárquico en los datos
- Parámetros
- Xarray-like de forma (n_samples, n_features)
Los datos
- yIgnorado
- Devuelve
- self
- property 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.
- fit_transform()¶
Ajustar a los datos y luego se transforman.
Ajusta el transformador a
X
ey
con los parámetros opcionalesfit_params
y devuelve una versión transformada deX
.- Parámetros
- Xarray-like de forma (n_samples, n_features)
Muestras de entrada.
- yarray-like de forma (n_samples,) o (n_samples, n_outputs), default=None
Valores objetivo (Target values). Se usa None para las transformaciones no supervisadas.
- **fit_paramsdict
Parámetros de ajuste adicionales.
- Devuelve
- X_newarreglo ndarray de forma (n_samples, n_features_new)
Arreglo transformado.
- 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.
- inverse_transform()¶
Invierte la transformación. Devuelve un vector de tamaño nb_features con los valores de Xred asignados a cada grupo de características
- Parámetros
- Xredarray-like de forma (n_samples, n_clusters) o (n_clusters,)
Los valores a asignar a cada conglomerado de muestras
- Devuelve
- Xndarray de forma (n_samples, n_features) o (n_features,)
Un vector de tamaño n_samples con los valores de Xred asignados a cada conglomerado de muestras.
- 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.
- transform()¶
Transformar una nueva matriz utilizando el agrupamiento construido
- Parámetros
- Xarray-like de forma (n_samples, n_features) o (n_samples,)
Un arreglo M por N de M observaciones en N dimensiones o una matriz de longitud M de M observaciones unidimensionales.
- Devuelve
- Yndarray de forma (n_samples, n_clusters) o (n_clusters,)
Los valores agrupados para cada conglomerado de características.