K-means MATLAB Tutorial

Du kan ofte ønsker å partisjonere data til meningsfulle grupper basert på en viss grad av "nærhet". Men du bestemmer hvordan du faktisk gå om partisjonering er svært subjektiv og derfor åpne for kritikk fra andre forskere. Løsningen på dette problemet er k-means. K-means er en algoritme som automatisk skillevegger dine data for deg. Det er en form for maskinlæring som gir en optimal datapartisjonering under et sett av begrensninger. MATLAB har en k-means funksjon som du enkelt kan bruke på datasettet.

Bruksanvisning

1 Les dataene inn i MATLAB som en matrise. Finn datafil på datamaskinen og huske filnavnet (for eksempel "datafile.dat"). Bruk kommandoen "[dat, vars, cases] = tblread (filnavn)" hvor "filnavn" er navnet på filen som inneholder data, for eksempel "datafile.dat." Trykk enter og variabelen "dat" vil være en datamatrise som inneholder dataene.

2 Bestem deg for hvor mange midler for k-means algoritmen. Antallet midler du velger vil være nøyaktig lik antall grupper gitt. Bruk egenskapene til dine data og problemet på hånden for å bestemme hvor mange grupper du ønsker å partisjonere data inn.

3 Bestem hvordan k-means algoritmen skal beregne avstanden mellom punktene. Det er to vanlige metoder for å beregne avstanden for denne algoritmen: Euklidsk og Correlational. Euklidsk bare ser på "fysisk" avstand mellom punktene som om du tegnes dem på et kartesisk plan. Correlational avstand tar hensyn variansen av data og kan være mer egnet når du arbeider med data som har en kjent fordeling (for eksempel normalfordelingen).

4 Kjør k-means algoritmen. Bruk kommandoen "ind = kmeans (dat, g, 'distanse')" hvor "g" er et tall som representerer antall klynger du ønsker og "avstand" er den type avstand du vil at k-means algoritmen til å bruke : "sqEuclidean" for Euklidsk avstand og "sammenheng" for Correlational avstand.