Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

GapEvaluation

Paquete: clustering.evaluation
Superclases: clustering.evaluation.ClusterCriterion

Criterio de brecha objeto de evaluación de clustering

Descripción

es un objeto que consta de datos de ejemplo, datos de clustering y valores de criterio de separación utilizados para evaluar el número óptimo de clústeres.GapEvaluation Crear un criterio de separación clustering objeto de evaluación utilizando.evalclusters

Construcción

eva = evalclusters(x,clust,'Gap') crea un objeto de evaluación de clustering de criterio de separación.

eva = evalclusters(x,clust,'Gap',Name,Value) crea un criterio de separación clustering objeto de evaluación utilizando opciones adicionales especificadas por uno o más argumentos de par nombre-valor.

Argumentos de entrada

expandir todo

Datos de entrada, especificados como una-por-matriz. es el número de observaciones, y es el número de variables.NPNP

Tipos de datos: single | double

Algoritmo de clustering, especificado como uno de los siguientes.

'kmeans'Agruque los datos en el uso del algoritmo de clustering, con set to y set to.xkmeans'EmptyAction''singleton''Replicates'5
'linkage'Agruparse los datos en el uso del algoritmo de clustering aglomerativo, con set to.xclusterdata'Linkage''ward'
'gmdistribution'Agrupar los datos en el uso del algoritmo de distribución de mezcla gaussiana, con establecido y establecido en.xgmdistribution'SharedCov'true'Replicates'5

Si es, o, puede especificar un algoritmo de agrupación en clústeres mediante un.criterion'CalinskiHarabasz''DaviesBouldin''silhouette'identificador de función (MATLAB) La función debe ser del formulario, donde se agrupan los datos y es el número de clústeres.C = clustfun(DATA,K)DATAK La salida de debe ser una de las siguientes:clustfun

  • Vector de enteros que representa el índice del clúster para cada observación en.DATA Debe haber valores únicos en este vector.K

  • Una puntuación numérica por matriz para observaciones y clases.nKnK En este caso, el índice del clúster para cada observación se determina tomando el valor de puntuación más grande en cada fila.

Si es, o, también puede especificar como una matriz que contiene las soluciones de clustering propuestas. es el número de observaciones de los datos de ejemplo y es el número de soluciones de clustering propuestas.criterion'CalinskiHarabasz''DaviesBouldin''silhouette'clustnKnK Columna contiene los índices de clúster para cada uno de los puntos de la solución de clustering TH.jNj

Tipos de datos: single | double | char | string | function_handle

Argumentos de par nombre-valor

Especifique pares de argumentos separados por comas opcionales. es el nombre del argumento y es el valor correspondiente. deben aparecer dentro de las cotizaciones.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como.Name1,Value1,...,NameN,ValueN

Ejemplo: especifica para probar 1, 2, 3, 4 y 5 clústeres mediante la métrica de distancia de bloque de ciudad.'KList',[1:5],'Distance','cityblock'

Número de conjuntos de datos de referencia generados a partir de la distribución de referencia, especificados como el par separado por comas y que consta de un valor entero positivo.ReferenceDistribution'B'

Ejemplo: 'B',150

Tipos de datos: single | double

Métrica de distancia utilizada para calcular los valores de los criterios, especificado como el par separado por comas y que consta de uno de los siguientes.'Distance'

'sqEuclidean'Distancia euclidiana cuadrada
'Euclidean'Distancia euclidiana
'cityblock'Suma de las diferencias absolutas
'cosine'Uno menos el coseno del ángulo incluido entre los puntos (tratado como vectores)
'correlation'Uno menos la correlación de muestra entre puntos (tratado como secuencias de valores)

Para obtener información detallada sobre cada métrica de distancia, consulte.pdist

También puede especificar una función para la métrica de distancia mediante un.identificador de función (MATLAB) La función de distancia debe ser de la forma donde se encuentra un 1 por vector correspondiente a una sola fila de la matriz de entrada, y es un

d2 = distfun(XI,XJ),
XInXXJm2-by-Matrix correspondiente a varias filas de. debe devolver unnXdistfunm2-por-1 vector de distancias, cuyo elemento TH es la distancia entre y.d2kXIXJ(k,:)

