Sunteți pe pagina 1din 22

1.

Tipuri de atribute

Procesul de Data Mining este influenat de tipul atributelor obiectelor analizate.
De exemplu, atunci cnd se procedeaz la o vizualizare a datelor, reprezentarea grafic a
acestora depinde de natura observaiilor: exist procedee diferite atunci cnd se
analizeaz status-ul marital al unor persoane n comparaie cu analizarea contului n
banc sau al investigrii msurii n care acetia fumeaz sau consum alcool etc. Din
acest motiv este absolut necesar s detaliem problema naturii datelor cu care opereaz
Data Mining.
Datele pot fi mprite, n principiu, n dou tipuri importante: date numerice
(cantitative) i date categoriale (calitative). Sunt folosite, mai rar, i alte tipuri de date.
Vom prezenta, pe scurt, caracteristicile principale pentru fiecare tip de date.
Datele numerice, cantitative, sunt la rndul lor de dou feluri: date discrete i date
continue. Datele discrete apar atunci cnd este vorba de observaii numerice ntregi
privitoare la un anumit proces de numrare ca, de exemplu, numrul de copii ai unei
familii, pulsul, numrul de consultaii pe an la care a fost supus un pacient, codul zip,
codul numeric, codul PIN, numrul anumitor cuvinte aprute n documente, atribute
binare etc. Spre deosebire de datele numerice discrete, obinute de regul n urma unui
proces de numrare, datele numerice continue se obin n urma unor msurtori, de
exemplu nlimea, greutatea, tensiunea arterial, colesterolul unei anumite persoane,
temperatura, presiunea atmosferic, viteza vntului, valoarea contului din banc sau
valoarea aciunilor tranzacionate la burs etc. Aceste date sunt, de regul, exprimate prin
numere reale, spre deosebire de cele discrete care sunt restricionate la numerele ntregi.
Vom meniona aici c, n multe analize, datele discrete sunt tratate ca date continue, de
exemplu numrul de bti pe minut ale inimii. Pentru ca analiza unor asemenea date
(discrete, dar considerate continue) s nu aib de suferit, trebuie dispus de un numr
suficient de mare de valori diferite posibile ale acestora care s creeze premisele
ipoteticei naturi continue a lor. Menionm n acest context datele continue (cu virgul
mobil) care pot fi stocate: (a) float - numere cuprinse ntre 1.4E-45 i 3.4E+38; (b)
double - numere cuprinse ntre 4.9E-324 i 1.7E+308.
Date categoriale - spre deosebire de datele numerice, datele categoriale sau
calitative sunt acele date care, aa cum le spune i numele, mpart instanele n diferite
categorii, ca de exemplu:
1. brbat/femeie
2. cstorit/necstorit/vduv/divorat
3. fumtor/nefumtor
4. hipertensiv/hipotensiv
5. stadii n anumite boli (e.g. cancer): I, II, III, IV
6. existen simptoame: DA, NU
7. tip diagnostic: A, B, C, D etc.
Datele numerice discrete sunt cteodat tratate ca date categoriale, de exemplu
numrul de copii nscui de o femeie, e.g. 0, 1, 2, 3, 4, mpart mamele n categoriile
corespunztoare numrului de copii. Este important ca n aceast situaie s se ignore
noiunile de ordine sau de parametri numerici ca, de exemplu, media. Invers, nu este
corect s interpretm datele categoriale ordonate ca date numerice, de exemplu, la stadiile
n anumite boli, stadiul IV nu este de dou ori mai ru dect stadiul II, .a.m.d. Vom
meniona c, n cadrul datelor categoriale, putem vorbi de date nominale ca, de exemplu:
grupa sanguin (A/B/AB/0), culoarea ochilor, sexul etc. i de date ordinale ca, de
exemplu: gradul fumatului (e.g. nefumtor, fost fumtor, fumtor amator, fumtor
nrit), ierarhizarea durerii (e.g. mic, medie, mare), ierarhizarea nlimii (e.g. scund,
mediu, nalt), duritatea mineralelor etc, n principiu, atunci cnd avem de a face cu o
ierarhizare a intensitii atributului respectiv.
Alte tipuri de date. n afar de cele dou mari tipuri de date menionate mai sus, n
Data Minig se mai opereaz cteodat i cu alte tipuri de date. Enumerm mai jos tipurile
cele mai cunoscute de astfel de date.
- Rangul reprezint locul pe care l ocup un obiect ntr-o ierarhie (e.g. competiie
sportiv, examinare, preferina medicului pentru un anumit tratament, preferina clienilor
pentru un anumit produs etc).
- Procentajul, aa cum arat i numele, descrie o anumit proporie (raport) intre
dou cantiti (e.g. procentajul de brbai dintr-o populaie, greutatea corporal relativ
(raportul dintre greutatea observat i greutatea ideal), procentajul de stngaci dintr-o
populaie, procentajul clienilor fideli, procentajul obiectelor clasificate corect,
procentajul datelor lips etc).
- Rate i rapoarte referitoare la frecvena observat a unui fenomen sau rapoartele
dintre dou mrimi, altele dect procentajele (e.g. mortalitatea raportat la mia de
locuitori, rata de apariie a unei boli pe sexe sau arii geografice, rata de schimb monetar,
raportul pre/calitate etc).
- Scorul este folosit atunci cnd nu este posibil o msurtoare direct i neambigu i
trebuie totui cuantificat o anumit mrime (e.g. scorul Apgar la nou-nscui, gravitatea
unei boli cuantificat ca uoar, moderat, sever, coloraia pielii n anumite maladii,
etc).
- Scale vizuale analogice folosite mai ales n studiile medicale atunci cnd subiectul
este rugat s indice pe o scal punctul care este considerat a ilustra cel mai bine gradul de
durere, de exemplu. Cu toate c este o reprezentare foarte subiectiv, aproape imposibil
de cuantificat numeric, reprezint totui un mijloc de a msura un anumit fenomen.
n contextul utilizrii metodelor statistice de Data Mining este util s discutm, pe
scurt, att despre variabilitatea datelor ct i despre modelul probabilist al datelor, cu
referire mai ales la termenul de variabil care este de multe ori echivalent cu cel de
atribut al unui obiect/instane.
Astfel, atunci cnd procesm datele n cursul analizelor statistice incluse n
procesul DM, este absolut necesar s existe aa numita variabilitate a lor. Prin
variabilitate nelegem orice fel de modificare care are loc ntr-o mulime de date.
indiferent de tipul lor, cu alte cuvinte variabilitatea este opusul constanei datelor. Trebuie
tiut faptul c nu se poate face analiz statistic pe variabile care sunt constante. O bun
parte a analizelor statistice clasice (e.g. regresia) face apel la legturile care exist ntre
diferite date referitoare la aceiai subieci, studiind modul cum variaia unora influeneaz
variaia altora (e.g. legtura dintre nlime i greutate, ntre factorii de risc i
probabilitatea declanrii unei maladii etc). Ori, dac un factor din analiza statistic nu
are variabilitate atunci el este ca i inexistent n analiz. Cu ct variabilitatea datelor este
mai mare cu att analiza statistic este mai bogat n rezultate consistente.


