Sunteți pe pagina 1din 19

Data Mining

Clusterizare
-proiect-

Statistică privind promovabilitatea la primul examen pentru fiecare școală


de conducători auto și pentru fiecare instructor auto de pregătire practică,
raportat la anul 2013

Andreea Tudorache,
Master BDSA
Grupa 1092
Profesor coordonator: Felix Titus Furtună

București
-2019-

1
Pentru realizarea proiectului am utilizat un set de date preluat de pe site-ul
http://data.gov.ro/dataset?res_format=csv. Am ales ca domeniu de studiu pentru realizarea
analizei o statistică privind promovabilitatea la primul examen pentru fiecare școală de
conducători auto și pentru fiecare instructor auto de pregătire practică, raportat la anul 2013.
Detaliat, am folosit următoarele informații: județul în care se află școala auto, denumirea școlii,
instructor, numărul candidaților examinați, numărul candidaților admiși și procentul ce
reprezintă cât la sută dintre candidații examinați au promovat examenul.
Prin analiza efectuată am observat procentul persoanelor care au promovat examenul,
în funcție de județ, școală auto și instructor.
Am lucrat în Oracle Data Mining, pe serverul 37.120.250.20, cu user dm2, pass stud2,
numele proiectului: proiect_promovabilitate_at.

Școala de conducători auto în România


Permisul de conducere pentru mașinile din categoriile B și BE se poate obține de la
împlinirea vârstei de 18 ani, în timp ce pentru cvadriciclurile din categoria B1 este suficientă
vârsta de 16 ani, potrivit legislației rutiere. Câteva modificări la modul de obținere a permisului
s-au făcut anul trecut, astfel că, de exemplu, candidații trebuie să știe că probele de examen se
înregistrează audio și video. Pentru a conduce în mod legal un autovehicul din categoria B sau
BE ori pentru un cvadriciclu (categoria B1) este necesar, potrivit Codului rutier, să deținem un
permis de conducere corespunzător.

Am preluat datele de pe http://data.gov.ro/dataset?res_format=csv și le-am importat în


Oracle Data Mining.

2
Figure 1 - Datele importate

Construire model K-means


K-Means este un algoritm de clasificare nesupervizată bazat pe o idee simplă, pornind
de la un număr prestabilit de grupe. Ideea constă în a define, de la început, k centrii de grupă,
câte unul pentru fiecare grupă. Modul în care sunt aleși acești centrii este important, deoarece
influențează numărul de iterații ulterioare. După alegerea inițială a centrilor urmează un proces
iterativ de ajustare a pozițiilor acestora, astfel încât fiecare centru să grupeze în jurul său cele
mai apropiate instanțe.

Figure 2 - Construire model K-means

3
Am ales să creez un număr de 5 clusteri, iar pentru aceasta am utilizat funcția
euclidiană, criteriul de diferențiere fiind variația.

Figure 3 - Construire model K-means

În construirea clusterelor am folosit toate variabilele, mai puțin cele non-numerice, pe


care le-am ignorat.

Figure 4 - Ignorarea datelor non-numerice

4
Histograme K-means
Există o multitudine de histograme în funcție de câte clastere avem, putând fi analizată,
astfel, orice combinație. Pentru exemplificare am ales:

1. Cluster 3, variablia procent

Figure 5 - Cluster 3, variabila procent

Pentru figura de mai sus, în care am evidențiat variabila procent în clusterul 5, media a
ieșit în valoare de 35.0539.

5
2. Cluster 9, variabila nr_candidati_admisi

Figure 6 - Cluster 9, variabila nr_candidati_admisi

3. Comparație între clusterul 7 (roșu) și clusterul 8 (albastru)

Figure 7 - Comparație între clusterele 7 și 8

6
4. Comparație între clusterul 10 (roșu) și clusterul 3 (albastru)

Figure 8 - Comparație între clusterele 10 și 3

În figura de mai sus se poate observa o comparație între clusterele 10 și 3. Astfel,


în cadrul histogramei care ilustrează procentul se poate observa valoare controidului, atât
pentru valorile din clusterul 10, cât și pentru cele din clusterul 3. Aceasta valoare este una
dintre cele mai importante, deoarece reprezintă media valorilor din componența clusterului.