solo acepta un identificador de función si el algoritmo de clustering acepta un identificador de función como la métrica de distancia.Distanceclust Por ejemplo, el algoritmo de clustering no acepta un identificador de función como la métrica de distancia.kmeans Por lo tanto, si utiliza el algoritmo y, a continuación, especifica un identificador de función para, los errores de software.kmeansDistance

  • Cuando es o, utiliza la métrica de distancia especificada para agrupar los datos.clust'kmeans''gmdistribution'evalclustersDistance

  • Si es, y es o bien, entonces el algoritmo de clustering utiliza la distancia euclidiana y el enlace Ward.clust'linkage'Distance'sqEuclidean''Euclidean'

  • Si es y es cualquier otra métrica, el algoritmo de clustering utiliza la métrica de distancia especificada y la vinculación media.clust'linkage'Distance

  • En todos los demás casos, la métrica de distancia especificada para debe coincidir con la métrica de distancia utilizada en el algoritmo de agrupación en clústeres para obtener resultados significativos.Distance

Ejemplo: 'Distance','Euclidean'

Tipos de datos: single | double | char | string | function_handle

Lista del número de clústeres que se evalúan, especificado como el par separado por comas que consta de un vector de valores enteros positivos.'KList' Debe especificar Cuándo es un nombre de algoritmo de agrupación en clústeres o un identificador de función.KListclust Cuando sea, debe ser un vector de caracteres, un escalar de cadena o un identificador de función, y debe especificar.criterion'gap'clustKList

Ejemplo: 'KList',[1:6]

Tipos de datos: single | double

Método de generación de datos de referencia, especificado como el par separado por comas que consta de y uno de los siguientes.'ReferenceDistributions'

'PCA'Genere datos de referencia a partir de una distribución uniforme sobre un cuadro alineado con los componentes principales de la matriz de datos.x
'uniform'Genere datos de referencia uniformemente sobre el rango de cada entidad en la matriz de datos.x

Ejemplo: 'ReferenceDistribution','uniform'

Método para seleccionar el número óptimo de clústeres, especificado como el par separado por comas que consta de y uno de los siguientes.'SearchMethod'

'globalMaxSE'

Evalúe cada número de clústeres propuesto y seleccione el número más pequeño de clústeres que satisfaganKList

Gap(K)GAPMAXSE(GAPMAX),

donde está el número de clústeres, Gap () es el valor de brecha para la solución de clustering con clústeres, es el valor de brecha más grande, y se () es el error estándar que corresponde al mayor valor de brecha.KKKGAPMAXGAPMAX

'firstMaxSE'

Evalúe cada número de clústeres propuesto y seleccione el número más pequeño de clústeres que satisfaganKList

Gap(K)Gap(K+1)SE(K+1),

donde está el número de clústeres, Gap () es el valor de brecha para la solución de clustering con clústeres, y se (+ 1) es el error estándar de la solución de clustering con + 1 clústeres.KKKKK

Ejemplo: 'SearchMethod','globalMaxSE'

Propiedades

B

Número de conjuntos de datos generados a partir de la distribución de referencia, almacenados como un valor entero positivo.

ClusteringFunction

Algoritmo de clustering utilizado para agrupar los datos de entrada, almacenados como un identificador de función o nombre de algoritmo de clustering válido. Si las soluciones de clustering se proporcionan en la entrada, está vacía.ClusteringFunction

CriterionName

Nombre del criterio utilizado para la evaluación de clustering, almacenado como un nombre de criterio válido.

CriterionValues

Valores de criterio correspondientes a cada número propuesto de clústeres, almacenados como un vector de valores numéricos.InspectedK

Distance

Métrica de distancia utilizada para agrupar datos, almacenada como un nombre de métrica de distancia válido.

ExpectedLogW

Expectativa del logaritmo natural basado en los datos de referencia generados, almacenados como un vector de valores escalares. es la dispersión dentro del clúster calculada mediante la métrica distance.WWDistance

InspectedK

Lista del número de clústeres propuestos para los que se calculan los valores de los criterios, almacenados como un vector de valores enteros positivos.

LogW

