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.

cluster

Construya clústeres a partir de la distribución de mezcla gaussiana

Descripción

ejemplo

idx = cluster(gm,X) particiona los datos en clústeres determinados por los componentes de la mezcla Gaussiana.Xkkgm El valor en es el índice del cluster de observación e indica el componente con la mayor probabilidad posterior dada la observación.idx(i)ii

[idx,nlogL] = cluster(gm,X) también devuelve el valor de logverosimilitud negativo del modelo de mezcla gaussiana dados los datos.gmX

[idx,nlogL,P] = cluster(gm,X) también devuelve las probabilidades posteriores de cada componente de mezcla gaussiana en cada observación en.gmX

[idx,nlogL,P,logpdf] = cluster(gm,X) también devuelve un logaritmo de la función de densidad de probabilidad estimada (pdf) evaluada en cada observación en.X

[idx,nlogL,P,logpdf,d2] = cluster(gm,X) también devuelve la distancia Mahalanobis cuadrada de cada observación en cada componente de la mezcla Gaussiana.Xgm

Ejemplos

contraer todo

Genere aleatorias aleatorios que sigan una mezcla de dos distribuciones Gaussianas bivariadas utilizando la función.mvnrnd Ajuste un modelo de mezcla gaussiana (GMM) a los datos generados mediante la función.fitgmdist A continuación, utilice la función para particionar los datos en dos clústeres determinados por los componentes GMM ajustados.cluster

Defina los parámetros de distribución (medias y covarianzas) de dos componentes de mezcla gaussiana bivariada.

mu1 = [2 2];          % Mean of the 1st component sigma1 = [2 0; 0 1];  % Covariance of the 1st component mu2 = [-2 -1];        % Mean of the 2nd component sigma2 = [1 0; 0 1];  % Covariance of the 2nd component

Genere un número igual de variados aleatorios de cada componente y combine los dos conjuntos de variables aleatorias.

rng('default') % For reproducibility r1 = mvnrnd(mu1,sigma1,1000); r2 = mvnrnd(mu2,sigma2,1000); X = [r1; r2];

El conjunto de datos combinado contiene variados aleatorios después de una mezcla de dos distribuciones Gaussianas bivariadas.X

Ajuste un GMM de dos componentes a.X

gm = fitgmdist(X,2);

Trazar utilizando.Xscatter Visualice el modelo ajustado utilizando y.gmpdffcontour

figure scatter(X(:,1),X(:,2),10,'.') % Scatter plot with points of size 10 hold on gmPDF = @(x,y)reshape(pdf(gm,[x(:) y(:)]),size(x)); fcontour(gmPDF,[-6 8 -4 6])

Particionar los datos en clústeres pasando el GMM ajustado y los datos a.cluster

idx = cluster(gm,X);

Utilíce para crear un gráfico de dispersión agrupado por.gscatteridx

figure; gscatter(X(:,1),X(:,2),idx); legend('Cluster 1','Cluster 2','Location','best');

Argumentos de entrada

contraer todo

Distribución de la mezcla gaussiana, también llamada modelo de mezcla gaussiana (GMM), especificada como un objeto.gmdistribution

Puede crear un objeto mediante o.gmdistributiongmdistributionfitgmdist Utilice la función para crear un objeto especificando los parámetros de distribución.gmdistributiongmdistribution Utilice la función para ajustar un modelo a los datos dados un número fijo de componentes.fitgmdistgmdistribution

Datos, especificados como una matriz-por-numérica, donde es el número de observaciones y es el número de variables en cada observación.nmnm

Para proporcionar resultados de clustering significativos, debe venir de la misma población que los datos utilizados para crear.Xgm

Si una fila de Contains, a continuación,XNaNs cluster excluye la fila del cálculo. El valor correspondiente en,,, y es.idxPlogpdfd2NaN

Tipos de datos: single | double

Argumentos de salida

contraer todo

Índice de clúster, devuelto como un vector entero positivo-por-1, donde es el número de observaciones en.nnX

es el índice del cluster de observación e indica el componente de la mezcla gaussiana con la mayor probabilidad posterior dada la observación.idx(i)ii

Valor de logverosimilitud negativo del modelo de mezcla gaussiana dados los datos, devueltos como un valor numérico.gmX

La probabilidad posterior de cada componente de mezcla gaussiana en cada observación en, devuelta como un vector numérico, donde es el número de observaciones en y es el número de componentes de la mezcla en.gmXnknXkgm

es la probabilidad posterior del componente de mezcla gaussiana dado observación, probabilidad (componente | observación).P(i,j)jiji

Logaritmo del pdf estimado, evaluado en cada observación en, devuelto como un vector numérico-por-1, donde es el número de observaciones en.XnnX

es el logaritmo del pdf estimado en la observación.logpdf(i)i La función calcula el pdf estimado utilizando la probabilidad de cada componente dada cada observación y las probabilidades de los componentes.cluster

logpdf(i)=logj=1kL(Cj|Oi)P(Cj),

Dónde L(Cj|Oj) es la probabilidad de observación de componente dada, yji P(Cj) es la probabilidad de componente.j La función calcula el término de probabilidad utilizando el pdf normal multivariado del componente de mezcla gaussiana evaluado en observación.clusterji Las probabilidades del componente son las proporciones de mezcla de los componentes de la mezcla, la propiedad de.ComponentProportiongm

Cuadrado Mahalanobis distancia de cada observación en cada componente de la mezcla gaussiana, devuelta como una matriz numérica, donde es el número de observaciones en y es el número de componentes de la mezcla en.XgmnknXkgm

es la distancia cuadrada de la observación al componente de mezcla Gaussiana.d2(i,j)ij

Introducido en R2007b