informacioni sistemi za podrŠku menadŽmentu
TRANSCRIPT
INFORMACIONI SISTEMI ZA PODRŠKU MENADŽMENTU
OBLAST: Clustering
ČVOROVI (WIDGET): K-means, Interaction graph
SKUPOVI PODATAKA: Sponge
AUTOR: Branka Milosavljević 82/07
2011, Beograd
K-Means
2
Klasterovanje kao poslovni zadatak u procesu Datamining-a
Klasterovanje je poslovni zadatak Dataminig-a koji za cilj ima otkrivanje
zakonitosti po kojoj se podaci grupišu prema određenoj sličnosti u klase
koje nisu unapred poznate. Na ovaj način dobijene klase nazivaju se
klasterima.
Kod grupisanja po principu klasterovanja objekti se grupišu u neki klaster
u zavisnosti od više atributa i pritom, za svaki klaster može postojati drugi
skup pravila po kome se objekti grupišu. Kod klasterovanja nisu unapred
date klase u koje de se objekti grupisati, ved je proces otkrivanja klastera takav da su objekti unutar
klastera međusobno slični a da su, pritom, različiti od objekata drugih klastera.
Klasterizacija poštuje uređenost same prirode, gde objekti nemaju tendenciju da se raspoređuju
slučajnim putem i ravnomerno. Priroda ima svojstvo grupisanja. Klasterovanje se sprovodi iz slededih
razloga:
Klasterovanje se sprovodi kada nisu unapred poznate klase za razvrstavanje objekata.
Klasterovanje pruža više informacija o prirodi grupisanja objekata.
Klasterovanje omoguduje da se redukuje broj slučajeva koji se analiziraju, tako što se grupisani
slučajevi u klasteru tretiraju podjednako a dovoljno je analizirati samo predstavnika svakog
klastera, itd.
Vremenom je razvijeno više algoritama koji se bave procesom klasterovanja, kao što su X-means,
Kohonen SOM, DB Scan, hijerarhijski klaster algoritmi, a svakako najpopularniji je K-means algoritam,
koji de detaljno biti opisam u nastavku teksta.
K-means algoritam
K-means je algoritam koji u podatke grupiše u K klastera, gde se broj klastera K određuje
na različite načine i u zavisnosti od preferencija donosioca odluke. Pošto je teško odrediti
koji je pravi broj klastera u podacima, najčešde se algoritam sprovodi više puta, pa se na
osnovu mere kvaliteta klastera ili na osnovu potvrde kvaliteta klasterovanja od strane
donosioca odluke (DO), odlučuje da je rezultat zadovoljavajudi.
Proces počinje odabirom K centroida i to najčešde slučajnim putem. Zatim se svaki do slučajeva
dodeljuje sebi najbližem centroidu a zatim se u svakoj iteraciji ponovo bira novi centroid. Ovaj proces
ponavlja se, sve dok u dve uzastopne iteracije ne dođe do premeštanja jednog slučaja iz jednog u drugi
klaster. Čitav ovaj postupak korisnik programa ne vidi, ved se on automatski obavlja pokretanjem
algoritma.
U narednih nekoliko strana bide prikazan način korišdenja algoritma K-means u programu Orange.
K-Means
3
Pokretanjem programa Orange javlja se početni ekran - slika 1
Slika 1: Početni ekran
Za učitavanje baze podataka koristi se čvor File. Duplim klikom na ovaj čvor otvara se prozor File, odakle
korišdenjem opcije Browse otvaramo folder sa bazama podataka gde, u ovom slučaju, biramo bazu
water-treatment.tab. - slika 2
Slika 2: Čvor File i odabir baze
K-Means
4
Korišdenjem čvora Data table možemo videti sadržaj cele baze podataka predstavljen u tabeli - slika 3.
Slika 3: Pregled baze podataka uz pomoć Data Table
Baza podataka Water Treatment prikazuje rezultate dnevnih merenja stručnjaka iz postrojenja za
prečišdavanje vode. Merene su visine određenih pokazatelja kojima se meri zagađenost vode, i prikazani
su rezultati za 527 dana (527 slučajeva u tabeli). Ovi pokazatelji su u ovom slučaju atributi i ima ih
ukupno 38. Oni prikazuju npr. dnevni nivo biološki zahtevanog kiseonika u otpadnim vodama, dnevni
nivo hemijski zahtevanog kiseonika, pH vrednosti, ulazni protok, nivo cinka itd. Izlaznih atributa nema.
Cilj čuvanja i klasterizacije ovih podataka je da se omogudi predviđanje grešaka u funkcionisanju sistema
za prečišdavanje voda i njegovo prilagođavanje trenutnoj situaciji odnosno hemijskom sastavu otpadnih
voda. Svaki od klastera može se posmatrati kao jedna situacija za koju se definiše niz mera koje de se
preduzeti. Svakog dana se, na osnovu izmerenih podataka, utvrđuje koja je situacija (klaster) nastupila, i
pogon se ponaša u skladu sa tim.
Problem može nastati zbog nedostajudih vrednosti po pojedinim atributima za pojedine dane. Ukupno
nedostajudih vrednosti je 147. Ovo znači da npr. za neki dan nedostaje vrednost protoka, za neki drugi
dan nivo cinka itd. Čvor Impute služi da rešavanje ovog problema. On daje opciju brisanja slučajeva sa
nedostajudim vrednostima, ili mogudnost dodavanja vrednosti na neki od slededih načina:
Ubaciti prosečnu ili najčešde zastupljenu vrednost
Ubaciti slučajnu vrednost
K-Means
5
Ubaciti vrednost primenom nekog modela
Čvor Impute vezuje se za čvor File, bira se način ubacivanja nedostajudih vrednosti, u ovom slučaju
prosečne ili najčešde korišdene, a zatim u novoj tabeli dobijamo pregled korigovane baze.
Slika 4: Tabela sa nedostajućim vrednostima
Slika 5: Čvor Impute
K-Means
6
Na izveštaju možemo videti koje su vrednosti dodate u svakom od atributa.
Slika 6: Izveštaj
Slika 7: Tabela bez nedostajućih vrednosti
K-Means
7
Sada možemo pristupiti korišdenju algoritma K-means.
Slika 8: K-Means algoritam
Pokretanjem čvora na raspolaganju su različite opcije:
Fixed - DO sam definiše broj klastera u koje želi da se podaci grupišu;
Optimized - DO definiše najmanji i najvedi dozvoljen broj klastera, a program određuje
optimalan broj;
Scoring – na osnovu koje mere evaluacije de se optimizovati broj klastera (u slučaju da je ova
opcija prethodno odabrana);
Distance measures - opcija koja služi za odabir mere sličnosti koje se koriste pri račnanju
sličnosti. Neke od opcija su Euklidsko rastojanje, Pearson-ova korelacija, Manhattan i dr.
Initialization - opcija koja omogudava odabir načina odabiranja centroida;
Restarts - opcija koja omogudava korisniku da odabere broj iteracija;
Append cluster indices - opcija koja prikazuje naziv kolone sa rezultatima klasterizacije i definiše
u kom svojstvu de se koristiti rezultati klasterizacije u daljoj obradi podataka (kao klasa, atribut ili
meta atribut);
Run after any change - u slučaju promena parametara prethodnih opcija, algoritam se
automatski izvršava.
K-Means
8
Kada je klasterizacija završena, rezultati se mogu videti u
tabeli. Na raspolaganju su nam dva načina da prikazivanje
rezultata. Jedan je da se u tabeli da prikaz svih slučajeva i
klastera kojima su dodeljeni. U ovom slučaju, u tabeli se
rezultati prikazuju u novoj koloni koja se zove Cluster, a
klasterima su dodeljena imena C1, C2 itd.
Slika 10: Prikaz rezultata klasterizacije - svi slučajevi
Slika 9: Prikaži u tabeli sve slučajeve
K-Means
9
Drugi način je da se u tabeli prikažu samo centroidi. U
ovom slučaju u tabeli de biti prikazano samo K slučajeva (u
ovom slučaju 4), koji su predstavnici svojih klastera i na
osnovu kojih se klasteri mogu opisati. Iz ove tabele čitaju
se rezultati klasterizacije. Metodom optimizacije utvrđeno
je da je optimalan broj klastera 4. Dalje možemo videti da
je za prvi klaster karakteristična pH vrednost od 8, nivo
cinka od 2,51 , dnevni protok je 36648 itd. Na osnovu ovih
rezultata, stručnjaci de definisati niz mera koje de se
preduzimati u pogonu, u slučaju da nastupi neka od ovih
situacija. Sada se, na osnovu novih dnevnih merenja lako može utvrditi kom klasteru novi slučaj pripada,
te se i pristupiti korišdenju odgovarajudih mera, kako bi se na vreme sprečile greške u funkcionisanju
sistema za prečišdavanje voda.
Slika 12: Prikaz rezultata klasterizacije - centroidi
Slika 11: Prikaži u tabeli samo centroide
K-Means
10
Interaction Graph
Interaction Graph je čvor čije je svojstvo prikazivanje interakcije između atributa.
Interakcija se računa kao razlika sume pojedinačnih informacionih dobiti atributa i
informacione dobiti njihovih Dekartovih proizvoda. Ona može biti negativna (kada su
atributi u korelaciji) ili pozitivna (kada je klasa povezana sa XOR (zamena vrednosti) dva
atributa).
Interaction Graph zahteva instalaciju Graphviz – Grapf visualization programa koji služi za strukturno
predstavljanje informacija u formi dijagrama, grafikona i mreža.
Nakon što smo pomodu čvora File učitali bazu podataka, u ovom slučaju hayes-roth-learn.tab, Data
Table nam omogudava pregled svih podataka iz tabele. Atributi u tabeli se odnose na osobine ljudi kao
što su hobi, starost, stepen edukacije i bračni status. Ovi podaci su se koristili kako bi se ispitanici svrstali
u tri kategorije.
Slika 13: Čvor File i Data Table
K-Means
11
Uz pomod Interaction Graph-a mogude je utvrditi na koji način koji vrednost jednog atributa utiče na
vrednost drugog. Interaction Graph kao ulaz kosristi primere predstavljene u tabeli, pa se zato vezuje za
data Table.
Slika 14: Interaction Graph i prikaz rezultata
Prikaz rezultata sadrži tri dela. Opcija Select Attributes (prvi deo) omogudava nam da odaberemo one
atribute između kojih želimo da ustanovimo interakcije.
U središnjem delu vidimo prikaz parova atributa. Pritom, mogude je selektovati opciju Show only
important interactions, kada de ovde biti prikazane samo najinteresantnije interakcije. Za atribute koji su
u pozitivnoj interakciji, plavi delovi sa leve i desne strane prikazuju informacionu dobit svakog od
atributa, a zeleni deo prikazuje njihovu interakciju. Ukoliko su atributi u negativnoj korelaciji, deo
između bide crvene boje i predstavljade informacije koje prenose oba atributa, dok plavi delovi prikazuju
pojedinačni doprinos svakog atributa.
U tredem delu, interakcije se predstavljaju grafički.
K-Means
12
Literatura:
1. Suknovid M. , Delibašid B. Poslovna inteligencija i sistemi za podršku odlučivanju, Fakultet
organizacionih nauka, Beograd, 2010.
2. http://orange.biolab.si/ (poslednja poseta 04.07.2011.)
3. http://www.graphviz.org/About.php (poslednja poseta 04.07.2011.)