Construire Algoritm O-Cluster


Algoritmul O-Cluster face parte din categoria algoritmilor de clusterizare de tip grid.
Acesta reprezintă p implementare perfecționată a algoritmului OptiGrid și se bazează pe
conceptul de proiecție a datelor (contracting projection) într-un spațiu unidimensional sau
bidimensional. Algoritmul construiește recursive partiții ale datelor cu ajutorul unor plane
despărțitoare, care traversează setul de date în zone de mica densitate. Aceste zone, denumite
văi (valleys), sunt intercalate de zone de densitate mare, denumite vârfuri (peaks).
Specificații și utilizări O-Cluster:

 propune utilizarea testelor statistice pentru validarea calității planelor


despărțitoare;

7
 operează pe un set mai mic de date, obținute ca eșantion la setul de bază
– acest lucru este implementat cu ajutorul unui buffer, a cărui
dimensiune poate fi parametrizată.

Figure 9 - CLUS_OC_1_1654

Figure 10 - Construire cluster CLUS_OC_1_1654

Am setat numărul de clustere 5, iar senzitivitatea 1, pentru a obține o împărțire de mică


densitate.

8
Figure 11

Histograme O-Cluster

1. Cluster 9, variablia procent

Figure 12 - Cluster 9, variabila procent (OC)

9
2. Comparație între clusterul 3 (roșu) și clusterul 4 (albastru)

Figure 13 - Comparație între clusterele 3 și 4 (OC)

Aplicare model K-means


K-means Oracle este implementat ca un algoritm de învățare, având 2 faze:

 faza e construire a ierarhiei conform modelului algoritmic;


 faza de aplicare a modelului, care, pe baza unor metrici calculate în faza de
construire, repartizează instanțele în clustere.

Aplicarea modelului se poate face și pentru instanțe care nu au fost utilizate în faza de
contruire a modelului.
Metricile calculate în faza de construire a modelului sunt următoarele:

 scoruri probabilistice de apartenență la clustere pentru fiecare instanță din setul


de date folosit la construirea modelului, folosind teorema Bayes;
 algoritmul calculează pentru fiecare cluster centroidul, histograme pentru fiecare
variabilă și reguli de descriere a clusterului (reguli de apartenență la cluster);
 scoruri probabilistice la nivel de clustere (nivel de încredere) pe baza regulilor de
apartenență.

Pe baza acestor caracteristici, modelul Oracle K-means poate funcționa atât ca un model
descriptiv, cât și ca un model de predicție.

10
CLUS_KM_1_1640

Figure 14 - CLUS_KM_1_1640

Figure 15

În urma rulării workflow-ului, valorile obținute în nodul Apply sunt evidențiate mai jos:

11
Figure 16

Mai departe, am realizat o interogare SQL prin care am pus condiția ca


“CLUS_KM_1_1667_CLID” să fie egală cu clusterul 8.

Figure 17 - Interogare SQL

12
Figure 18

Adăugăm o nouă setare, și anume ca numărul de caracteristici pe care vrem să îl aibă


modelul să fie egal cu numărul de variabile.
În continuare, pentru analizarea modelului, am creat un Feature Build și am verificat
output-ul obținut.

Figure 19 - Creare Feature Build

13
Figure 20

Figure 21

14
Valorile coeficientului pe care le-am obținut pot fi observate în imaginea următoare.

Figure 22

15
Pe baza filtrului pe care am ales să îl aplic am obținut un nou set de date, pentru care
FEAT_NMF_1_1673_FEID este egal cu 1.

Figure 23 - Afișare date cu filtru aplicat

16
Aplicare model extragerea caracteristicilor esențiale (FE)

Figure 24

Următorul grafic este realizat pe baza filtrului mențioant anterior.

Figure 25- Grafic

17
În continuare, am realizat un grafic în care am ales datele unde
FEAT_NMF_1_1673_FEID este diferit de 4 și am grupat datele rămase în funcție de județ.

Figure 26 – Grafic

Figure 27 - Grafic rezultat direct din output

18
Flow-ul final arată astfel:

Figure 28 - Flow

19

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