10 Klasterovanje. K-meansPermalink
10 Klasterovanje. K-meansPermalink
10 Klasterovanje. K-meansPermalink
Primenom klasterovanja nad skupom podataka vrsi se grupisanje instanci sa ciljem da instance
jedne grupe budu sto slicnije, a sto udaljenije od instanci iz drugih grupa. Jedna grupa instanci
dobijena klasterovanjem naziva se klaster.
1 Algoritam: K-sredina
• meru bliskosti (mera slicnosti ili razlicitosti) koja se koristi za racunanje bliskosti izmedu
instance skupa i centroida klastera. Ako se koristi mera sli cnosti, instanca se dodeljuje
klasteru sa cijim centroidom ima najvecu slicnost, odnosno vrednost mere bliskosti je
najveca, a ako se koristi mera razlicitosti, instanca se dodeljuje klasteru sa cijim
centroidom ima najmanju razlicitost, odnosno vrednost mere bliskosti je najmanja.
• inicijalne centroide. Mogu biti npr. nasumicno izabranih k instanci iz skupa. Razlicitim
izborom inicijalnih centroida mogu se dobiti razliciti rezultati klasterovanja.
Algoritam 1 K-sredina
1: Odrediti inicijalne centroide+ za k klastera.
2: Svaku instancu dodeliti najblizem klasteru koriscenjem mere bliskosti.
3: Za svaki klaster azurirati centroid na osnovu dodeljenih instanci tom klasteru.
4: Ponavljati korake 2 i 3 dok se ne ispuni uslov: nijedan centroid se nije promenio u odnosu
na prethodnu iteraciju.
Algoritam K-sredina dalje najbolje rezultate za globularne podatke, a lose za klastere proizvolj-
nog oblika (neglobularnog), razlicitih gustina ili velicina.
1
1.1 Zadatak 1
Algoritmom K-sredina identikovati 3 klastera u sledecim podacima. Pri tom, koristiti euklid-
sko rastojanje. Za polazne centroide uzeti prve tri instance.
instanca X Y Z
i1 1 0 2
i2 2 0 0
i3 -3 -1 1
i4 -4 -2 2
i5 0 4 9
i6 1 5 9
Iteracija I
Kako su prve tri instance izabrane za centoride klastera, za njih nema potrebe racunati rasto-
janje do centoida jer je dist(ci , ci ) = 0, tako da ce biti izracunata samo rastojanja za instance
i4 , i5 i i6 do izabranih centroida.
centroid i1 i2 i3 i4 i5 i6
c1 0 5,4 8,1 8,6
c2 0 6,6 10 10,3
c3 0 1,7 9,9 10,8
• C1 : i1 , i5 , i6
• C2 : i 2
• C3 : i3 , i4
Za svaki klaster se azuriraju centroidi na osnovu dodeljenih instanci, tako sto se za svaki atribut
racuna srednja vrednost koju imaju instance klastera.
Novi centroidi su:
i1 +i5 +i6
• c1 = 3
= (0, 67; 3; 6, 67)
• c2 = i2 = (2; 0; 0)
i3 +i4
• c3 = 2
= (−3, 5; −1, 5; 1, 5)
2
Iteracija II
U tabeli 2 je prikazana matrica rastojanja izmedu instanci i azuriranih centroida. Za svaku in-
stancu je podebljano rastojanje do najblizeg centroida i njegovom klasteru se instanca dodeljuje
u ovoj iteraciji.
Tabela 2: Matrica rastojanja izmedu instanci i centroida za iteraciju II
centroid i1 i2 i3 i4 i5 i6
c1 5,6 7,4 7,8 8,3 2,6 3,1
c2 2,2 0 5,2 6,6 10 10,3
c3 4,8 5,9 0,9 0,9 9,9 10,9
U tabeli 3 je prikazana matrica rastojanja izmedu instanci i azuriranih centroida. Za svaku in-
stancu je podebljano rastojanje do najblizeg centroida i njegovom klasteru se instanca dodeljuje
u ovoj iteraciji.
Tabela 3: Matrica rastojanja izmedu instanci i centroida za iteraciju III
centroid i1 i2 i3 i4 i5 i6
c1 8,3 10,2 10,3 10,6 0,7 0,7
c2 1,1 1,1 4,6 5,9 9,1 9,4
c3 4,8 5,9 0,9 0,9 9,9 10,9
3
2 Kvalitet klasterovanja
gde je
• x instanca skupa
• Ci klaster
• ci centroid klastera Ci
b−a
s=
max(a, b)
gde je
Silueta koecijent za ceo skup je prosecna vrednost koecijenata za pojedinacne instance. Vred-
nost silueta koecijenta je izmedu [-1,1] pri cemu je
• -1 za neispravno grupisanje
• +1 za gusto grupisanje
• parametre
4
∗ k-means++ - inicijalni centroidi se biraju tako da budu generalno udaljeni jedan
od drugog
∗ random - inicijalni centroidi se nasumicno biraju
n_init - koliko puta ce algoritam K-sredina biti izvrsen sa razlicitim inicijalnim cen-
toridima. Bira se klasterovanje sa najmanjom sumom kvadrata rastojanja instanci
do najblizeg centroida (vrednost atributa inertia_ ).
max_iter - maksimalan broj iteracija pri klasterovanju. Jedan od uslova za ranije
zaustavljanje klasterovanja.
tol - tolerancija za promenu sume kvadrata greske. Ako je promena u dve uzastopne
iteracije manja od tolerencije, klasterovanje se zaustavlja. Jedan od uslova za ranije
zaustavljanje klasterovanja.
• atributi
• metode
• Numericki atributi
Sklariraju se vrednosti svakog numerickog atributa na opseg [0, 1] formulom
5
xi −xmin
xi 0 = xmax −xmin
• Kategoricki atributi
Za svaku kategoriju u kategorickom atributu se pravi binarni atribut. U binarnom
q atri-
butu za svaku kategoriju se instanciama te kategorije dodeljuje vrednost 2 , a ostalim
1
instancama 0.
te originalan atribut velicina garderobe ima isti uticaj kao numericki atribut.
6
4.2.1 Inicijalni centroidi
Za odredivanje inicijalnih centroida primenjuje se maxmin algoritam:
gde je
Use partitioned data - ukoliko je izvrsena podela podataka na trening i test skup, za
klasterovanje se koristi samo skup za treniranje
Specied number of clusters - broj zeljenih klastera
Generate distance eld - cvor sa modelom klasterovanja, koji se dobija kao rezul-
tat klasterovanja, ce sadrzati i atribut sa euklidskim rastojanjem od instance do
najblizeg centroida
Cluster label - da li oznaka klastera da bude niska (Cluster 1, Cluster 2, ...) ili samo
broj
7
4.4 Rukovanje nedostajucim (blanko) vrednostima
Nedostajuce (blanko) vrednosti se zamenjuju sa neutralnim vrednostima. U numerickim i
binarnim atributima nedostajuca vrednost se zamenjuje sa 0,5. U kategorickim atributima, pri
pojavi nedostajuce vrednosti u tom atributu, vrednosti u svim izvedenim atributi se postavljaju
na 0.
Kada se napravi model, postoji nekoliko nacina za gracki prikaz statistika i distribucije vred-
nosti atributa po klasterima:
• Model Summary - za brzu odluku koliko je dobro klasterovanje. Prikazuje broj atributa
koriscenih za pravljenje modela, broj dobijenih klastera i silueta koecijent.
• Predictor Importance - prikazuje znacajnost atributa pri pravljenju modela u opsegu [0-1]
Primer 2: Izvrsiti klasterovanje predmeta primenom algoritma K-sredina u alatu IBM SPSS
Modeler. Skup podaci_o_predmetima.csv ima atribute:
8
• polozilo - broj studenata koji su polozili ispit iz predmeta
Resenje:
• ipVezbe8Primer2.pdf - komentari