1. Introducere în Data Mining
Curs 2: Date
Lucian Sasu, Ph.D.
Universitatea Transilvania din Braşov, Facultatea de Matematică şi Informatică
April 7, 2014
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 1 / 76
2. Outline
1 Tipuri de date
Atribute şi măsurători
Tipuri de seturi de date
2 Calitatea datelor
Probleme legate de măsurarea şi colectarea datelor
Calitatea datelor din perspectiva aplicaţiilor
3 Preprocesarea datelor
Agregare
Eşantionare
Reducerea dimensionalităţii
Selectarea subsetului de atribute
Crearea de trăsături
Discretizare şi binarizare
Transformarea de variabile
4 Măsuri de similaritate si deosebire
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 2 / 76
3. Tipuri de date (1)
Un set de date este o colecţie de obiecte-dată (eng: data objects) şi
de atribute
Sinonime pentru obiecte-dată: înregistrare, punct, vector, pattern
(termen ce poate induce confuzie), eveniment, caz, eşantion
(termen ce poate induce confuzie), observaţie, entitate.
Obiectele sunt descrise prin atribute
Sinonime pentru atribut: variabilă, caracteristică, trăsătură
(feature), dimensiune (a nu se confunda cu omonimul din algebră).
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 3 / 76
4. Tipuri de date (2)
Definiţie
Atribut: proprietate sau caracteristică a unui obiect ce poate sa varieze fie
de la un obiect la altul, fie de la un moment de timp la altul.
Exemple: culoarea ochilor, temperatura.
Trebuie făcută diferenţa între proprietăţile atributelor şi proprietatile
valorilor atributelor:
acelaşi atribut poate avea valori diferite: înălţimea poate fi măsurată în
metri sau picioare
diferite atribute pot fi măsurate cu acelasi tip de date, dar proprietăţile
atributelor pot fi diferite: pentru nişte persoane, atributele “inaltime” şi
“id” sunt reprezentate prin numere întregi; în timp ce are sens sa faci
media înălţimilor, nu are nicio noimă media id-urilor; operaţiile ce se
pot face pentru înaltime (medie, max etc.) nu se aplică şi pentru id-uri;
id-urile nu au un maxim, în timp ce înălţimea - da.
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 4 / 76
5. Tipuri de atribute
Există diferite tipuri de atribute:
Categoriale (calitative)
nominale: valori diferite care permit recunoaşterea diferenţelor;
exemple: cod postal, id-uri, culoarea ochilor, genul; operatii permisibile:
=, =;
ordinale: valorile permit ordonarea obiectelor; exemple: scara durităţii
mineralelor, grade (militare etc.), gradul de satisfacţie pentru un
anumit produs; operaţii permise: =, =, <, >; funcţii aplicabile:
mediana, percentile etc.
Numerice (cantitative)
interval: se poate face diferenţa între valori (i.e. există unităţi de
masură asociate); exemple: date calendaristice, temperaturi in grade
Celsius sau Fahrenheit; pe lângă operaţiile de mai sus admit şi adunare,
scădere; funcţii aplicabile: media, deviatia standard, corelaţia
multiplicabile: permit împărţiri şi înmultiri; exemple: temperatura în
Kelvin, cantităţi monetare, număr de elemente, vârsta, greutate;
operatii: cele de mai sus şi ∗, /; funcţii aplicabile: media geometrică,
variaţie procentuală.
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 5 / 76
6. Transformari la nivel de atribute
Există nişte transformări care se pot efectua sau nu asupra unor atribute:
pentru atribute nominale: orice asociere unu-la-unu (bijecţie), de
exemplu permutări; dacă toţi angajaţii au un id, reasignarea lor nu ar
modifica esenţa datelor;
pentru atribute ordinale: orice modificare de valori care respectă
ordinea datelor (transformare monotona): val_noua = f (val_veche),
unde f (·) funcţie monoton crescătoare; {bun, mai bun, cel mai bun}
poate fi reprezentat prin {1, 2, 3} sau la fel de bine prin {0.3, 12, 14};
pentru atribute interval: transformări de forma a ∗ val_veche + b unde
a şi b sunt constante; ex: transformarea din Celsius în Fahrenheit;
val_noua/val_veche = a; ex: raportul greutăţii lui x si y este 2.
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 6 / 76
7. Descrierea atributelor prin numarul de valori (1)
Atribute discrete:
o mulţime cel mult numărabilă de valori;
exemple: coduri poştale, cuvinte într-un document
se reprezintă cel mai frecvent ca numere naturale
caz special — atribute binare: {prezent, absent}
Atribute continue:
valorile sunt exprimate prin numere reale
exemple: temperatura, masa
dpdv practic reprezentarea se face cu o precizie finită
reprezentare actuală: valori în virgulă mobilă
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 7 / 76
8. Descrierea atributelor prin numarul de valori (2)
Valori asimetrice:
doar prezenţa unei trăsături (i.e. valoare non–zero) este importantă
exemple: vectorul care reprezintă daca nişte cuvinte sunt prezente
(eventual: de cate ori) într-un document
dacă se iau in considerare doi astfel de vectori, contează mai mult
cuvintele pe care le au în comun decât cuvintele care lipsesc din ambele
documente, simultan
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 8 / 76
9. Tipuri de seturi de date
Seturi de date de tip: înregistrare, de tip graf şi de tip secvenţă
Caracteteristici generale:
dimensionalitatea = numărul de atribute pe care obiectele-dată le au.
Un numar de dimensiuni prea mare duce la “blestemul
dimensionalităţii”; pentru multe dimensiuni se pot aplica tehnici de
reducere a numarului de dimensiuni;
caracterul rarefiat al datelor = procentul de date utile; de exemplu,
pentru date asimetrice este numarul de valori nenule. Specularea
acestui caracter poate reduce drastic necesarul de memorie sau timpul
de calcul;
rezoluţia = scara la care se face raportarea valorilor; e posibil ca scări
diferite sa releve (sau sa ascundă) pattern-uri; ex: măsurători meteo
raportate pe zile pot arăta iminenţa unei furtuni, dar la scală de
săptămâni aşa ceva nu mai e vizibil.
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 9 / 76
10. Seturi de date de tip înregistrare
cel mai des furnizate si frecvent utilizate in aplicatii: multime de
obiecte cu un set predefinit de atribute
nu exista legatura intre inregistrari distincte
stocare: fisiere text (e.g. CSV), Excel, baze de date relationale –
views
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 10 / 76
11. Cazuri remarcabile de seturi de date inregistrare (1)
Tranzactii, date specifice cosurilor de cumparaturi:
exemplu: intr-un magazin, setul de produse cumparate de un client in
timpul unei sesiuni de cumparaturi = continutul cosului de
cumparaturi
se analizeaza asocierea intre produsele individuale din tranzactii
posibilitate de reprezentare: indicator boolean care arata daca un
produs anume face sau nu parte dintr-un cos de cumparaturi
variatie: cate exemplare din produs au fost achizitionate (0, 1, . . . )
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 11 / 76
12. Cazuri remarcabile de seturi de date inregistrare (2)
Matrice de date:
pentru cazul in care datele au acelasi set fix de atribute numerice
fiecare data in parte poate fi considerata un punct in spatiu
multidimensional
fiecare atribut considerat este o dimensiune
este tipul de date standard pentru analiza statistica
nota: intre conceptul de dimensiune asa cum e definit in matematica
si cel de dimensiune—atribut pot exista diferente
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 12 / 76
13. Cazuri remarcabile de seturi de date inregistrare (3)
Matrice de date rarefiate:
caz special al datelor matrice
date asimetrice: in putine cazuri anumite trasaturi sunt prezente,
predominanta este lipsa trasaturilor
exemplu: tranzactii din cosuri de cumparaturi in care modelarea se
face: obiectul (nu) a fost cumparat
exemplu: documente cu continut dintr-un anumit lexic; pentru un
document se creeaza un vector numeric, care la fiecare cuvant are
precizat daca apare (eventual: de cate ori apare) sau nu = matricea
document–termen
in practica, tipuri de date specializate pentru date rare sunt benefice
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 13 / 76
14. Seturi de date de tip graf
reprezentare convenabilă pentru cazurile:
graful reprezintă relaţii între obiecte
obiectele însele sunt reprezentate ca graf
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 14 / 76
15. Seturi graf - caz: datele reprezintă relaţii între obiecte
1 obiectele sunt reprezentate ca noduri în graf
2 relaţiile dintre obiecte sunt reprezentate sub formă de arce sau muchii
3 exemplu: pagini web care conţin legături către alte pagini
4 exemplu de algoritm ce foloseşte structura de graf:
algoritmul PageRank
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 15 / 76
16. Seturi graf - caz: obiectele-dată sunt grafuri
obiectele pot conţine subobiecte care sunt legate între ele
uneori nu doar legăturile sunt importante, ci şi forma lor: unghiul
dintre muchii poate avea aceeaşi relevanţă ca şi legăturile însele;
exemplu: formulele chimice - benzen = C6H6
utilitate: se poate detecta care substructură apare mai des; sau dacă
prezenta sau absenţa unor astfel de substructuri este legata de
prezenţa/absenţa anumitor proprietăţi chimice.
domeniu aparte: “mineritul” substructurilor
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 16 / 76
17. Seturi de tip secvenţă
atributele au relaţii care implică ordonare în timp sau spaţiu
subtipuri: date secvenţiale, secvenţă, serii de timp şi date spaţiale
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 17 / 76
18. Seturi de tip secvenţă: date secvenţiale
numite şi date temporale
fiecare înregistrare are un atribut suplimentar de timp asociat
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 18 / 76
19. Seturi de tip secvenţă: date secvenţă
setul de date entităţi individuale, precum secvenţe de cuvinte sau de
litere;
similare cu cele secvenţiale, dar fără timp inclus
poziţia din secvenţă este importantă
exemplu: informaţia genetică este o secvenţă de nucleotide (gene)
aplicaţie: predicţia similarităţilor în structura şi funcţia genelor pe
baza similarităţii dintre secvenţe
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 19 / 76
20. Seturi de tip secvenţă: serii de timp
fiecare înregistrare e o serie de timp = o serie de măsurători efectuate
la anumite momente de timp
exemplu: seturi de date de tip financiar, reprezentând valorile unor
stocuri
exemplu: date meteo măsurate lunar
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 20 / 76
21. Seturi de tip secvenţă: date spaţiale
cazul datelor care au atribute spaţiale sau areale
exemplu: date climatice raportate pe regiuni
exemplu: date adunate pentru scurgerea unui fluid — poziţia
diferitelor puncte este inregistrată
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 21 / 76
22. Outline
1 Tipuri de date
Atribute şi măsurători
Tipuri de seturi de date
2 Calitatea datelor
Probleme legate de măsurarea şi colectarea datelor
Calitatea datelor din perspectiva aplicaţiilor
3 Preprocesarea datelor
Agregare
Eşantionare
Reducerea dimensionalităţii
Selectarea subsetului de atribute
Crearea de trăsături
Discretizare şi binarizare
Transformarea de variabile
4 Măsuri de similaritate si deosebire
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 22 / 76
23. Calitatea datelor
Presupunerea că datele pe baza cărora se face DM sunt de calitate
perfectă este naivă
Prevenirea problemelor care duc la scăderea calităţii datelor nu este o
opţiune pentru un data miner
Abordări:
detectarea şi corectarea erorilor = curăţarea datelor
construirea de algoritmi care să tolereze o calitate slabă a datelor
surse de probleme în calitatea datelor:
procesele de măsurare
aplicaţiile folosite
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 23 / 76
24. Calitatea datelor: zgomot
Zgomot: componentă aleatoare care se adaugă unui proces de
măsurare
Exemplu: distorsiunea vocii unei persoane pe o linie telefonică slabă
Dacă eroarea apare mereu în acelaşi loc: artefact
(a) Două funcţii sinusoidale (b) Două funcţii sinusoidale + zgo-
mot
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 24 / 76
25. Calitatea datelor: precizie, abatere, acurateţe (1)
Definiţie
Precizie: apropierea valorilor rezultate prin măsurători repetate ale
aceleiaşi cantităţi.
Definiţie
Abatere (eng: bias): o variaţie sistematică a măsurătorilor faţă de
cantitatea reală.
Exemplu: se măsoară o cantitate de 1 gram. Valorile obţinute sunt:
{1.015, 0,990, 1.013, 1,001, 0.986}. Media este 1.001, deci abaterea este
|1.001 − 1| = 0.001.
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 25 / 76
26. Calitatea datelor: precizie, abatere, acurateţe (2)
Precizia este considerată abaterea standard:
σ = E[(X − E(X))2] (1)
deci pentru datele de mai sus precizia este 0.013.
Definiţie
Acurateţea: apropierea măsurătorilor faţă de valoarea adevărată ce se vrea
a fi măsurată.
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 26 / 76
27. Calitatea datelor: anomalii
Anomaliile sunt obiecte cu caracteristici considerabil diferite faţă de
majoritatea obiectelor din setul de date
Anomaliile (outliers) nu sunt zgomote, ci obiecte legitime
Utilitate: detectarea de nişe pe piaţă, detectarea fraudelor
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 27 / 76
28. Calitatea datelor: valori lipsă
Cazuri: una sau mai multe valori de atribute lipsesc
Motive pentru lipsa valorilor:
informaţia nu este colectată — oamenii nu vor să spună vârsta sau
greutatea
atributele nu se pot aplica tot timpul tuturor obiectelor: copiii nu au
venituri
Operarea în aceste situaţii:
eliminarea obiectelor-dată sau a atributelor cu valori lipsă
estimarea valorilor lipsă
ignorarea valorilor lipsă în timpul analizei
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 28 / 76
29. Calitatea datelor: valori inconsistente; duplicare
Valori inconsistente:
Exemplu: oras si cod poştal precizate, dar codul poştal nu e conţinut
în oraş
Exemplu: typos, mărimi cu valori improprii (greutate negativă)
Operare: detectarea valorilor greşite şi corectarea folosind intervenţie
umană
E necesară utilizarea surselor de date redundante sau a cunoştinţelor
specifice domeniului
Date duplicate:
Duplicarea poate să fie exactă sau aproape exactă
Exemplu: aceeaşi persoană cu adrese de email diferite
Procesul de curăţare = deduplicare
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 29 / 76
30. Calitatea datelor din perspectiva aplicaţiilor
Din perspectiva aplicaţiilor, “datele au calitate bună dacă sunt potrivite
pentru utilizarea intenţionată”
Caracterul oportun al datelor — dacă datele sunt perimate, atunci
modele şi pattern–urile obţinute sunt depăşite
Relevanţa — in cazul in care se vrea crearea de modele pentru
accidente rutiere, omiterea genului şi vârstei coducătorilor duce
modele cu acurateţe mică; altă situaţie este dată de eşantionarea
neadecvată
Cunoştinţele apriori despre date — de exemplu, faptul ca anumite
atribute sunt puternic corelate sau construite unele pe baza altora
poate fi utilizată pentru reducerea redundanţei şi a dimensionalităţii;
cunoaşterea preciziei datelor, a caracterului lor oportun sau a scalei de
măsură e de cele mai mult ori esenţială.
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 30 / 76
31. Outline
1 Tipuri de date
Atribute şi măsurători
Tipuri de seturi de date
2 Calitatea datelor
Probleme legate de măsurarea şi colectarea datelor
Calitatea datelor din perspectiva aplicaţiilor
3 Preprocesarea datelor
Agregare
Eşantionare
Reducerea dimensionalităţii
Selectarea subsetului de atribute
Crearea de trăsături
Discretizare şi binarizare
Transformarea de variabile
4 Măsuri de similaritate si deosebire
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 31 / 76
32. Scopul pasului de preprocesare
Strategii si tehnici complexe, ce pot cere până la 60% din timpul total
al procesului de extragere de cunoştinţe
Două variante:
1 selectara obiectelor-dată şi a atributelor
2 crearea/schimbarea de atribute
Variante de preprocesare:
agregare
eşantionare
reducerea dimensionalităţii
selectarea unui subset de atribute
crearea de atribute
discretizare şi binarizare
transformarea variabilelor
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 32 / 76
33. Agregare (1)
Scop: combinarea a două sau mai multe atribute (sau obiecte)
într–un singur atribut (sau obiect)
Scop:
reducerea cantităţii de date
schimbarea scalei: oraşele sunt agregate în regiuni, state, continente
date mai stabile: datele agregate au tendinţa de a avea variabilitate
mai mică
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 33 / 76
34. Agregare (2)
(a) Abaterea standard pentru precip-
itatiile medii lunare
(b) Abaterea standard pentru precipitati-
ile medii anuale
Figure 1: Datele agregate au tendinţa de a avea variabilitate mai mică
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 34 / 76
35. Eşantionare (1)
principala tehnică folosită pentru selectarea datelor
în statistică, a fost folosită atât pentru investigaţii preliminare cât şi
pentru analiza finală a datelor
este folosită pentru că obţinerea întregului set de date este imposibilă
sau costisitoare
în DM eşantionarea este folosită pentru că procesarea întregului set
de date este consumatoare de timp
un eşantion este reprezentativ dacă are aproximativ aceleaşi
proprietăţi de interes ca şi setul originar
utilizarea unui eşantion reprezentativ e aproape la fel de exactă ca
folosirea întregului set de date
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 35 / 76
36. Eşantionare (2): tipuri
Tipuri de eşantionare:
eşantionare aleatoare uniformă: avem o probabilitate egală de alegere
a unui obiect anume
eşantionare fără înlocuire: dacă un obiect este selectat, atunci el este
scos din populaţie
eşantionare cu înlocuire: obiectele nu sunt scoase din populaţie atunci
când sunt selectate; un acelaşi obiect poate fi selectat de mai mult de
o dată
eşantionarea stratificată: se divid datele în partiţii (ex:
femei/bărbaţi); din fiecare partiţie se extrage apoi eşantion, a.i.
proportia din straturi sa fie aceeasi cu proportia din mulţimea iniţială.
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 36 / 76
37. Eşantionare (3): Mărimea eşantionului
(a) Eşantion de 8000 de
puncte
(b) Eşantion de 2000 de
puncte
(c) Eşantion de 500 de
puncte
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 37 / 76
38. Determinarea mărimii eşantionului - exemplu
problemă: avem un set de date care constă dintr-un numar mic de
grupuri, în fiecare grup e aproximativ acelaşi număr de obiecte
trebuie extras un eşantion astfel încât din fiecare grup să fie cel puţin
un element selectat
“garantarea” se exprimă probabilist: care e numărul de date din
eşantion astfel încât probabilitatea ca să fie adevărată proprietatea de
la punctul anterior să depăşească un anumit prag?
(a) 10 grupuri de puncte (b) Probabilitatea de
regăsire a măcar unui punct
din fiecare grup, în funcţie
de mărimea eşantionului
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 38 / 76
39. Reducerea dimensionalităţii
seturile de date pot avea un număr mare de atribute
apare fenomenul de “blestem al dimensionalităţii”: datele sunt rare în
spaţiu multidimenional
valorile pentru densitate de probabilitate şi distanţe dintre puncte –
critice pentru clustering şi detectarea de anomalii — devin nerelevante
soluţie: reducerea dimensionalităţii fără a pierde prea mult din
informaţie
beneficii: algoritmii de DM lucrează mai eficient pe dimensiuni mai
puţine; modelele rezultate sunt mai simple, inteligibile
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 39 / 76
40. Reducerea dimensionalităţii: blestemul dimensionalităţii
pe măsură ce dimensiunea creşte, datele devin mai rare în spaţiu cu
multe dimensiuni
fiind rare, nu permit crearea de modele realiste
exemplu: pentru clasificare, s-ar putea să nu fie suficiente date pentru
a construi un model ce asignează o etichetă unui obiect nou
rezultat: clasificarea are o rată de recunoaştere mică
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 40 / 76
41. Reducerea dimensionalităţii: scop şi tehnici
Scopuri:
evitarea blestemului dimensionalităţii
reducerea timpului de rulare necesar algoritmilor de DM
datele devin mai uşor de vizualizat
poate ajuta la eliminarea trăsăturilor irelevante sau reducerea
zgomotului
Tehnici folosite:
analiza componentelor principale (Principal Component Analysis)
descompunerea valorilor principale (Singular Value Decomposition)
alte metode: supervizate şi transformări neliniare
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 41 / 76
42. Reducerea dimensionalităţii: analiza componentelor
principale
Bazată pe tehnici de algebră liniară
Efect: schimbarea bazei astfel încât să se obţină direcţiile cu variaţiile
maxime
Paşi:
se determină vectorii şi valorile proprii pentru matricea de covarianţă
vectorii proprii definesc noul spaţiu
se selectează vectorii proprii care au valorile proprii asociate cele mai
mari
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 42 / 76
43. Selectarea subsetului de atribute
motivaţie: de multe ori, în seturile de date pot exista atribute
redundante (e.g. pret şi preţ cu taxe incluse) sau irelevante (e.g.
id-uri)
unele din aceste atribute pot fi eliminate prin “bun simţ” sau prin
cunoaştere apriori a (datelor) problemei
varianta ideală de lucru: se încearcă toate combinaţiile de trăsături;
numărul de încercări ar fi deci: C1
n + C2
n + · · · + Cn
n = 2n − 1 deci
prohibitiv — brute force
variante:
1 metode încorporate — algoritmul de DM însuşi decide ce atribute să se
folosească: e.g. arborii de decizie
2 metode de filtrare — atributele sunt selectate înainte de a se aplica
algoritmul: e.g. selectarea atributelor pentru care corelaţia este minimă
sau PCA
3 metode bazate pe încercare — se foloseşte un algoritm oarecare de DM
şi se încearcă diferite subseturi de trăsături – dar nu brute force;
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 43 / 76
44. Selectarea subsetului de atribute: realizare
Pentru selectarea subsetului de trăsături e nevoie de:
o măsură pentru evaluarea unui subset
o metodă de căutare pentru generarea unui nou subset de atribute
un criteriu de oprire
o procedură de validare
Alternativă pentru selectarea de atribute: ponderarea atributelor
atribute importante → ponderi mari; atribute nerelevante → ponderi
mici
ponderile se pot asocia pe baza cunoştinţelor asupra domeniului sau
prin metode automate
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 44 / 76
45. Crearea de trăsături
Scop: crearea de noi atribute pe baza celor existente (e.g. raportul
dintre venituri şi cheltuieli, dintre masa corporală şi înălţime)
Noile atribute pot releva mai eficient informaţia ascunsă în date
Numarul atributelor noi obţinute poate fi mai mic decât la plecare
Metode:
Extragere de trăsături
Transformarea datelor, utilizarea unui alt spaţiu
Construirea de trăsături
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 45 / 76
46. Crearea de trăsături: extragerea de trăsături
crearea unui nou set de atribute pe baza celor existente
exemplu: fotografie → detectarea muchiilor
metodele sunt strâns legate de domeniu — algoritmi de procesare
grafică, utilizarea unor variabile economice derivate etc.
(a) Imaginea iniţială (b) Imagine după “edge detection”
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 46 / 76
47. Crearea de trăsături: transformarea datelor (1)
trecerea de la dimensiunile originare la un alt mod de reprezentare
poate releva pattern-uri
exemplu: trecerea de la coordonatele carteziene la cele polare
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 47 / 76
48. Crearea de trăsături: transformarea datelor (2)
exemplu: analiza Fourier
pentru cazul în care ai o singură undă şi puţin zgomot se poate
detecta uşor care este forma undei
pentru mai multe forme de undă suprapuse şi zgomot adiţional:
detectarea directă este imposibilă
transformata Fourier permite obţinere explicită a frecvenţelor
(a) Doua funcţii si-
nusoidale de frecvenţe
diferite
(b) Doua funcţii sinu-
soidale plus zgomot
(c) Spectrul de putere,
obtinut după aplicarea
transformatei Fourier
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 48 / 76
49. Crearea de trăsături: construirea de noi atribute
uneori, atributele originare pot să aibă informaţia necesară
dar formatul acestor date este neadecvat pentru algoritmul de DM
exemplu: pentru reţele neurale intrarea este numerică, dar datele
curente au şi valori nominale
exemplu de trăsătură derivată: densitatea = masa / volumul
crearea de noi trăsături necesită cunoaşterea domeniului problemei
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 49 / 76
50. Discretizare şi binarizare
unii algoritmi cer ca datele să fie în formă de atribute categoriale
algoritmii de determinare a asocierilor cer date binare
apare nevoia de a transforma atribute continue în atribute discrete
(discretizare) sau chiar binare (binarizare)
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 50 / 76
51. Binarizare
m valori → fiecare valoare iniţială se transformă într–un număr întreg
din intervalul [0, m − 1] şi apoi se foloseşte transcrierea în baza 2
dacă atributele sunt ordinale, atunci trebuie păstrată ordinea prin
transformare
exemplu: {slab, mediu, bun} →
{(x1 = 0, x2 = 0), (x1 = 0, x2 = 1), (x1 = 1, x2 = 0)}
⌈log2 m⌉ biţi folosiţi
binarizare asimetrică: pentru m clase se folosesc m biţi; fiecare bit
arată prezenţa sau absenţa unei trăsături
exemplu: {slab, mediu, bun} → (x1 = 0, x2 = 0, x3 = 1), (x1 =
0, x2 = 1, x3 = 0), (x1 = 1, x2 = 0, x3 = 0)
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 51 / 76
52. Discretizare a atributelor continue
procesul de discretizare este dependent de date şi de tipul problemei
paşi:
se decide numărul de categorii ce se produc;
se decide modul de asociere între valorile continue şi cele discrete
exemplu: se sortează datele, se efectuează n − 1 tăieturi în interval şi
pentru fiecare subinterval se asignează o etichetă
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 52 / 76
53. Discretizare nesupervizată
intervalele pot fi de lăţime egală sau considerate astfel încât să
prezinte frecvenţe egale
metode de clustering, e.g. K-means
inspectare vizuală a datelor
(a) Datele originare (b) Discretizare cu lăţime
egală
(c) Discretizare cu frecvenţă
egală
(d) Discretizare cu K–means
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 53 / 76
54. Discretizare supervizată
utilizarea de informaţie suplimentară – etichetele de clasă – poate
duce la o discretizare mai bună
conceptual: discretizarea să se facă astfel încât să se maximizeze
“puritatea” intervalelor
metode statistice: intervale mai mici se unesc astfel încât să nu se
depăşească un prag de puritate
exemplu:
k clase
mi numărul de valori din intervalul i, 1 ≤ i ≤ n, n fiind numărul de
intervale
mij numărul de valori de clasa j, 1 ≤ j ≤ k, 1 ≤ i ≤ n
entropia ei a intervalului i se calculează cu:
ei = −
k
i=1
pij log2 pij , 1 ≤ i ≤ n
unde pij = mij /mi
entropia toală a unei partiţii este e =
n
i=1 wi ei unde wi = mi /m
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 54 / 76
55. Atribute categoriale cu prea multe atribute
exemplu: o multitudine de departamente
se pot unifica pe domenii: inginerie, ştiinţe sociale, biologie
altfel: gruparea poate fi făcută în conjuncţie cu un algoritm de Data
Mining în care se urmăreşte îmbunătăţirea rezultatului de clasificare
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 55 / 76
56. Transformarea de variabile
transformare care se aplică la toate valorile unei variabile
exemplu: dacă doar amplitudinea unei valori este importantă, atunci
se poate considera valoarea absolută a variabilei
funcţii folosite: ex , log, funcţia putere
funcţii complexe: normalizare
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 56 / 76
57. Transformarea de variabile: funcţii simple
√
x, log x, exp(x), 1
x
unele transformări pot duce de la valori care nu sunt distribuite
normal la distribuţie Gaussiană
pentru datele care prezintă domeniu mare de valori: scara logaritmică
(x → log(x)) poate fi mai adecvată
exemplu: transferuri de date de 109
, 108
, 1000, 10 octeti; prin
transformare magnitudinea nu mai e importantă, se ajunge la valori
comparabile: 9, 8, 3, 1.
aplicarea trebuie făcută în cunoştinţă de cauză: transformarea x → 1
x
e o funcţie de monotonie descrescătoare;
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 57 / 76
58. Transformarea de variabile: normalizare
în statistică: dacă x este media unui atribut şi sx e abaterea standard:
sx = E[(x − x)2]
atunci transformarea x → x−x
sx
creează o nouă variabilă cu media zero
şi abaterea 1; operaţia se numeşte standardizare.
exemplu: persoane cu variabilele: venitul anual şi înălţimea;
diferenţele între înălţimi sunt mici comparativ cu diferenţele între
venituri; diferenţele între venituri ar domina distanţa între doi oameni,
dacă s–ar calcula direct pe baza valorilor; standardizarea reduce
asemenea diferenţe de magnitudine
problemă: abaterea pătratică medie e influenţată prea uşor de date
extreme, outliers; uneori se consideră abaterea absolută medie σa:
σa = m
i=1 |xi − µ|/m unde µ e media sau mediana
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 58 / 76
59. Outline
1 Tipuri de date
Atribute şi măsurători
Tipuri de seturi de date
2 Calitatea datelor
Probleme legate de măsurarea şi colectarea datelor
Calitatea datelor din perspectiva aplicaţiilor
3 Preprocesarea datelor
Agregare
Eşantionare
Reducerea dimensionalităţii
Selectarea subsetului de atribute
Crearea de trăsături
Discretizare şi binarizare
Transformarea de variabile
4 Măsuri de similaritate si deosebire
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 59 / 76
60. Similaritate şi deosebire
Similaritate
Măsură numerică prin care se arată cât de asemănătoare sunt două
obiecte
Cu cât e mai mare similaritatea, cu atât obiectele sunt considerate mai
apropiate
Deseori luate cu valori în intervalul [0, 1]
Deosebire
Măsură care arată cât de diferite sunt două obiecte
Valoare mică atunci când obiectele sunt asemănătoare
Deosebirea minimă este de cele mai multe ori considerată 0
Proximitate: similaritate sau deosebire
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 60 / 76
62. Distanţe: distanţa Euclidiană
Distanţă (metrică): un tip special de măsură de deosebire — satisface
nişte axiome
Distanţa Euclidiană
d(p, q) =
n
k=1
(pk − qk)2
unde p = (p1, . . . , pn), q = (q1, . . . , qn)
Se face standardizare dacă scalele diferă
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 62 / 76
63. Distanţe vs. măsuri de similaritate/deosebire
Axiomele distanţei:
d(p, q) ≥ 0 ∀p, q şi d(p, q) = 0 ⇔ p = q – distanţa este pozitiv
definită
d(p, q) = d(q, p) – simetrie
d(p, q) ≤ d(p, r) + d(r, q) – inegalitatea triunghiului
Axiomele similarităţii:
s(p, q) = 1 dacă şi numai dacă p = q
s(p, q) = s(q, p) pentru toţi p şi q
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 63 / 76
64. Distanţe: exemplu
(a) Patru puncte bidimensionale (b) Coordonatele punctelor
(c) Distanţe între perechi de puncte
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 64 / 76
65. Distanţa Minkowski
Distanţa Minkowski este generalizare a distanţei Euclidiene
d(p, q) =
n
k=1
|pk − qk|r
1
r
r: parametru
r = 1: distanţa L1, Manhattan, taxicab
caz: pentru pk , qk biţi, L1 numărul de poziţii pe care există diferenţe
între biţi
r = 2: distanţa Euclidiană, L2
r = ∞: distanţa supremum, Lmax sau L∞ este diferenţa maximă între
atributele de pe poziţii corespunzătoare ale vectorilor p, q
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 65 / 76
66. Distanţa Mahalanobis
Formula: dM(p, q) = (p − q)Σ−1(p − q)t
Σ este matricea de covarianţă
Σjk = 1
n−1
n
i=1
(Xij − Xj)(Xik − Xk)
distanţa se foloseşte acolo unde atributele sunt corelate
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 66 / 76
67. Măsuri de deosebire nemetrice: exemple
Diferenţa de mulţimi: A, B mulţimi finite,
dis(A, B) = |A − B| + |B − A|
Exemplu: A = {1, 2, 3, 4}, B = {2, 3, 4}, A − B = {1}, B − A = ∅,
sim(A, B) = 1 + 0 = 1
Diferenţa de timp:
d(t1, t2) =
t2 − t1 dacă t1 ≤ t2
24 + (t2 − t1) dacă t1 > t2
Exemplu: distanţa dintre ora 1 PM şi 2 PM este de o oră; distanţa
dintre 2 PM şi 1 PM este de 23 de ore.
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 67 / 76
68. Exemple de similarităţi şi pentru vectori binari
M00 = numărul de atribute de pe poziţii k unde pk = qk = 0
M11 = numărul de atribute de pe poziţii k unde pk = qk = 1
M01 = numărul de atribute de pe poziţii k unde pk = 0, qk = 1
M10 = numărul de atribute de pe poziţii k unde pk = 1, qk = 0
Simple matching coefficient:
SMC =
M00 + M11
M00 + M11 + M01 + M10
problemă: pentru valori asimetrice valorile de 0 pot domina şi atunci
similaritatea are valoare mare, datorită absenţelor masive ale unor
caracteristici
Coeficientul Jaccard rezolvă problema de mai sus, ignorand potrivirile
de 0:
J =
M11
M01 + M10 + M11
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 68 / 76
70. Similaritatea cosinus
pentru cazul în care d1 şi d2 sunt vectorii de frecvenţă ai unor cuvinte
pentru două documente, similaritatea cosinus este
cos(d1, d2) =
d1 · d2
d1 d2
=
d1
d1
·
d2
d2
unde · reprezintă produsul scalar: x · y = n
k=1 xkyk
dacă cei doi vectori formează unghi de 0◦, atunci cosinusul este 1;
dacă cei doi vectori sunt perpendiculari i.e. nu au nici măcar un
element în comun, atunci cosinusul este 0
exemplu: d1 = (3, 2, 0, 5, 0, 0, 0, 2, 0, 0), d2 = (1, 0, 0, 0, 0, 0, 0, 1, 0, 2);
d1 · d2 = 3 · 1 + 2 · 0 + · · · + 0 · 2;
d1 =
√
3 · 3 + 2 · 2 + · · · + 0 · 0 = 6.48;
d2 =
√
1 · 1 + 0 · 0 + · · · 2 · 2 = 2.24;
cos(d1, d2) = 0.31
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 70 / 76
71. Coeficientul Jaccard extins
aka: coeficientul Tanimoto
formula:
EJ(x, y) =
x · y
x 2 + y 2 − x · y
se reduce la coeficientul Jaccard în cazul atributelor binare
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 71 / 76
72. Corelaţia Pearson
formula:
cor(x, y) =
cov(x, y)
as(x) · as(y)
cov(x, y) = 1
n−1
n
k=1
(xk − x)(yk − y)
as(x) = 1
n−1
n
k=1
(xk − x)2
as(y) = 1
n−1
n
k=1
(yk − y)2
x e media lui x, x = 1
n
n
k=1
xk
y e media lui y, y = 1
n
n
k=1
yk
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 72 / 76
73. Corelaţia Pearson: vizualizarea corelaţiilor
cor(x, y) ∈ [−1, 1]
corelaţie de ±1 reprezintă legătură liniară între cei doi vectori:
xk = ayk + b, sgn(a) = sgn(cor)
corelaţia 0 poate exista pentru variabile ce sunt corelate neliniar:
x = (−3, −2, −1, 0, 1, 2, 3), y = (9, 4, 1, 0, 4, 9), cor(x, y) = 0 dar
yk = x2
k deci x şi y sunt corelate — dar nu liniar corelate
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 73 / 76
74. Combinarea de similarităţi (1)
Problemă: uneori atributele sunt eterogene dar se cere o măsură de
similaritate/deosebire pentru două astfel de obiecte
Soluţie:
1 pentru atributul k se calculează o similaritate sk în intervalul [0, 1]
2 se defineşte o variabilă indicator δk pentru atributul k astfel:
δk =
0 dacă atributul k este asimetric şi cel puţin unul din
obiecte are valoarea 0 pe poziţia k
1 altfel
3 Se calculează similaritatea globală dintre două obiecte cu formula:
sim(x, y) =
n
k=1
δk sk (x, y)
n
k=1
δk
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 74 / 76
75. Combinarea de similarităţi (2)
Se poate să nu acordăm diferitelor atribute aceeaşi importanţă:
sim(x, y) =
n
k=1
wkδksk(x, y)
n
k=1
δk
unde wk sunt ponderi
Pentru distanţa Minkowski:
d(x, y) =
n
k=1
wk|xk − yk|r
1
r
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 75 / 76
76. Care distanţă e mai potrivită?
“Metric searching”: domeniu în sine
exemplu: Distance metric learning, with application to clustering with
side-information, Eric Xing, Andrew Y. Ng, Michael Jordan, and
Stuart Russell, In NIPS 15, 2003, aici.
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 76 / 76