2. Definiii ale noiunii de clustering

Clusteringul reprezint procesul de organizare a obiectelor (datelor) n grupuri
de elemente asemntoare ntr-un anumit sens, cu proprieti similare. Un cluster este o
colecie de date/obiecte asemantoare ntre ele i diferite (disimilare) de altele, situate n
celelalte clustere. Clusteringul este o metod de nvare nesupervizat, folosit n
diverse domenii: Data Mining, Machine Learning, Bioinformatic, Analiza statistic a
datelor, Recunoaterea formelor Pattern recognition, etc.
n figura de mai jos este prezentat un set de date bidimensional; putem observa
trei grupuri de date.





Fiercare grup este un cluster. Sarcina clusterului este de a gsi cei trei clusteri
ascunsi in seturile de date .Cu toate c este uor ca o persoan s observe clusterele ntr-
un spaiu bidimensional sau tridimensional, devine foarte greu, dac nu chiar imposibil,
s detectm clusterele doar vizual, cnd dimensiunea crete. Mai mult dect att, n
multe aplicaii, clusterele nu sunt att de bine definite sau bine delimitate ca n figura de
mai sus. Prin urmare, trebuie utilizate tehnici matematice pentru gruparea n clustere.
Pentru a ilustra necesitatea procesului de clusterizare, vom enumera nite aplicaii
din diverse domenii.
Exemplul 1. O companie vrea s conduc o campanie de marketing pentru a
promova cteva produse. Cea mai buna strategie este aceea de a desemna un set de
materiale de marketing personalizate pentru fiecare client, n funcie de profilul i situaia
sa financiar. Cu toate acestea, un asemenea procedeu este prea scump pentru a fi aplicat
unui numr de clieni. Pe de alt parte compania proiecteaz un singur set de materiale de
marketing care s fie utilizate pentru toi clienii. Acest abordare comun tuturor
clienilor poate totui s nu fie eficace . Cea mai eficace metod din punct de vedere al
costului const n segmentarea clienilor ntr-un numr mic de grupuri n funcie de
asemanrile dintre ei i desemnarea unor materiale de marketing specifice fiecrui grup.
Sarcina de segmentare se realizeaz de obicei utiliznd algoritmi clustering, care
grupeaz clienii n funcie de asemnrile existente ntre ei. n cercetrile de marketing,
procesul de clusterizare este adesea numit segmentare.
Exemplul 2. O companie vrea s produc i s comercializeze tricouri. Ca i n
exemplul prezentat mai sus, pe de o parte se poate crea un model de tricou n
conformitate cu dimensiunile fiecrei persoane. n mod evident, un astfel de tricou ar fi
foarte scump. Pe de alt parte, o singur mrime universal poate fi produs. Din
moment ce aceast masur nu se potrivete tuturor clienilor, compania nu va putea vinde
un numr mare de tricouri. Din nou, cea mai eficace metod din punctul de vedere al
costurilor, este gruparea persoanelor n funcie de mrimea pe care o poart fiecare i
confecionarea unei mrimi specifice pentru fiecare grup. De aceea putem ntlni
mrimile: mic, medie i mare pentru tricouri n centrele comerciale i rareori ntlnim
tricouri de mrime universal. Metoda prin care se grupeaz oamenii n funcie de
mrimea pe care o poart este denumit clustering. Procedeul decurge astfel:
productorul de tricouri alege un numr mai mare de persoane, le masoar dimensiunile
pentru a forma o baz de date a msurilor. Grupeaz apoi datele n clustere. Pentru
fiecare cluster, se calculeaz media mrimilor, iar media rezultat se folosete pentru a
produce tricouri de aceeai dimensiune pentru toate persoanele care au mrime apropiat.
Exemplul 3. n fiecare zi, ageniile de tiri din jurul lumii transmit un numr mare
de articole de tiri. Dac un site web dorete s adune aceste articole de tiri pentru a
asigura un serviciu integrat de tiri, trebuie s organizeze articolele adunate n funcie de
subiectul pe care l trateaz. ntrebarea este: ce subiecte trebuie s aiba i cum trebuie
organizate? O posibilitate ar fi angajarea unui grup de editori care s ndeplineasc
misiunea. Cu toate acestea, organizarea manual este costisitoare i necesit mult timp,
ceea ce face misiunea imposibil i nepotrivit pentru tiri sau alte informaii care sunt
dependente de timp. A prezenta tirile cititorilor fr o organizare clar, nu constituie o
opiune. Cu toate c o clasificare poate organiza articolele de tiri n funcie de anumite
subiecte predefinite, aceast metod nu poate fi aplicat n acest caz, deoarece
clasificarea necesit date de antrenare, care trebuie s fie organizate manual prin
ierarhizarea subiectelor. Din moment ce subiectele de tiri se schimb n mod constant i
rapid, seturile de date de antrenare vor trebui, de asemenea, s se modifice constant, ceea
ce nu este fezabil prin etichetarea manuala. Gruparea n clustere este soluia ideal pentru
aceast problem pentru c vor fi grupate n mod automat o serie de articole de tiri
bazate pe asemanrile de coninut. Algoritmii de grupare ierarhic n clustere pot, de
asemenea, organiza i grupa documente (de exemplu, fiecare subiect poate conine sub-
subiecte i aa mai departe). Ierarhizrile n funcie de subiect sunt n special folositoare
pentru texte .
Cele trei exemple menionate mai sus indic doua tipuri de grupare n clustere:
partiional i ierarhic. n continuare vom studia civa algoritmi specifici pentru
aceste dou tipuri de clusterizare.
Exemplele de mai sus indic faptul c procesul de grupare n clustere necesit o
funcie care msoar gradul de asemnare dintre dou obiecte. Adeseori se folosete
metrica euclidian, sau mai general, metrica lui Minkowski
p
p
n
k
jk ik j i p
x x x x d
1
1
) , (

=

=
,
unde n este dimensiunea obiectului (lungimea vectorului, etc). Distana euclidian se
obine penttru p=2, iar distana Manhattan pentru p=1. Exist o mulime de alte
distane utilizate:




3. Clustering ierarhic

Odat aleas o distan de similaritate, pe baza creia putem compara obiectele,
mulimea acestora poate fi partiionat, utiliznd o anumit metodologie.
Modelul de clustering ierarhic rezid n gruparea obiectelor n mod iterativ,
genernd o ierarhizare a clusterelor, ce poate fi reprezentat printr-o structur
arborescent, numit dendogram. Se utilizeaz o anumit metod de
comasare/articulare" (linkage) ca, de exemplu:
single linkage - distana dintre clustere este determinat de distana ntre cele
mai apropiate obiecte (nearest neighbor);
complete linkage - distana dintre clustere este determinat de distana ntre cele
mai ndeprtate obiecte (furthest neighbor);
average linkage (unweighted pair-group average) - distana dintre clustere
reprezint media distanelor (neponderat) ntre orice dou perechi de obiecte din clustere
diferite. S notm i varianta weighted pair-group average care, spre deosebire de cea
neponderat, ia n consideraie mrimea clusterelor (numrul obiectelor din fiecare
cluster) ca ponderi n calcularea distanelor;
centroid method (unweighted pair-group centroid) - distana ntre clustere este
determinat de distana ntre centroizii lor (centrele de greutate
Ward's method - aceast metod, diferit de cele de mai sus, utilizeaz analiza
varianelor (dispersiilor) n evaluarea distanelor ntre clustere;
Exist dou metode principale de clustering ierarhic, diferena dintre ele constnd n
direcia de construcie a arborelui: de jos n sus - clusteringul aglomerativ - i de sus n
jos - clusteringul diviziv. Clustering ierarhic divizibil se aplic mai rar n practic.






Ilustrm n figurile urmtoare, schematic, metoda clusteringului ierarhic:

Datele iniiale
Schematic, dendograma generat de clusterizarea ierarhic este reprezentat mai
jos:

Algoritmnul de clusterizare ierarhic (S.C. Johnson, 1967) are urmtorii pai.
Se da o mulime de N elemente ce urmeaz a fi clusterizate (grupate), i o
matrice distan (sau matrice de similaritate) de dimensiune N*N .:
1. Se atribuie fiecrui element un cluster, aadar dac avem N elemente, vom avea la
acest nivel N clustere, fiecare coninnd cte un unic element. Vom presupune c
distanele dintre clustere sunt acelei ca i distanele dintre elementele pe care
acestea le conin.
2. Se determin cea mai apropiat (cea mai similar) pereche de clustere i le vom
combina (uni) ntr-un singur cluster, avnd aadar cu un cluster mai puin.
3. Se calculeaz distana (similaritatea) dintre noul cluster i fiecare dintre vechile
clustere.
4. Se repet paii 2 i 3 pn cnd toate elementele sunt grupate ntr-un singur
cluster de dimensiune N.
Pasul 3 se poate realiza n diverse moduri: single-linkage, complete-linkage i
average-linkage. As cum am mai spus, n metoda single-linkage (denumit i metoda
de minim), se consider distan dintre dou clustere ca fiind egal cu cea mai scurt
distan dintre orice element al unui cluster i orice element al celuilalt cluster. Dac
datele constau din similariti, se consider c similaritea dintre un cluster i altul este
egal cu cea mai mare similariate dintre orice membru al unui cluster i orice element al
celuilalt cluster.
n metoda complete-linkage (denumit i metoda de maxim sau metoda diametru), se
consider distan dintre dou clustere ca fiind egal cu cea mai mare distan dintre
orice element al unui cluster i orice element al celuilalt cluster.
n metoda average-linkage, se consider distan dintre dou clustere ca fiind egal
cu valoarea medie a distanei dintre orice element al unui cluster i orice element al
celuilalt cluster.



Algoritmul de clusterizare Single-Linkage.
Algoritmul este de tip aglomerativ, tergnd linii i coloane din matricea iniial
i unind vechile clustere n unele noi.
Se noteaza matricea de proximitate (de similaritate), de dimensiune N*N, prin
D = [d(i,j)]. Procesului de clusterizare i se atribuite un ir de numere 0,1,......, n-1 i se
noteaz prin L(k) nivelul de clusterizare de ordin k. Un cluster cu numrul de ordine m se
noteaz prin (m), proximitatea (distana/similaritatea) dintre clusterele (r) i (s)
notndu-se prin d[(r),(s)]. Algoritmul are urmtorii pai:
1. Se ncepe cu clusterul vid, avnd nivelul L(0) = 0 i numrul de
ordine m = 0.
2. Se determin cele mai similare perechi de clustere la nivelul
curent de clusterizare, de exemplu perechea (r), (s); se noteaz
d[(r),(s)] = min d[(i),(j)]
3. Se incrementeaz m = m +1. Se unesc clusterele (r) i (s) ntr-
un singur cluster clustering m. Nivelul de clusterizare va fi L(m)
= d[(r),(s)]
4. Se modific matricea de proximitate D, tergnd liniile i
coloanele corespunztoare clusterelor (r) i (s) i se adaug o
nou linie i o nou coloan corespunztoare noului cluster
format. Proximitatea (distana) dintre noul cluster, notat (r,s) i
vechiul cluster (k) se definetew prin relaia:
d[(k), (r,s)] = min d[(k),(r)], d[(k),(s)]
5. Dac toate obiectele sunt n acelai cluster, STOP. Altfel, se
merge la pasul 2.
Vom considera urmatorul exemplu: un clustering ierarhic al distanelor n
kilometri ntre cteva orae din Italia . Metoda folosit este single-linkage. Vom folosi
urmtoarele prescurtri: BA= Bari, FI=Firenze (Florena), NA=Napoli, RM=Roma,
TO=Torino.
Considerm matricea distan de intrare (L = 0 pentru toate clusterele):




Oraele cele mai apropiate sunt Milano i Torino, la distan 138. Acestea vor fi
grupate ntr-un singur cluster denumit "MI/TO". Nivelul noului cluster va fi L(MI/TO)=
138 i numrul de ordine este m = 1. Apoi se calculeaz distana dintre acest nou obiect
i toate celelate. n metoda single-linkage regula este c distana dintre noul obiect
(compus) i un alt obiect este egal cu cea mai scurt distan dintre orice element al
clusterului i obiectul din exterior. Deci distana dintre "MI/TO" i RM se alege 564,
care reprezint distan dintre MI i RM, i aa mai departe.
Dup construirea clusterului MI/TO se obine matricea:


BA FI MI NA RO TO
BA 0 662 877 255 412 996
FI 662 0 295 468 268 400
MI 877 295 0 754 564 138
NA 255 468 754 0 219 869
RM 412 268 564 219 0 669
TO 996 400 138 869 669 0
BA FI MI/TO NA RM
BA 0 662 877 255 412
FI 662 0 295 468 268
MI/TO 877 295 0 754 564
NA 255 468 754 0 219
RM 412 268 564 219 0
Deoarece min d(i,j) = d(NA,RM) = 219, vom grupa NA i RM ntr-un nou
cluster numit NA/RM, cu nivelul L(NA/RM) = 219 i numrul de ordine m = 2.

Cum min d(i,j) = d(BA,NA/RM) = 255 , vom grupa BA i NA/RM ntr-un nou
cluster, cu numele BA/NA/RM, avnd L(BA/NA/RM) = 255 i m = 3.


La nivelul urmtor se observ c min d(i,j) = d(BA/NA/RM,FI) = 268, i deci
vom grupa BA/NA/RM i ntr-un nou cluster numit BA/FI/NA/RM, cu
L(BA/FI/NA/RM) = 268 i m = 4.
BA FI MI/TO NA/RM
BA 0 662 877 255
FI 0 295 268
MI/TO 877 295 0 564
NA/RM 255 268 564 0
BA/NA/RM FI MI/TO
BA/NA/RM 0 268 564
FI 268 0 295
MI/TO 564 295 0

In final vom grupa cele 2 clustere la nivelul 295.
Procesul de clusterizare ierarchic va fi reprezentat prin urmtoarea dendogram
vertical:

Implementarea n Matlab a clusterizrii ierarhice pentru exemplul de mai sus este


reprezentat n cele ce urmeaz:
A=
662877255412996295468268400754564138219869669
>>B=squareform(A)
B=
0662877255412996
6620295468268400


BA/FI/NA/RM MI/TO
BA/FI/NA/RM 0 295
MI/TO 295 0
8772950754564138
2554687540219869
4122685642190669
9964001388696690
>>C=linkage(A,'single')
C=
36138
45219
18255
29268
710295
>>[H,T]=dendrogram(C,'colorthreshold');
3 6 1 4 5 2
140
160
180
200
220
240
260
280
300

4. Clustering partiional (algoritmul k-Means)



Clusteringul partiional(neierahic) este cunoscut i sub denumirea de clustering
de tip k-Means. Acest model este total diferit de cel ierarhic, metoda presupunnd
cunoaterea a priori a numrului de clustere. Problema care se pune este aceea de a crea
un algoritm pe baza cruia s se poat forma exact attea clustere ct s-a decis iniial, ct
mai distincte cu putin. Acesta a fost iniiat in 1967, de ctre J. MacQueen i reluat apoi
de J. A. Hartigan i M. A. Wong n 1975.
Algoritmul k-Means ncepe cu alegerea aleatoare a k clustere (k este un numr
ntreg), dup care aranjeaz obiectele n cele k clustere, avnd dou obiective de
ndeplinit: minimizarea variabilitii intra-cluster i maximizarea variabilitii inter-
clustere. Modul de grupare este dat de minimizarea sumei ptratelor distanelor dintre
fiecare dat i centroidul clusterului corespunztor. Fiecare cluster are un centru,
denumit centroid. Centroidul, utilizat pentru a reprezenta clusterul, se calculeaz ca fiind
media tuturor punctelor de date din cluster, (de unde i numele algoritmului).
In cele ce urmez sunt prezentai pasii algoritmului k-Means
1. Selecteaz aleator k puncte ca i centre de clustere.
2. Se determin distana dintre fiecare obiect i centroizi.
3. Atribuie instanele/obiectele acelor clustere care au cel mai apropiat centru fa de
acestea, n raport cu o anumit msur de similaritate.
4. Dupa ce toate obiectele au fost atribuite, recalculeaz poziia fiecruia din cei k -
centroizi (media tuturor instanelor din fiecare cluster).
5. Se repet paii 2 i 3, pn cnd un anumit criteriul de oprire este satisfcut.
Criteriul de oprire (de convergen) poate fi unul din urmatoarele:
- nicio reatribuire (minimum de reatribuiri) ale punctelor de date pentru diferite clustere
- nicio schimbare (sau minimum de schimbari) de centroizi


Remarca 1: Cu toate c, n principiu, metoda k-means clustering produce exact k clustere
care divizeaz mulimea iniial de obiecte ct mai distinct posibil, rmne deschis
problema estimrii numrului optim de clustere care s conduc la separarea cea mai
bun a obiectelor.
Remarca 2: O problem major n utilizarea metodei k-Means este rezid dinnecesitatea
definirii mediei, ceea ce implic faptul c este neaplicabil la date nenumerice (e.g.
categoriale).
Remarca 3: Menionm, n context, nc trei modele de clustering, mai elaborate
EM (Expectation Maximizatioon) clustering;
QT (Quality Threshold) clustering;
Fuzzy c-means clustering.
n ncheiere vom enumera plusurile i minusurile celor dou mari tipuri de
clustering descrise mai sus.
Cluster ierarhic
(+) Intuitiv, uor de neles;
(-) Persistena nedorit a clusterelor de la nceput;
(-) Sensibil la valori extreme (outliers) i la atribute irelevante;
(-) Neaplicabil la mulimi mari de date.
Cluster partiional
(+) Mai puin sensibil la valori extreme (outliers) i la atribute irelevante;
(+) Aplicabil la mulimi mari i foarte mari de date;
(-) Are nevoie de alegerea prealabil a numrului de clustere, ceea ce se dovedete a
fi uneori greu de stabilit.
Judecnd aspectele prezentate mai sus, ajungem la concluzia c optim ar fi utili-
zarea, dac este posibil, a ambelor variante de clustering. De exemplu, putem utiliza
clusteringul ierarhic pentru stabilirea unui numr convenabil de clustere, dup care
utilizarea celui neierarhic va mbuntii rezultatele prin reconfigurarea clusterelor
irelevante.

Exemplu. Vom considera 4 obiecte (4 tipuri de medicamente diferite), fiecare din ele
avnd 2 caracteristice (atribute), aa cum rezult din tabelul de mai jos. Scopul nostru
este de a grupa aceste objects n k=2 clustere (grupuri de medicamente) bazate pe cele 2
caracteristici (pH i indexul de greutate - weight index).
Obiectele Atribut 1 (X): weight index Atribut 2 (Y): pH
Medicament A 1 1
Medicament B 2 1
Medicament C 4 3
Medicament D 5 4
Fiecare medicament este reprezentat printr-un punct, cu cele 2 atribute (X, Y), evideniate
mai jos:

1. Alegerea iniial a centroizilor : Presupunem c medicamentele A i B vor fi primii
centroizi. Vom nota cu
1
c i
2
c coordonatele centroizilor, deci ) 1 , 1 (
1
c i ) 1 , 2 (
2
c

2. Vom calcula distana dintre fiecare centroidul si fiecare obiect. Vom folosi distana
euclidian, si vom obine matricea distan la iteraia 0

Fiecare coloan n matricea distan
0
D simbolizeaz obiectul (A, B, C, D).Prima linie n
matricea
0
D corespunde distanei dintre fiecare obiect i primul centroid, n timp ce a
doua linie reprezint distana dintre fiecare obiect i al doilea centroid. De exemplu, dis-
tana dintre medicam. C = (4, 3) i centroidul ) 1 , 1 (
1
c este 61 . 3 ) 1 3 ( ) 1 4 (
2 2
= + , iar
distana dintre C = (4, 3) i centroidul ) 1 , 2 (
2
c este 83 . 2 ) 1 3 ( ) 2 4 (
2 2
= + .
3. Vom atribui fiecare obiect clusterului corespunztor, dupa regula distanei minime.
Medicamentul A este asignat clusterului 1, medicamentul B clusterului 2, C lui 2 iar
medicamentul D tot lui 2. Elementul matricii grup G, de mai jos este 1 dac i numai
dac obiectul este asignat acelui cluster.

4. Determinarea centroizilor : Cunoscand membrii fiecrui cluster, putem determina noii
centroizi ai fiecarui grup. Clusterul 1 are un singur membru, deci centroiul rmne n
) 1 , 1 (
1
c . Clusterul 2 are acum 3 membri, deci centroidul este media coordonatelor celor 3:
.

5. Iteraia 1: La acest pas determinm distana dintre toate obiectele i noii centroizi.
Similar pasului 2, construim matricea distana corespunztoare iteraiei 1:

6. Ca i la pasul 3, vom atribui fiecare obiect clusterului corespunztor, dupa regula
distanei minime. Din matricea distan, rezult c trebuie s mutm medicamentul B n
clusterul 1, restul rmnnd nemodificate. Matricea grup de nivel 1 este:

7. Iteraia 3 - determinm noii centroizi, repetnd pasul 4. Ambele clustere au cte 2
membri, deci noii centroizi sunt


8. Repetm pasul 2, obinnd noua matrice distana la iteraia 2:

9. Din nou atribuim fiecare obiect clusterului corespunztor, dupa regula distanei minime.

Se observ c G G =
2
, aadar obiectele nu-i mai modific poziiile. Deci
algoritmul de clusterizare k-means a condus ctre un rezultat de stabilitate i procesul
iterativ se oprete.
Obinem, aadar, urmtoarea grupare (clusterizare):
Obiect Atribut 1 (X): weight index Atribut 2 (Y):
pH
Clusterizarea Rezultat
Medicament A 1 1 1
Medicament B 2 1 1
Medicament C 4 3 2
Medicament D 5 4 2
Implementarea n Matlab este relativ simpl:
m = [ 1 1; 2 1; 4 3; 5 4]
m =
1 1
2 1
4 3
5 4
k=2;
[IDX,C] = kmeans(m,k)
IDX =
1
1
2
2
C =
1.5000 1.0000
4.5000 3.5000
Matricea C conine coordonatele celor 2 centroizi, iar vectorul coloan IDX
conine informaii privitoare la apartenena obiectelor la clusterele corespunztoare:
primele 2 (A i B) aparin primului cluiter, ultimele 2 (B i C), celui de-al doilea cluster.

S-ar putea să vă placă și