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 si distance_threshold no es None.

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 si distance_threshold no es None. Por defecto compute_full_tree es «auto», lo que equivale a True cuando distance_threshold no es None o que n_clusters es inferior al máximo entre 100 o 0.02 * n_samples. En caso contrario, «auto» equivale a False.

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 ser None y compute_full_tree debe ser True.

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 al n_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 reemplazar n_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 nodo i mayor o igual que n_features es un nodo no hoja y tiene hijos children_[i - n_features]. Como alternativa, en la iteración i, children[i][0] y children[i][1] se fusionan para formar el nodo n_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 utiliza distance_threshold o si compute_distances se establece como True.

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

fit

Ajustar el conglomerado jerárquico en los datos

fit_transform

Ajustar a los datos y luego se transforman.

get_params

Obtiene los parámetros para este estimador.

inverse_transform

Invierte la transformación.

set_params

Establece los parámetros de este estimador.

transform

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 e y con los parámetros opcionales fit_params y devuelve una versión transformada de X.

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.