K-Means Clustering MATLAB Tutorial

March 2

Spesso si potrebbe desiderare di partizionare i dati in gruppi significativi sulla base di un certo grado di "vicinanza". Tuttavia, decidere come andare in realtà circa il partizionamento è molto soggettiva e quindi aperto a critiche da altri ricercatori. La soluzione a questo problema è k-means clustering. K-means clustering di un algoritmo che suddivide automaticamente i dati per voi. Si tratta di una forma di apprendimento automatico che fornisce un partizionamento dei dati ottimale nell'ambito di una serie di vincoli. MATLAB offre una k-means funzione che si può facilmente applicare al set di dati di clustering.

istruzione

1 Leggi i dati in MATLAB come matrice. Individuare il file di dati sul computer e ricordare il nome del file (ad esempio "datafile.dat"). Utilizzare il comando "[dat, Vars, i casi] = tblread (nome del file)" dove "nome" è il nome del file che contiene i dati, come ad esempio "datafile.dat." Hit entrare e la variabile "che" sarà una matrice di dati che contiene i dati.

2 Stabilire il numero di mezzi per l'algoritmo di clustering k-means. Il numero di mezzi scelto sarà esattamente uguale al numero di gruppi di prodotto. Utilizzare le proprietà dei dati e il problema a portata di mano per decidere quanti gruppi si desidera partizionare i dati in.

3 Decidere come l'algoritmo di clustering k-means deve calcolare la distanza tra i punti. Ci sono due metodi comuni per il calcolo della distanza di questo algoritmo: euclideo e correlazionale. Euclidea sembra proprio alla distanza "fisica" tra i punti come se li graficamente su un piano cartesiano. distanza Correlational tiene conto della varianza dei dati e può essere più adatta quando si tratta di dati che ha una distribuzione nota (ad esempio la distribuzione normale).

4 Eseguire l'algoritmo di clustering k-means. Utilizzare il comando "ind = Kmeans (dat, g, 'distanza')" dove "g" è un numero che rappresenta il numero di cluster che si desidera e "distanza" è il tipo di distanza che si desidera K-means algoritmo da utilizzare : "sqEuclidean" per la distanza euclidea e "correlazione" per la distanza di correlazione.