Documente Academic
Documente Profesional
Documente Cultură
DataMining IlicaIoanaMinola
DataMining IlicaIoanaMinola
Procesul de descoperire de informatii din bazele de date mari cuprinde mai multe etape:
Setul de date ales de noi apartine domeniului medical, si poate fi gasit la adresa
http://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+%28Original%29 in format
text. Folosind “Microsoft Office Excel” am transformat setul de date initial intr-un set de tipul
*.csv, acest tip fiind recunoscut automat de catre “Weka”. Se asigura transformarea in tipul
arff(Attribute-Relation File Format) prin intermediul pachetului “Weka”, aceasta reprezentand
forma in care vom prelucra setul nostru de date:
@relation breast-cancer-wisconsin2
@attribute id numeric
@attribute clump_thick numeric
@attribute unif_cell_size numeric
@attribute unif_cell_shape numeric
@attribute adhesion numeric
@attribute epithelial_cell_size numeric
@attribute bare_nuclei numeric
@attribute bland_chromatin numeric
@attribute n_nucleoli numeric
@attribute mitoses numeric
@attribute class {benign,malingn}
@data
1000025,5,1,1,1,2,1,3,1,1,benign
1002945,5,4,4,5,7,10,3,2,1,benign
1015425,3,1,1,1,2,2,3,1,1,benign
1016277,6,8,8,1,3,4,3,7,1,benign
1017023,4,1,1,3,2,1,3,1,1,benign
………………………………………………………………
Setul de date Breast Cancer Wisconsin(Original) este rezultatul unui studiu de cancer la
san efectuat in Wisconsin al carui scop a fost sa se vada daca se poate determina tipul unei
tumori (maligne sau beningne) in urma analizarii unei monstre mici de tesut. Setul de date
cuprinde 699 de pacienti cu tumori, dintre care 241 sunt maligne . Acestea sunt caracterizate
prin zece atribute, plus un atribut corespunzator clasei:
Urmatorul pas este reprezentat de eliminarea valorilor lipsa, care se face folosind filtrul
ReplaceMissingValues. In cazult setului nostru de date singura variabila care prezinta valori lipsa
este bare_nuclei (se poate vedea din tabelul de statistici descriptive). Prin folosirea optiunii
ReplaceMissingValues toate valorile lipsa din setul de date vor fi inlocuite cu valoarea medie
(sau moda) corespunzatoare atributului a carui valoare lipseste. Rezultatul acestei operatii este
salvat in fisierul Breast_cancer_wisconsin2.arff, care va fi folosit apoi in analiza.
Cel mai semnificative atribute se pot obtine prin optiunea “Select Attributes” din meniul
Weka. Se alege “Attribute Evaluator” si metoda de cautare a atributului “Search Metod”. In
cazul notru vom alege CvsSubsetEval ca evaluator, respectiv BestFirst ca metoda de cautare.
Optinea “CvsSubsetEval” presupune evaluarea valorii unui subset de atribute considerand
abilitatea individuala de predictibilitate a acestora cat si gradul de redundanta dintre ele .
In urma acestei prelucrari rezulta ca 9 dintre atribute sunt seminificative:
Clasificare
Clasificarea este o metoda predictiva care face parte din categoria metodelor de invatare
supervizate. Clasele sunt reprezentate de valorile atributului clasa (atribut de tip categorial)
corespunzator setului de date ales, celelalte variabile avand rolul de predictor. Clasificarea are
ca scop realizarea unei predictii asupra clasei unei instante, pornind de la valorile predictorilor.
Clasificarea este operaţia cel mai des folosită de către instrumentele comerciale de
“data mining“. Modul in care instrumentele de “data mining“ analizează datele , şi tipul de
informaţie pe care il oferă , depinde de tehnicile pe care le foloseşte. Cele mai comune tehnici
ale clasificării includ: algoritmul 1R, arbori de decizie, retele neuronale, algoritmi genetici,
modelul regulilor de asociere, etc. În continuare se vor prezenta doi dintre acesti algoritmi.
Algoritmul 1R
Setul nostru de date contine in totalitate atribute nominale. In acest caz tehnica 1R
presupune construirea unor interval in care atributul in calcul va lua valori. Numarul de interval
este egal cu numarul claselor in care vor fi clasificate elementele setului de date.
Algoritmul primeste ca data de intrare un vector v, continand valorile atributului a
considerat in setul de calcul, respectiv clasa lor c corespunzatoare. In final se va optine o regula
de forma if a has value v than class is c, dupa efectuarea urmatorilor pasi:
Pentru cazul nostru, aplicam algoritmul 1R in Weka, bifand optiunea Precentage Split.
Astfel regula de clasificare se construieste pe baza a 66% din baza noastra de date, restul
instantelor fiind folosite pentru testare. Obtinem o clasificare in functie de atributul unif_cell
_size astfel: pentru o valoare mai mica de 3.5 clasa va fi bening iar pentru o valoare mai mare
sau egala cu 3.5 clasa aleasa va fi malign. Acuratetea clasificarii este de 92.01 %, 19 de instante
fiind clasificate gresit dintr-un total de 238 incluse in setul de test. Valoarea statisticii Kappa este
de 0.82 , destul de apropiata de valoarea 1 (valoarea 1 semnifica accord total intre clasificarea
realizata prin aceasta tehnica si valorile observate).
Practic, algoritmul 1R invata prin analizarea primului nivel al unu arbore de decizie,
realizand toate testele pentru un atribut particular. In cadrul urmatorului algoritm se va discuta
mai pe larg problema arborilor de decizie.
Un arbore de decizie este un clasificator care poate fi reprezentat grafic sub forma unui arbore
cu proprietătile:
Procesul care creează arborele de decizie este numit inductie si cere un număr mic de
treceri prin setul de antrenare. Cei mai multi algoritmi de generarea a arborilor de decizie trec
prin două faze: faza de construire (crestere) a arborelui( ”splitting”) urmată de faza de tăiere
(pruning).
Repeta
Pana cand
După ce a fost antrenat, un arbore poate prezice o instantă nouă de date începând de la
nodul rădăcină si urmând o cale în jos pe ramură până la întâlnirea unui nod frunză. Calea este
determinată prin evaluarea regulilor de tăiere bazându-se pe valorile variabilelor independente
din noua instantă. Extragerea de reguli de clasificare din arbore poate fi sintetizată astfel:
Din matricea de confuzie putem confirma procentajele de mai sus prin valorile exacte
obtinute: dintre cele 238 de instante oferite modelului spre clasificare 145 au fost clasificate
corect ca si beningne respectiv 82 ca maligne. In acelasi timp 7 dintre tumorile benigne au fost
clasificate gresit ca fiind maligne, respectiv 4 dintre cele maligne au fost clasificate gresit ca fiind
benigne.
Regulile de clasificare obtinute pe baza arborelui de mai sus sunt urmatoarele:
Pe langa tehnicile folosite de algoritmii de clasificare prezentati mai sus, un alt tip de
model care poate fi construit pentru reprezentarea setului de obiecte poartă denumirea de
model regresional. Acest model va ingloba matematic relaţiile care apar la nivelul setului de
atribute a unui obiect ponderate de atributele celorlate obiecte din setul in discuţie.
In functie de tipul datelor cu care lucram, exista diferite tipuri de modele regresionale. In
cazul nostru, deoarece ne intereseaza caracterizarea variabilei de clasa care este nominala (cu 2
valori posibile) alegem modelul logistic.
Regresia logistica
Se foloseste atunci cand variabila raspuns este binomiala, adica o serie de raspunsuri din
2 variante (in mod traditional o varinata reprezinta “succesul” si se noteaza cu 1, iar cealalta
“esecul” si se noteaza cu 0).
Intr-o astfel de regresie ne intereseaza calculul probabilitatii de success in fuctie de
diferiti predictori,sub forma:
g( ) 0 1 x1 ... n xn
g( ) logit ( ) log
1
Pornind de la aceasta ecuatie obtinem probabilitatea de succes :
exp( 0 x
1 1 ... n xn )
1 exp( 0 1 x1 ... n xn )
Pentru modelarea unei variabile binomiale printr-un model regresional de tip logistic,
alegem in Weka, in cadrul panoului Classify optiunea SimpleLogistic. De asemenea bifam
optiunea Percentage split, care permite impartirea setului de date in 2: 66% dintre inregistrari
vor fi folosite pentru construirea modelului, iar restul de 33% vor fi folosite in faza de testare.
Observam ca rezultatul este reprezentat de 2 modele. primul modeleaza probabilitatea
de a avea o tumoare benigna, iar cel de-al doilea probabilitatea de a avea o tumoare maligna.
Defapt aceste modele sunt echivalente (sau mai bine spus unul este inversul celuilalt), in sensul
in care daca stim una dintre cele doua probabilitati o putem obtine pe cea de-a doua efectuand
o scadere (suma celor doua probabilitati este 1).
logit ( ) 4.44 0.23 * clump _ thick 0.22 * unif _ cell _ size 0.1* adhesion 0.19 *
bare _ nuclei 0.16 * bland _ chromatin 0.09 * n _ nucleoli 0.23 * mitoses
de unde
exp( 4.44 0.23 * clump _ thick 0.22 * unif _ cell _ size 0.1* adhesion 0.19 *
bare _ nuclei 0.16 * bland _ chromatin 0.09 * n _ nucleoli 0.23 * mitoses)
1 exp( 4.44 0.23 * clump _ thick 0.22 * unif _ cell _ size 0.1* adhesion 0.19 *
bare _ nuclei 0.16 * bland _ chromatin 0.09 * n _ nucleoli 0.23 * mitoses)
Deoarece functia logit este monoton crescatoare iar coeficientii variabilelor predictoare
sunt pozitivi, putem concluziona ca probabilitatea de a avea o tumoare maligna creste odata cu
cresterea scorului obtinut in cadrul testului pentru grosimea nodulului, uniformitatea in
marimea celulelor, aderenta marginale, numarul de nuclei goi, valorea bland chromatin,
numarul de nucleoni respectiv mitoze. De asemenea, datorita faptului ca toti predictorii nostri
sunt definiti pe aceeasi scara, putem cuantifica importanta fiecaruia pornind de la valoarea
coeficientilor lor. Astfel cei mai importanti predictori sunt, la egalitate, clump_thick si mitoses,
iar cel mai slab predictor este n_nucleoli.
In contiunuare Weka ne prezinta rezultatele testarii corectitudinii modelului nostru,
folosind cele 33% de inregistrari pe care le-am rezervat in acest scop. Se poate observa ca
96.21% din instantele ramase au fost clasificate corect folosind modelul nostru. Valoarea
apropiata de 1 a statisticii Kappa (0.91) ne indica faptul ca predictiile obtinute folosind modelul
sunt apropiate de valorile observate. Acest lucru este confirmat si de faptul ca eroarea medie
absoluta si abaterea medie patratica a predictiilor relative la valoarile observate sunt destul de
mici: 0.04 si 0.17.
Din matricea de confuzie putem confirma procentajele de mai sus prin valorile exacte
obtinute: dintre cele 238 de instante oferite modelului spre clasificare 149 au fost clasificate
corect ca si beningne respectiv 80 ca maligne. In acelasi timp 3 dintre tumorile benigne au fost
clasificate gresit ca fiind maligne, respectiv 6 dintre cele maligne au fost clasificate gresit ca fiind
benigne.
Dupa cum am spus mai sus, clasificarea are ca scop realizarea unei predictii asupra clasei
unei instante, pornind de la valorile predictorilor. Realizarea oricarei predictii devine importanta
atunci cand nu se cunoaste valoarea reala a cantitatii pe care dorim s-o estimam. In cazul
nostrum scopul studiului a fost acela de a gasi un set de reguli/tehnici cu ajutorul carora sa
putem prezice natura beningna sau maligna a unei tumori pe baza scorului optinut in urma unor
examinari. In continuare vom aplica cele 3 tehnici de clasificare prezentate mai sus asupra unui
nou obiect, un pacient cu urmatoarele rezultate la teste:
Algoritmul 1R are ca rezultat o regula de clasificare pe baza unui singur predictor: daca
valoarea atributului Unif_cell_size este mai mica decat 3.5 tumoarea se considera ca fiind
benigna, in timp ce valorile peste 3.5 corespund unei tumori maligne. Astfel, pe baza regulii
generate de algoritmul 1R concluzinam ca pacientul nostru are o tumoare benigna.
Urmarind insa arboreal de decizie rezultat in urma aplicarii algoritmului C4.5 (J48) afisat
mai sus vom decide prezenta unei tumori maligne. Acest rezultat se obtine urmarind ramura:
uniff_cell_size<=2, bare_nuclei>3.54, clump_thick>3, bland_chromatin<=2, adhesion=3
corespunzatoare rezultatelor pacientului nostru.
logit ( ) 4.44 0.23 * 4 0.22 * 2 0.1* 3 0.19 * 4 0.16 * 2 0.09 * 2 0.23 * 3 0.83
exp( 0.83)
de unde 0.30 . Astfel probabitatea ca pacientul nostru sa aiba o tumoare
1 exp( 0.83)
maligna este de 30%, ceea ce ne face sa credem ca tumoarea sa este benigna (bineinteles, fiind
vorba de un diagnostic medical am putea considera o decizie in favoarea scenariului nefavorabil,
desi este mai putin probabil).
Avand in vedere faptul ca prin cele 3 tehnici am obtinut rezultate diferite, ne punem
problema care dintre acestea sunt mai de incredere. Am vazut mai sus ca pentru fiecare dintre
cele 3 tehnici mediul Weka a afisat niste masuri pentru corectitudinea modelului nostru:
acuratete, precizie, eroare medie absoulta, abatere medie patratica, respectiv statistica Kappa.
Un model perfect este caracterizat de o acuratete si precizie de 100%, o valoare a statisticii
Kappa cat mai apropiata de 1, respectiv o eroare medie absolita si o abatere medie patratica cat
mai aproape de 0. In tabelul de mai jos se pot compara valorile obtinute pentru cele 3 tehnici:
Grupare
Gruparea (Cluster analysis) reprezintă o tehnică de împărtire in clase (grupuri) a unui set
de date pentru care nu există nici o clasă predefinita. Fiecare dintre aceste clase este definită de
un model, care poate fi un obiect abstract sau cel mai reprezentativ obiect al clasei. Deci spre
deosebire de clasificare unde se atribuie un element la un set de clase cunoscut, de data aceasta
se incearca găsirea claselor fintr-un set de date (obiecte). În acest scop, tehnicile de grupare
operează prin găsirea similarităţilor dintre date, în conformitate cu caracteristicile prezente in
datele analizate. Grupurile sunt numite clusteri (clusters).
In prezent domeniul cluster analisys face apel la un set de tehnici de detectare a grupurilor
de obiecte prezente intr-un set de date. Aceste tehnici sunt:
Algoritmul K-means
3. Atribuie fiecare obiect din setul de date la clusterul care prezintă cel mai
apropiat centru de greutate
Acest algoritm este relativ eficient, terminandu-se adesea intr-un optim logal. Optimul
global poate fi găsit utilizând tehnici ca deterministic annealing si genetic algorithm. Din pacate,
tehnica K-means necesita cunoasterea apriori a valorii lui k, si se poate aplica doar in cazul in
care se poate contrui un centru de greutate al clusterilor (apar problem in cazul atributelor
nominale)
In cazul setului nostru de date, ignorand clasa (optiunea Ignore Attributes) incercam o
noua partitionare a datelor in 2 clusteri, folosind distanta Euclidiana. Pentru evaluarea
partitionarii selectam optiunea Classes to clusters evaluation. Numerele afisate mai jos
reprezinta valorile fiecarui atribut al centroizilor pentru intreg setul de date, si pentru cei doi
clusteri. Centroizii reprezinta niste obiecte generice construite de algoritm, care reprezinta
media obiectelor din cluster/set de date.
Evaluarea calitatiii impartirii se va face acum prin compararea cu partitionarea originala,
data de atributul de clasa. Conform matricii afisate, clusterul 0 corespunde tumorilor maligne si
reuneste 33% din instante, iar clusterul 1 corespunde
celor benign, reunind 67% din instante. Observam ca
4.29% din instante au fost asignate clusterului
corespunzator celeilalte clase, astfel: 11 instante
corespunzatoare unor tumori benign au ajus in clusterul 0,
respectiv 19 cu tumori maligne se afla in clusterul 1.
• Single Link (metoda celei mai mici distante dintre obiecte) - metoda celui mai
apropiat vecin. Se va considera distanta dintre un cluster si alt cluster ca fiind egală
cu cea mai mică distanta care apare între oricare din obiectele clusterului si oricare
din obiectele celuilalt cluster .
• Complete Link(metoda celei mai mari distante dintre obiecte) – metoda diametrului
sau metoda celui mai îndepărtat vecin. Se va considera distanta dintre un cluster si
alt cluster ca fiind egală cu cea mai mare distanta care apare între oricare din
obiectele clusterului si oricare din obiectele celuilalt cluster
• Average Link: media distantei dintre obiecte. Se va considera distanta dintre un
cluster si alt cluster ca fiind egală cu cea media distantei care apare între oricare din
obiectele clusterului si oricare din obiectele celuilalt cluster
• Centroid: distanta dintre centrele clusterului
1. Initial fiecare obiect din setul de obiecte va defini un cluster.Astfel vom avea n
clustere fiecare cu un element. In această faza distanta dintre clustere este dată de
distanta între obiectele care le formeaza.
Repeta
2. Se găseste cea mai similara pereche de clustere si se unesc. Prin urmare pe setul de
obiecte vom avea un cluster mai putin.
3. Se calculează distant dintre noul cluster si fiecare din vechile clustere.
Pana cand toate obiectele sunt grupate într-un singur cluster de dimensiune n.
In cazul setului nostru de date, ignorand clasa (optiunea Ignore Attributes) incercam o
noua partitionare a datelor in 2 clusteri, folosind distanta Euclidiana si calculul similaritatii prin
Complete Link. Pentru evaluarea partitionarii selectam optiunea Classes to clusters evaluation.
Evaluarea calitatiii impartirii se va face acum prin compararea cu partitionarea originala, data
de atributul de clasa. Conform matricii afisate, clusterul 0 corespunde tumorilor benign si
contine 77% dintre instante, iar clusterul 1 corespunde celor maligne cu 23% din instante.
Observam ca 12.58% din instante au fost asignate clusterului corespunzator celeilalte clase,
astfel: 5 instante corespunzatoare unor tumori benigne au ajus in clusterul 1, respectiv 83 cu
tumori maligne se afla in clusterul 0. Putem vizualiza arborele rezultat ca urmare a procesului.
Fluxul de analiza Knowledge-Flow
Scopul acestui proiect a fost realizarea unei analize in termini de “Data Mining” a setului
de date BreastCancerWisconsin(Original).arff. In cadrul acesteia s-au folosit diferite tehnici de
grupare si clasificare si grupare si s-a incercat evaluarea perfomantelor acestora. Procesul de
“Data mining” reprezinta insa proces complex, neexistand retete clare pentru alegerea unei
tehnici in defavoarea alteia. Selectarea algoritmilor potriviti pentru un anumit set de date este
subiectiva si depinde de necesitatile proprietarului de date, de ce se doreste a fi estimat si mai
ales, in ce domeniu si pentru ce sunt folosite rezultatele obtinute in urma aplicarii algoritmilor.
Bibliografie