Logaritmo natural basado en los datos de entrada, almacenado como un vector de valores escalares. es la dispersión dentro del clúster calculada mediante la métrica distance.WWDistance

Missing

Indicador lógico para los datos excluidos, almacenado como un vector de columna de valores lógicos. Si es igual a, a continuación, el valor correspondiente en la matriz de datos no se utiliza en la solución de agrupación en clústeres.Missingtruex

NumObservations

Número de observaciones en la matriz de datos, menos el número de valores faltantes (), almacenados como un valor entero positivo.XNaNX

OptimalK

Número óptimo de clústeres, almacenado como un valor entero positivo.

OptimalY

Solución de clustering óptima correspondiente a, almacenada como un vector de columna de valores enteros positivos.OptimalK Si las soluciones de clustering se proporcionan en la entrada, está vacía.OptimalY

ReferenceDistribution

Método de generación de datos de referencia, almacenado como un nombre de distribución de referencia válido.

SE

Error estándar del logaritmo natural con respecto a los datos de referencia para cada número de clústeres en, almacenado como un vector de valores escalares. es la dispersión dentro del clúster calculada mediante la métrica distance.WInspectedKWDistance

SearchMethod

Método para determinar el número óptimo de clústeres, almacenado como un nombre de método de búsqueda válido.

StdLogW

Desviación estándar del logaritmo natural con respecto a los datos de referencia para cada número de clusters en. es la dispersión dentro del clúster calculada mediante la métrica distance.WInspectedKWDistance

X

Datos utilizados para clustering, almacenados como una matriz de valores numéricos.

Métodos

increaseBAumente los conjuntos de datos de referencia

Métodos heredados

addKEvalúe un número adicional de clústeres
compactObjeto de evaluación de clustering compacto
plot Trazar valores de criterio de objeto de evaluación de clustering

Ejemplos

contraer todo

Evalúe el número óptimo de clústeres utilizando el criterio de evaluación de clustering de separación.

Cargue los datos de ejemplo.

load fisheriris

Los datos contienen mediciones sepales y pétalo de tres especies de flores de iris.

Evalúe el número de clústeres en función de los valores del criterio de separación. Agrupar los datos mediante.kmeans

rng('default');  % For reproducibility eva = evalclusters(meas,'kmeans','gap','KList',[1:6])
eva =    GapEvaluation with properties:      NumObservations: 150          InspectedK: [1 2 3 4 5 6]     CriterionValues: [0.0720 0.5928 0.8762 1.0114 1.0534 1.0720]            OptimalK: 5  

El valor indica que, en función del criterio de separación, el número óptimo de clústeres es cinco.OptimalK

Trace los valores del criterio de separación para cada número de clústeres probados.

plot(eva)

En base a la gráfica, el valor máximo del criterio de brecha se produce en seis clústeres. Sin embargo, el valor en cinco clústeres está dentro de un error estándar del máximo, por lo que el número óptimo sugerido de clústeres es cinco.

Cree un diagrama de dispersión agrupado para examinar la relación entre la longitud y el ancho del pétalo. Agrupe los datos por clústeres sugeridos.

figure PetalLength = meas(:,3); PetalWidth = meas(:,4); ClusterGroup = eva.OptimalY; gscatter(PetalLength,PetalWidth,ClusterGroup,'rbgkc','xod^*');

La gráfica muestra el clúster 4 en la esquina inferior izquierda, completamente separado de los otros cuatro clústeres. El cluster 4 contiene flores con los anchos y longitudes de pétalo más pequeños. El Cluster 2 está en la esquina superior derecha y contiene flores con las mayores anchuras y longitudes de pétalos. El cluster 5 está al lado del Cluster 2 y contiene flores con anchos de pétalo similares a las flores en el racimo 2, pero longitudes de pétalo más pequeñas que las flores en el racimo 2. Los racimos 1 y 3 están cerca del centro de la parcela y contienen flores con mediciones entre los extremos.

Más acerca de

expandir todo

Referencias

[1] Tibshirani, R., G. Walther, and T. Hastie. “Estimating the number of clusters in a data set via the gap statistic.” Journal of the Royal Statistical Society: Series B. Vol. 63, Part 2, 2001, pp. 411–423.