Sunteți pe pagina 1din 7

K-nearest neighbor algorithm

Clasificarea pentru o inregistrare noua se face comparand-o cu inregistrarile


similare. Cea mai folosita functie distanta este cea euclidiana:

Unele atribute cu valori mari (cum ar fi venitul) pot avea o influenta mai mare
decat alte atribute care sunt masurate la o scala mai mica (cum ar fi numarul de ani
lucrati).
Pentru a evita acest lucru se vor face normalizari:
 Normalizare min-max (este preferata atunci cand se combina variabile categoriale
cu variabile necategoriale)

 Standardizare z-score

Pentru valori categoriale, distanta euclidiana nu este potrivita, putandu-se folosi in acest
caz functia “diferit de”:

Pentru variabila varsta avem


 max(x)-min(x)=50
 min(x)=10
 Mean=45
 SD=15
Fie A=barbat in varsta de 50 ani, B=barbat in varsta de 20 ani, C=femeie in varsta de
50 ani.
a. Fara normalizare
d(A,B)= √ (50−20)2 =30, d(A,C)=1 => C este mai aproape
a. Cu normalizare min-max
d(A,B)= 0.8-0.2 = 0.6, d(A,C)=1 => B este mai aproape
a. Cu standardizare z-score
d(A,B)= 0.33- (-1.67) = 2, d(A,C)=1 => C este mai aproape
Bayesian classification
 Pot face o predictie asupra probabilitatii apartenentei la o clasa
 Se bazeaza pe teorema lui Bayes
 Studiile au aratat ca un clasificator Bayes naiv este comparabil ca si performanta
cu arborii de decizie si cu unele retele neuronale
 Teorema lui Bayes
 X – persoana de 35 ani, cu un venit de 40000$
 H – ipoteza ca aceasta persoana va cumpara un calculator
 P(H|X) = probabilitatea ca X sa cumpere un calculator, cunoscandu-i varsta
si venitul
 P(H) = probabilitatea ca un client (orice client) sa cumpere un calculator
 P(X|H) = probabilitatea ca X sa aiba 35 ani si un venit de 40000,
cunoscandu-se faptul ca va cumpara un calculator
 P(X) = probabilitatea ca o persoana sa aiba 35 ani si un venit de 40000
 Clasificatorul bayesian calculeaza P(Ci|X) pentru fiecare clasa Ci, alegand clasa cu
cea mai mare probabilitate
 Acesti clasificatori sunt foarte eficienti atunci cand exista acea independenta
presupusa

Neural networks
Caracteristici ale retelelor neuronale:
 singura directie a fluxului, nu exista cicluri
 Cele mai multe retele neuronale au 3 layere:
o Input layer
o Hidden layer – pot fi mai multe
o Output layer
 Complet conectata – fiecare nod dintr-un layer este conectat cu fiecare nod din
layerul urmator
 Fiecare muchie are asociata o pondere
 Numarul nodurilor la intrare depinde de numarul atributelor si de tipul acestora
 Daca numarul nodurilor din layerul ascuns este mare, va creste puterea si
flexibilitatea retelei, dar poate avea ca efect overfitting-ul.
 Se calculeaza functia de activare, cea mai utilizata fiind functia sigmoid

 Avantaje
o Pentru ca o retea neuronala foloseste multe noduri, cu o pondere asociata
fiecarei muchii, se comporta bine in prezenta valorilor extreme (outliers)
 Dezavantaje
o Spre deosebire de arborii de decizie, care produc reguli intuitive, usor de
inteles, retelele neuronale sunt greu de interpretat
o Necesita un timp indelungat de training, motiv pentru care sunt potrivite
pentru seturi de date care permit acest lucru
 Retele neuronale pot fi folosite pentru estimare si predictie
Ex: predictia pretului actiunilor peste 3 luni
o Iesirea e o valoare intre 0 si 1
o Normalizarea min-max trebuie sa fie inversata
o Denormalizare: prediction = output*range+min
Ex:
 sa presupunem ca pretul este intre 10$ si 20$
 Pentru un output de 0.47, predictia=0.47*(20$-10$)+10$=14.7$

Pentru a face clasificare folosind retele neuronale, se stabileste un prag in functie de care
se face clasificarea.

