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.

DaviesBouldinEvaluation

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

Criterio Davies-Bouldin 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 Davies-Bouldin utilizados para evaluar el número óptimo de clústeres.DaviesBouldinEvaluation Cree un objeto de evaluación de clustering de criterio Davies-Bouldin utilizando.evalclusters

Construcción

eva = evalclusters(x,clust,'DaviesBouldin') crea un objeto de evaluación de clustering de criterio Davies-Bouldin.

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

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

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 clústeres de Davies-Bouldin.

Genere datos de ejemplo que contengan números aleatorios de tres distribuciones multivariadas con diferentes valores de parámetros.

rng('default');  % For reproducibility mu1 = [2 2]; sigma1 = [0.9 -0.0255; -0.0255 0.9];  mu2 = [5 5]; sigma2 = [0.5 0 ; 0 0.3];  mu3 = [-2, -2]; sigma3 = [1 0 ; 0 0.9];      N = 200;  X = [mvnrnd(mu1,sigma1,N);...      mvnrnd(mu2,sigma2,N);...      mvnrnd(mu3,sigma3,N)];

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

E = evalclusters(X,'kmeans','DaviesBouldin','klist',[1:6])
E =    DaviesBouldinEvaluation with properties:      NumObservations: 600          InspectedK: [1 2 3 4 5 6]     CriterionValues: [NaN 0.4663 0.4454 0.8316 1.0444 0.9236]            OptimalK: 3  

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

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

figure; plot(E)

El gráfico muestra que el valor más bajo de Davies-Bouldin 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 visualmente los clústeres sugeridos.

figure; gscatter(X(:,1),X(:,2),E.OptimalY,'rbg','xod')

La gráfica muestra tres clústeres distintos dentro de los datos: El clúster 1 se encuentra en la esquina inferior izquierda, el clúster 2 está en la esquina superior derecha y el clúster 3 está cerca del centro de la gráfica.

Más acerca de

expandir todo

Referencias

[1] Davies, D. L., and D. W. Bouldin. “A Cluster Separation Measure.” IEEE Transactions on Pattern Analysis and Machine Intelligence. Vol. PAMI-1, No. 2, 1979, pp. 224–227.