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

  • Servere de Date
    Servere de Date
    Document11 pagini
    Servere de Date
    Andry Zabica
    Încă nu există evaluări
  • Semnături Digitale
    Semnături Digitale
    Document14 pagini
    Semnături Digitale
    Andry Zabica
    Încă nu există evaluări
  • Securitatea Oracle
    Securitatea Oracle
    Document18 pagini
    Securitatea Oracle
    Andry Zabica
    Încă nu există evaluări
  • Proiect-Data-Mining-1 Final
    Proiect-Data-Mining-1 Final
    Document15 pagini
    Proiect-Data-Mining-1 Final
    Andry Zabica
    Încă nu există evaluări
  • Protocoale de Securitate
    Protocoale de Securitate
    Document10 pagini
    Protocoale de Securitate
    Andry Zabica
    Încă nu există evaluări
  • K-Nearest Neighbor Algorithm
    K-Nearest Neighbor Algorithm
    Document7 pagini
    K-Nearest Neighbor Algorithm
    Andry Zabica
    Încă nu există evaluări
  • Proiect Data Mining
    Proiect Data Mining
    Document20 pagini
    Proiect Data Mining
    Andry Zabica
    Încă nu există evaluări
  • Taxe
    Taxe
    Document2 pagini
    Taxe
    Andry Zabica
    Încă nu există evaluări
  • Javascript
    Javascript
    Document2 pagini
    Javascript
    Andry Zabica
    Încă nu există evaluări
  • BBBBB
    BBBBB
    Document8 pagini
    BBBBB
    Andry Zabica
    Încă nu există evaluări
  • Javascript
    Javascript
    Document2 pagini
    Javascript
    Andry Zabica
    Încă nu există evaluări
  • Baze de Date
    Baze de Date
    Document2 pagini
    Baze de Date
    Andry Zabica
    Încă nu există evaluări
  • Javascript
    Javascript
    Document2 pagini
    Javascript
    Andry Zabica
    Încă nu există evaluări
  • Happy Valentine's Day! PDF
    Happy Valentine's Day! PDF
    Document19 pagini
    Happy Valentine's Day! PDF
    Andry Zabica
    Încă nu există evaluări
  • Anexa 3.8
    Anexa 3.8
    Document16 pagini
    Anexa 3.8
    Olesea Cember
    75% (4)
  • Javascript
    Javascript
    Document2 pagini
    Javascript
    Andry Zabica
    Încă nu există evaluări
  • Javascript
    Javascript
    Document2 pagini
    Javascript
    Andry Zabica
    Încă nu există evaluări
  • Practica
    Practica
    Document4 pagini
    Practica
    Andry Zabica
    Încă nu există evaluări
  • Oda (In Metru Antic)
    Oda (In Metru Antic)
    Document1 pagină
    Oda (In Metru Antic)
    Andry Zabica
    Încă nu există evaluări
  • De Vorba Cu Diavolul
    De Vorba Cu Diavolul
    Document1 pagină
    De Vorba Cu Diavolul
    Andry Zabica
    Încă nu există evaluări