Decision trees
(Pre)procesarea datelor
1. Curatarea datelor (Date lipsa, date incorecte, valori extreme (outliers) )
2. Integrarea datelor - Combinarea datelor din mai multe surse intr-un depozit de
date coerent, cum ar fi data warehouse.
a. Structura bazelor de date - Unele atribute pot sa aiba nume diferite in baze
de date diferite (Bill, William, B.)
b. Redundanta – Analiza de corelatie - Fiind date 2 atribute, o astfel de analiza
va masura cat de tare un atribut il implica pe celalalt, bazandu-ne pe datele
existente.
i. Pentru atribute numerice putem evalua corelatia dintre 2 atribute A
si B, calculand coeficientul de corelatie (cunoscut si ca si Pearson’s
product moment coefficient)
ii. Pentru valori discrete (categoriale) o corelatie intre doua atribute
poate fi detectata prin testul chi-square.
c. Duplicare
d. Detectarea si rezolvarea conflictelor de date
3. Transformarea datelor poate sa implice urmatoarele:
a. Smoothing
b. Agregare
c. Generalizare
d. Normalizare, unde valorile atributelor sunt scalate astfel incat toate sa
apartina unui anumit interval cum ar fi [-1.0, 1.0], sau [0.0, 1.0]. Metode de
normalizare:
i. Normalizare min-max

ii. Standartizarea Z-score

e. Construirea de atribute, unde noi atribute sunt construite sau adaugate


pentru a ajuta in procesul de data mining
4. Reducerea datelor
Clasificarea metodelor
1. Metode nesupervizate - variabila target nu este identificata ca atare, cautandu-se
patternuri si structuri printre toate variabilele (clustering, reguli de asociere).

2. Metode supervizate - Cele mai multe metode de data mining sunt supervizate.
a. Exista variabila target predefinita, impartita in categorii predeterminate (ex:
tipul de venit – mic, mediu, mare)
b. Mai intai se examineaza setul de date care contine atat valorile predictorilor
cat si ale variabilei target
c. Algoritmul invata care combinatie de variabile este asociata cu o anumita
valoare a variabilei target
d. Exemple: K-Nearest Neighbor, Decision tree, Bayesian classification,
Neural network.

Reguli de asociere
Reguli de asociere = asocieri (relatii, dependente) interesante in seturi mari de
date. Pentru a masura calitatea unei reguli se foloseste:
1. SUPORT - Proportia de tranzactii din D care contin si A si B

2. CONFIDENTA - Procentul de tranzactii din D care contin A si contin si B

O regula de asociere este interesanta daca satisface valori minime pentru suport si
confidenta.
Tipuri de reguli de asociere:
1. Unidimensionale si Multidimensionale
2. Booleene si Cantitative
3. Pe un singur nivel si Pe mai multe niveluri
Clustering
Cluster - o colectie de obiecte care sunt similare intre ele si nesimilare cu obiecte
din alte clase. In clustering nu exista o variabila target care trebuie clasificata.
Clusteringul nu cauta sa clasifice, sa estimeze sau sa faca o predictie cu privire la
valoarea unei variabile target, ci cauta sa segmenteze intregul set de date in subgrupuri
relativ omogene. Similaritatea in interiorul clusterilor trebuie maximizata, in timp ce
similaritatea cu obiecte din alti clusteri trebuie minimizata.
Trebuie sa determinam:
 Cum masuram similaritatea? Pentru a masura similaritatea intre valori
numerice putem folosi distanta euclidiana, cityblock, Minkovsky
 Cum codificam variabilele categoriale? Folosim functia “diferit de”
 Cum normalizam sau standardizam variabilele numerice? (Normalizarea
min-max, standartizarea z-score)
1. Clustering ierarhic:
a. Se creeaza o structura de arbore:
i. Metode divizive - La inceput, toate obictele apartin unui singur cluster
si cele mai disimilare obiecte sunt separate.
ii. Metode agglomerative - La inceput, fiecare obiect reprezinta un cluster
si apoi, cei mai apropiati 2 clusteri vor fi combinati intr-un nou cluster.
b. Determinarea distantei dintre 2 grupuri:
i. Single linkage – ia in considerare distanta minima intre oricare doua
obiecte din cei doi clusteri.
ii. Complete linkage - ia in considerare distanta maxima intre oricare doua
obiecte din cei doi clusteri.
iii. Average linkage – se considera distanta medie.
2. K-means clustering:
a. Se stabileste valoarea lui k – numarul dorit de clusteri.
b. Se aleg aleator k obiecte, care sa reprezinte centrul initial al fiecaruia dintre
cei k clusteri.
c. Pentru fiecare obiect, se cauta cel mai apropiat centru si se adauga la clusterul
respectiv.
d. Pentru fiecare din cei k clusteri obtinuti se recalculeaza centrul.
e. Se repeta pasii 3-5 pana la convergenta sau pana la indeplinirea unui criteriu
de terminare.
f. Algoritmul se poate termina
i. cand centrii clusterilor nu se mai modifica
ii. Cand este indeplinit un anumit criteriu de convergenta etc.

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