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.

CalinskiHarabaszEvaluation

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

Criterio Calinski-Harabasz objeto de evaluación de clustering

Descripción

es un objeto que consta de datos de ejemplo, datos de clustering y valores de criterio Calinski-Harabasz utilizados para evaluar el número óptimo de clústeres.CalinskiHarabaszEvaluation Cree un objeto de evaluación de clustering de criterio Calinski-Harabasz utilizando.evalclusters

Construcción

eva = evalclusters(x,clust,'CalinskiHarabasz') crea un objeto de evaluación de clustering de criterio Calinski-Harabasz.

eva = evalclusters(x,clust,'CalinskiHarabasz',Name,Value) crea un objeto de evaluación de clustering de criterio Calinski-Harabasz 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, 5 y 6 clústeres para encontrar el número óptimo.'KList',[1:6]

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

Propiedades

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.

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.

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

X

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

Métodos

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 Calinski-Harabasz.

Cargue los datos de ejemplo.

load fisheriris;

Los datos contienen mediciones de longitud y anchura de los sépalos y pétalos de tres especies de flores de iris.

Evalúe el número óptimo de clústeres utilizando el criterio Calinski-Harabasz. Agrupar los datos mediante.kmeans

rng('default');  % For reproducibility eva = evalclusters(meas,'kmeans','CalinskiHarabasz','KList',[1:6])
eva =    CalinskiHarabaszEvaluation with properties:      NumObservations: 150          InspectedK: [1 2 3 4 5 6]     CriterionValues: [NaN 513.9245 561.6278 530.4871 456.1279 469.5068]            OptimalK: 3  

El valor indica que, en función del criterio Calinski-Harabasz, el número óptimo de clústeres es tres.OptimalK

Trace los valores del criterio Calinski-Harabasz para cada número de clústeres probados.

figure; plot(eva);

La gráfica muestra que el valor más alto de Calinski-Harabasz se produce en tres clústeres, lo que sugiere que el número óptimo de clústeres es tres.

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.

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

La gráfica muestra el clúster 3 en la esquina inferior izquierda, completamente separado de los otros dos clústeres. El Cluster 3 contiene flores con los anchos y longitudes de pétalo más pequeños. El grupo 1 está en la esquina superior derecha y contiene flores con los mayores anchos de pétalos y longitudes. El Cluster 2 está cerca del centro de la trama, y contiene flores con mediciones entre estos dos extremos.

Más acerca de

expandir todo

Referencias

[1] Calinski, T., and J. Harabasz. “A dendrite method for cluster analysis.” Communications in Statistics. Vol. 3, No. 1, 1974, pp. 1–27.