Documente Academic
Documente Profesional
Documente Cultură
- Notițe -
Data mining = tehnologie care îmbină tehnici tradiționale de analiză a datelor cu algoritmi
sofisticați pentru procesarea volumelor mari de date / identificarea de patter-uri noi sau
folositoare
= parte integrantă a procesului de descoperire a cunoștințelor din baza de date, KDD (Knowledge
Discovery in databases
!!! Provocări: dimensiunea ff mare a setului de date, date eterogene și complexe, analize
netradiționale
Metode – descriptive (pattern-uri care sintetizează și exprimă relațiile între date) și predictive
(previzionarea valorilor unor variabile de bază = explicativă/independentă)
Ex. modelare predictivă, detectarea anomaliilor, analiza asocierilor, analiza cluster
Pt minimizarea erorii de predicție
Clasificare – variabilă de tip discret
Regresie – variabilă de tip continuu
Analiza Cluster
= are drept scop structurarea unei mulțimi eterogene de obiecte în clase cât mai omogene
în interior și cât mai diferite între ele, în condițiile în care nu cunoaștem informații referitoare la
numărul grupelor existente sau la apartenența formelor
= analiză nesupervizată
- Clasificarea se face în funcție de gradul de apropiere și astfel clasele obținute sunt
grupe de elemente cu un grad ridicat de similaritate
- Metode: k-means, metoda centroidului, metoda celor mai apropiați vecini, metoda
celor mai depărtați vecini, metoda distanței medii
Analiza factorială
= reprezintă o analiză multivariată care are ca scop explicarea corelațiilor manifestate
într-o serie de variabile numite indicatori prin intermediul unui număr redus de factori
necorelați (comuni)
- Metode de estimare: a verosimilității maxime, a componentelor principale,
VARIMAX
Regresia Logistică
= metode de estimare prin transformare sigmoid
- Este utilizat modelul logit, in cadrul căreia variabila endogenă este calitativă
Analiza Corespondențelor
= tehnică de reducere și redefinire a dimensiunilor spațiului a.î. dimensiunile principale să
preia un procent cât mai mare posibil din varianța totală
- Echivalentul ACP pentru variabile categoriale/nominale ( pt că identifică un spațiu de
dimensiune redusă care conține centroidul și fașă de care suma distanțelor să fie
minimă) <=soluție de minimizare = SDV (descompunerea în valori singulare)
- Scop final = construirea unui număr redus de axe cu ajutorul cărora să poată fi
identificate asocierile între categorii
- Se bazează ca input pe un tabel de contingență. Pe baza valorilor din tabelul de
contingență se determină tabelul de frecvențe sau probabilități
- Inerția = măsura variației obținută pe baza tabelului de contingență, prin intermediul
valorii statistice chi patrat =test de omogenitate (testează semnificația asocierii dintre
categoriile reprezentate pe coloane și cele reprezentate pe linie unde h0 = variabile
necorelate și h1 = variabilele nu sunt independente/sunt corelate)
- Frecvențele marginale reprezintă profilul mediu al rândurilor, respectiv coloanelor
(s.n. masă/greutate atașată unei categorii)
- Profilul pe rânduri este descris de probabilitățile condiționate de apartenența la clasa
X, și profilul pe coloane e condiționat în funcție de Y
- Cu cât frecvențele din tabel sunt mai asemănătoare profilului mediu, cu atât
categoriile sunt mai omogene
Clasificatori
Clasificatorul Bayesian
- Obiectele sunt alocate în grupele pentru care probabilitatea de apartenență este cea
mai ridicată (esențiale fiind probabilitățile condiționate)
Clasificatorul de cost minim
- Clasificarea eronată a obiectelor în clase e însoțită de un cost al alocării incorecte
- Decizia de repartizare a obiectelor în grupe se ia în așa fel încât să se realizeze o
minimizare a costului total al alocării incorecte
- Clasificarea pe baza scorurilor discriminant presupune folosirea funcțiilor
discriminant cu semn schimbat
Clasificatorul Mahalanobis
- Presupune calcularea distanței cu același nume față de centroizii grupelor și alocarea
obiectelor în clasele față de care distanța este cea mai scăzută
- Clasificatorul se simplifică și devine liniar când grupele au aceeași matrice de
varianță-covarianță
Clasificatorul Fisher
- Alegerea matricei de coeficienți cu ajutorul cărora se construiesc variabilele
discriminant se face în așa fel încât să genereze maximul de separabilitate între
mediile claselor
- Variabilitatea minimă intra-clasă și maximă inter clase are la bază descompunerea
varianței
- Varianța totală = suma varianței intra grupe și a varianței inter grupe
- Lambda e valoare proprie și delta vector propriu asociat
Arbori de clasificare
- Reprezentare a relațiilor dintre setul de atribute și eticheta clasei
- Clasificarea obiectelor de face sub forma unei structuri ierarhice denumit arbore de
clasificare (pe bază de întrebări)
- Prezintă un nivel ridicat de varianță
- Elemente: nod rădăcină (root), noduri intermediare (child nodes), noduri frunză
(finale), noduri frunză
- Principii de funcționare: de la un nod rădăcină (partajare de sus în jos, recursivă, se ia
decizia de a fi nod frunză sau a căuta altă caracteristică de separare), se construiesc pe
baza a N unități a căror apartenență este cunoscută, fiecare test implică o singură
caracteristică/subset de caracteristici
- Ramificarea se realizează astfel: identificarea condiției de separare în funcție de tipul
de atribute și măsurarea calității ramificării
- Ramificarea se oprește când toate obiectele alocate asociate unui nod au aceleași
etichete sau valori pt atribute, sau mai devreme pe baza unor criterii referitoare la
calitatea alocărilor (pre punning și post prunning)
- Atributele continue pot deveni categoriale (la început, în mod static sau formulată o
decizie binară)
- Impuritatea unui nod este 0 dacă toate formele din nodul respectiv aparțin aceleiași
clase și devina maximă când clasele de la nodul N sunt egal probabile – se măsoară
prin indicele Gini, entropie sau eroare de clasificare. Atât indicele Gini cât și entropia
favorizează selectarea atributelor cu un nr mai mare de categorii
- AVANTAJE: ușor de construit, explicat și interpretat; robust atunci când se aplică
tehnici de evitare a overfittingului; rapid pentru clasificarea unor elemente noi;
eficiente cu atributele relevante
- DEZAVANTAJE: când atributele interacționează, pot fi ignorate în favoarea altora
cu capacitate discriminatorie mică și fiecare suprafață de decizie ia în considerare un
singur atribut
!!!! Overfittingul = model ce are performanțe bune asupra setului de training, dar o performanță
generalizată slabă – încearcă să minimizeze erorile la nivelul setului de training, dar nu reușește
să identifice natura reală a relațiilor din setul real de date
Tipuri de erori: asupra setului de training, asupra setului de test și de generalizare a modelului
Cauze: volum limitat al setului de training (creșterea volumului setului de training duce la
reducerea efectului de overfitting și diminuarea erorii de generalizare), complexitatea ridicată a
modelului sau problema comparațiilor multiple
!!!! Underfittingul = se întâmplă când arborele de decizie e prea simplu și incapabil să
reprezinte relațiile reale dintre atribute și clase
Selecția modelelor – se realizează în timpul construcției acestora și ajută le prevenirea
overfittingului (se previzionează eroarea de generalizare folosind un set de validare) E ales
modelul cu cea mai mică eroare.
Metode de evaluare: Holdout ( cât se rezervă pentru setul de training și cât pentru test din 100%
și se repetă până la obținerea unei erori minime), crosvalidare (împărțirea în subseturi disjuncte)
Bagging = bootrstrap aggregating -metodă ce duce la obținerea unui nivel scăzut al varianței
- Prin extragerea de eșantioane multiple din setul de date, se pot construi clasificatori
multipli, rezultatele având un grad mai redus de incertitudine
- Se creează sute de arbori fără prunning, prin eșantionare cu revenire din setul inițial,
se construiește pt fiecare set de bootrstrap un clasificator
- Algoritm eficient, nu duce la overfitting
- Nu mai putem avea interpretare grafică
- Arborii rezultați sunt corelați
Random forest = metoda de bagging, însă construiește arbori de decizie pe fiecare eșantion
extras cu revenire, prin selectare aleatoare
Avantaje = evita overfittingu, performanțe mai ridicate decât arbori decizionali și nu e nevoie de
împărțire în set de antrenare și validare
Analiza Asocierilor
= folosită pt identificarea patternurilor care descriu trăsăturile puternic asociate în setul de
date, reprezentate sub forma regulilor de implicare sau a seturilor de caracteristici
= având un set de obiecte/evenimente, analiza asocierilor urmărește să predicteze
realizarea unui eveniment pe baza realizării altui eveniment
- Construiește reguli de dependență
- Itemset = setul de obiecte = colecție de obiecte
- Support count = suport absolut = frecvența apariției unui set de obiecte
- Support = suport relativ = frecvența relativă a unui set de obiecte
- Set frecvent de obiecte = set al cărui suport este mai mare decât un prag minim
(minsup)
!! Suportul setului este dat de frecvența absolută raportată la numărul de tranzacții
Regula de asociere: când se întâmplă X în mod frecvent, se întâmplă și Y, nu implică o
relație de natură cauzală. Când suportul și încrederea depășesc un prag stabilit, astfel
încât sunt selectate doar anumite reguli de asociere. Abordare în 2 pași – generare a
seturilor frecvente și generarea regulilor cu un nivel ridicat de încredere pe baza seturilor
cu frecvență de apariție înaltă (support>minsup)
Regulile generate din același set au același suport, doar încrederea se modifică. Urmărim
obținerea regulilor cu un nivel ridicat de încredere
Gradul de asociere de măsoară prin intermediul suportului(s) și al încrederii(c) (support =
ponderea tranzacțiilor care conțin și X, și Y // încredere = măsoară cât de des obiectele Y
apar în tranzacții care conțin X)
!!itemset lattice = structura sub formă de rețea a seturilor=seturile de obiecte pot fi
reprezentate sub forma unei structuri rețea în cadrul căreia nodurile sunt seturi de obiecte
iar arcele corespund relațiilor cu subseturile
Cerințe pentru pasul de generare a seturilor
1. Nu generează seturi care nu sunt necesare- seturi de obiecte pt care cel putin unul
dintre subseturi are frecvență redusă
2. Trebuie să asigure seturi complete – niciun obiect frecvent să nu fie lăsat pe dinafară
3. Sa nu genereze același candidat mai mult de o dată
Clasificatori
Arborii de decizie sunt clasificatori binari care permit folosirea atât a predictorilor de tip
categorial, cât și numeric. Prin intermediul acestei metode, rezultatul se prezintă sub o formă
ușor accesibilă și este permisă testarea interacțiunilor dintre diferite variabile de influență.
Random Forest reprezintă colecție de arbori decizionali aleatoriu construiți, folosind în mare
parte seturi de antrenare pentru predicția datelor și seturi de testare pentru validarea modelului
construit anterior. Această metodă ne oferă, de cele mai multe ori, performanțe mai ridicate decât
arborii decizionali și ajută la reducerea varianței modelului (evitarea overfitting-ului).
Output: un arbore de clasificare
* De ce este utilizat set de test și de train?
Pt că în momentul în care vom implementa modelul în producție pe alte date, fiind doar un
singur set, acesta nu va mai fi capabil să estimeze, preluând mult din caracteristicile setului.
Procesul de antrenare a modelului e doar pt setul de train. Cel de test ajută la validarea datelor
atunci când modelul e pus în practică.
Set de test – predicții
Set de train – estimarea clasificatorului și realizarea modelului pe care se fac predicțiile
Modelul: variabila dependentă ~ variabile independente din bd
1. cum se aleg atributele de separare în cazul arborilor de decizie?
2. Ce înseamnă un nod pur, impur, cum se măsoară impuritatea?
Impuritatea unui nod este 0 dacă toate formele din nodul respectiv aparțin aceleiași clase și
devina maximă când clasele de la nodul N sunt egal probabile – se măsoară prin indicele Gini,
entropie sau eroare de clasificare. Atât indicele Gini cât și entropia favorizează selectarea
atributelor cu un nr mai mare de categorii
4. Atributele cu nr mare de categorii sunt favorizate sau mai puțin favorizate de măsuri precum
indicele Gini și entropie și de ce? Cum rezolva algoritmul CART aceasta problema?
Atât indicele Gini cât și entropia favorizează selectarea atributelor cu un număr mai mare de
categorii deoarece obținerea unui arbore cu un nr mai mare de noduri copil îl face mai complex
și mai susceptibil la overfitting. Algoritmul CART rezolvă această problemă prin construirea
unor arbori binari// utilizarea unui raport de câștig informațional (gain ratio)
5. De ce arborii de decizie nu sunt eficienți atunci când exista atribute care interacționează?
Când atributele interacționează, din cauza abordării lacome a arborilor de decizie, pot fi ignorate
variabile în favoarea altora cu capacitate discriminatorie mai mică.
*Curba ROC
Metoda de a evalua performanta unui clasificator
Aria între train și test set
Când e mai mică, trebuie redus din overfitting
!! cu cât e mai redusă diferența dintre valorile AUC pt test set și train set, cu atât e mai redus
overfittingul
*Confusion Matrix
Arbori de Clasificare
- Bd are diferiti indicatori ce prezinta dorinta clientilor de a se muta la alta banca si date
despre acestia
- Credit score = scorul de credit asociat clientului (exista o grila de rprezentare a credit
scorului – legate de rambursarea creditului )
- Tenure = vechimea clientului in banca
- Balance = soldul contului
- Num of products = nr de produse detinute de client (produse bancare cum ar fi cont
current, depozit, cont economii, card crdit, asigurare, cont mutual, etc)
- Flag de has credit card - var binara
- Flag binary de is active (clientul este active in cadrul bancii sau nu – daca foloseste
produsele/tranzactioneaza, etc)
- Flag binary Exited – var target in analiza de clasificare- var binara (1 = evenimentul in
care clientul isi intrerupe relatia cu banca, 0=absenta evenimentului)
!! has credit card se incarca ca var numeric, si trebuie interpretat ca var binara. De aceea e
transformat in factor ( la fel pt is active, exited)
!! e indicat cand incepem analiza datelor, e bn sa ne asiguram ca datele au tipul potrivit in cadrul
setului (str(baza de date) pt a realiza corectie acolo unde este cazul
16.2% din clienti inchid relatia cu banca.
E ff bine sa determinam acest procent de la inceput pentru a observa setul de date si tipul de
balansare a acestora. Cand aplicam clasificator, acesta poate fi deplasat in estimare fata de clasa
clasificatoare de baza. Nu va determina cee ace ne intereseaza pe noi. Se pot aplica tehnici de
echilibrare a setului de date pentru a reduce din discrepanta proportiilor. Cand se evaluaeaza
tipul clasificarii, o valoare mica a clasei minoritare poate determina variabile de modelare
incorecte.
Pentru a determina arborele OPTIM ca model, ne intereseaza plotcp, unde vedem care este
nivelul erorilor pt fiecare nivel al parametrului de complexitate (cp). Ne trebuie prima valoare de
sub axa punctata, adica 0. 022 = valoarea optima a unui arbore de clasificare in cazul nostrum
Gr arbore final optim
Interpretare:
Nodul radacina= clientii care nu renunta in probabilitate de 84%, 16% sunt cei care renunta.
100% din client apartin acestei clase.
Prima ramificare se face in functie de varsta, cu pragul de 45 de ani.
Pentru cei sub 45 de ani, avem 90% probabilitate ca 78% din clientii de db sa nu renunte la
serviciile bancii.
Pt ultimul nod: clientii cu varsta de peste 45 de ani, care nu este activ in cadrul bancii, cu varsta
peste 51 de ani, cu o probabilitate de 16% de a renunta
Analiza corespondentelor
2. Ce este inerția?
Inerția reprezintă măsura variației obținute pe baza tabelului de contingență, prin intermediul
valorii statistice chi patrat = test de omogenitate, pt că testează semnificația asocierii dintre
categoriile prezentate (=iner*1000)
3. Cum se identifică nr de dimensiuni necesare?
Se identifică numărul de dimensiuni în funcție de cât de multă informație surprind acestea
(=dim=scorul ferent dimensiunii, variance = inerție, ctr=contribuția)
Graficul rezultat în urma aplicării AC (Grafic A3.1), proiecția punctelor în spațiul bidimensional,
confirmă concluziile oferite de profilurile pe linii și coloane. În ceea ce privește corespondențele
rânduri-coloane, se poate observa că salariații din domeniile intermediere financiară, activități
recreative și cel al comunicațiilor se regăsesc cu predilecție în apropierea macroregiunii 3 (sud-
Muntenia și București-Ilfov), existând o distanțare mare între aceștia și celelalte macroregiuni.
Macroregiunea 2 (nord-est și sud-est) se asociază îndeosebi cu domeniile agricultură,
învățământ, sănătate și domeniile de utilități publice, în timp ce macroregiunile 1(regiunile nord
vest și centru) și 4 (sud-vest Oltenia și vest) sunt mai apropiate de domeniile industriale.
p-value < 0.05 => respingem ipoteza nula => variabilele nu sunt independente
Prima dimensiune retine 71.26% din info si a doua 20.88%
Urmeaza mai jos analiza pe randuri si analiza pe coloane. (inertia pe randuri = inertia pe coloane)
Inertia pt fiecare variabila
Dim1=scorul fiecarei var cu care poate fi scris dimensiunea
Ctr= contributia fiecarei var la dim construita
Cos2 = importanta fiecarei inregistrari in constructie (corelatie cu axa respectiva)
Putem vedea ca macro 3 se distanteaza cel mai mult (-0.25) (axa -) de dim 1 si pentru dim 2 se
remarca macro 1 si 2 (axa | )
Apropierea punctelor demonstreaza asocierea domeniilor la diverse macrocategorii
Macro 1 si 4 sunt associate cu industria prelucratoare si extractive
Macro 3 e aproape de recreative
Macro 2 predominant e agricultura si invatamant
Obs comunicatii si intermedierea finaciara ca sunt foarte distantate de centrul, asta inseamna ca
sunt distincte de cele uniform distribuite in centru.
Domeniile uniform distribuite in centru sunt cele de interes public
Analiza asocierilor
1. Ce inseamna un set frecvent?
Set de obiecte al cărui suport este mai mare decât un prag minim
2. Cum se identifica asocierile in algoritmul apriori? Statistici folosite si indicatori de
măsurare a calității asocierilor
Algoritmul Apriori generează regulile de asociere pe niveluri, regulile fiind generate prin unirea
succesivă a componentelor din dreapta. Este pentru reducerea numărului de seturi.
3. Ce este lift? Ce neajunsuri ale măsurilor încredere și suport înlătură?
Lift = nivelul de încredere pentru asocierea între 2 obiecte//măsoară suportul unei asocieri față de
ipoteza de independență = încrederea asociată obiectului/suportul oferit de un anumit obiect
>1 => legatura directa
<1 = > legatura inversa, asociere negative (cei care utilizeaza ob 1, sunt mai putin indreptati sa
consume ob2)
4. Cum se transformă variabilele continue pentru aplicarea analizei asocierilor
Datele trebuie asociate in diverse liste // tprelucrarea variabilelor in categoriale si transformarea
setului de răspunsuri în unul de tranzacții
5. Ce este un cross support pattern?
Un nivel prea scăzut al suportului ar putea duce la identificarea de cross support pattern –
asocieri false de tipul p, q datorate suportului extrem de ridicat a lui p
Chiar și folosind această statistică este posibil să sepiarda patternuri semnificative care un nivel
scăzut al suportului, dar care datorită persistenței asocierii ar acea un nivel ridicatde încredere
6. Paradoxul simpsons
este un fenomen în probabilitate și statistici, în care o tendință apare în mai multe grupuri diferite
de date, dar dispare sau se inversează atunci când aceste grupuri sunt combinate
Analiza ASOCIERILOR
- Ne intereseaza sa vedem asocierea intre categorii de variabile in urma unor actiuni
- Se cauta toate regulile de asocieri care se formeaza (identificarea relatiilor intre variabile)
- Dupa se observa de cate ori asocierea respective apare in cadrul setului de date
- Pentru aceasta analiza, datele trebuie structurate in diverse liste
- Ne luam dupa atributele pe care se bazeaza relatiile intre variabile:
#support=ponderea trazac??iilor care con??in elementele din regula – DE CATE ORI APAR
#confidence=masoara cât de des obiectele din Y apar în tranzac??ii care îl con??in pe X: raportul
dintre tranzactiile {x,Y}/{x} -> ASOCIEREA DINTRE ELE
#lift= masoara suportul unei asoceieri fa??a de ipoteza de independen??a:
# Daca I(X,Y)=1, X ??i Y sunt independente
# I(X,Y)>1, între X ??i Y exista o legatura directa
# I(X,Y)<1, între X ??i Y exista o legatura inversa
- Mai intai se gasesc cele mai frecvente produse din baza de date, apoi se realizeaza
relatiiloe dintre acestea
- COmanda apriori – scoate seturile frecvente (cu un support mai mare de 10%)
- Observam realizarea a 8 seturi
transIdentical = suportul in tranzactiile cu produsul respective
count= aparitia in tranzactii
support= suportul in toate tranzactiile din baza de date
Daca modificam si punem un support mai mic, se vor crea aprox 300 de seturi
Sortam primele 10 itemuri in functie de support – cel mai cumparat produs care apare in
25% din tranzactii este laptele
- Cand vrem sa descoperim seturile frecvente si sunt ff numeroase, putem utiliza metodele
seturilor inchise sau seturilor maximale – vizualizam intr-un mod mai restrains
- Seturile maximale = seturi care nu au subseturi in jurul acestora
- Nivelul de incredere este calculate la nivel de relatii create intre produse
Se gasesc 410 reguli de asociere intre produse si le ordonam supa support (cea mai mare
valoare)
Cel mai mare support, de 3% (toate elementele impreuna), coverage este suportul
elementrlor din stanga, lift = suma valorii asocierilor (cea mai mare masura de asociere)
Observam ca fructele citrice, tropicale, vegetalele, lapte sunt cumparate impreuna cu alte
legume
In 90% din cauzrile in care se cumpara pordusele din stanga, genereaza si achiziotnarea
berii
!!! Atentie mare la produse cu mare support in analiza – asocierile pot fi eronate datorita
frecventei achizitionarii produselor