SlideShare a Scribd company logo
1 of 76
Download to read offline
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Similaritate şi deosebire
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 61 / 76
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
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
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
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
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
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
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
Exemple numerice
p = (1, 0, 0, 0, 0, 0, 0, 0, 0, 0)
q = (0, 0, 0, 0, 0, 0, 1, 0, 0, 1)
M01 = 2, M10 = 1, M00 = 7, M11 = 0
SMC = 0+7
2+1+0+7 = 0.7
J = 0
2+1+0 = 0
lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 69 / 76
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
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
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
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
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
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
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

More Related Content

Viewers also liked

Baze de date si functii in excel asociate
Baze de date si functii in excel asociateBaze de date si functii in excel asociate
Baze de date si functii in excel asociateCristian-Mihai Pomohaci
 
Curs 6 Data Mining
Curs 6 Data MiningCurs 6 Data Mining
Curs 6 Data MiningLucian Sasu
 
Curs 7 Data Mining
Curs 7 Data MiningCurs 7 Data Mining
Curs 7 Data MiningLucian Sasu
 
Curs 3 Data Mining
Curs 3 Data MiningCurs 3 Data Mining
Curs 3 Data MiningLucian Sasu
 
Curs 5 Data Mining
Curs 5 Data MiningCurs 5 Data Mining
Curs 5 Data MiningLucian Sasu
 
Curs 8 Data Mining
Curs 8 Data MiningCurs 8 Data Mining
Curs 8 Data MiningLucian Sasu
 
Curs 4 Data Mining
Curs 4 Data MiningCurs 4 Data Mining
Curs 4 Data MiningLucian Sasu
 

Viewers also liked (7)

Baze de date si functii in excel asociate
Baze de date si functii in excel asociateBaze de date si functii in excel asociate
Baze de date si functii in excel asociate
 
Curs 6 Data Mining
Curs 6 Data MiningCurs 6 Data Mining
Curs 6 Data Mining
 
Curs 7 Data Mining
Curs 7 Data MiningCurs 7 Data Mining
Curs 7 Data Mining
 
Curs 3 Data Mining
Curs 3 Data MiningCurs 3 Data Mining
Curs 3 Data Mining
 
Curs 5 Data Mining
Curs 5 Data MiningCurs 5 Data Mining
Curs 5 Data Mining
 
Curs 8 Data Mining
Curs 8 Data MiningCurs 8 Data Mining
Curs 8 Data Mining
 
Curs 4 Data Mining
Curs 4 Data MiningCurs 4 Data Mining
Curs 4 Data Mining
 

Curs 2 Data Mining

  • 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
  • 61. Similaritate şi deosebire lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 61 / 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
  • 69. Exemple numerice p = (1, 0, 0, 0, 0, 0, 0, 0, 0, 0) q = (0, 0, 0, 0, 0, 0, 1, 0, 0, 1) M01 = 2, M10 = 1, M00 = 7, M11 = 0 SMC = 0+7 2+1+0+7 = 0.7 J = 0 2+1+0 = 0 lucian.sasu@ieee.org (UNITBV) Curs 2 April 7, 2014 69 / 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