Adatbánya Gyakorlat
Read CSV
- open file: url , path
- read csv
- column operator: \t
- decimal character :
- use quotes ✅
- parse numbers ✅
- rename (attributes): listába eredeti - új név
- numeric to polynomial:
- attr filter type: single
- attl: label
- set role
- attr name: pl label
- attr role: pl label
- store: tárolás helyének megadása + név
PCA
Dimenzió csökkentés - fő komponens analízis
- adathalmaz behúzása
- normalize: adatok normalizálása
- subset
- kiválasztjuk hogy melyik attr
- range min 0.0, max 1.0
- split data: train és test adathalmaz
- paritions 0.7, 0.3
- stratified sampling
- PCA: reduction keep variance
- treshold 0,95
- train adathalmazt belehúzni (split 1)
ahol már nagyobb a commulative var. mint 0,95 azokat az attr-kat kivesszük a modellből (az utolsó ahol elérjük az értéket)
- apply model: PCA és split data testje
- felépített modell alkalmazására
- PCA pre:mod, split2:unl
Döntési fa (szimpla predikció magyarázattal)
- adathalmaz behúzása
- split data: train-test 0.7-0.3
- multiply train: többször fog kelleni
- multipy test: ez is
- decision tree: train belehúzva
- gain ratio, max depth: 10, confid: 0,1, min gain: 0.01, min leaf: 2
- apply model a 2 kimenetre (mod, exa)
- apply model2: az 1. apply mod kimenetele és a test adathalmaz
a lab kimenet a test predikcióit tartalmazza
confidence is van, a döntési fa modellje
- multiply model: a 2. apply mod kimenete
- explain prediction:
- multipy mod
- train
- test
- explain attr: 3
- EPOO: melyik attribútum járult hozzá erősebben a döntés meghozatalához
- test adathalmazra: zöld ha segítette a predikciót, piros ha ellentmondott velük
- ezt mutatja egy másik output 1-1 attr-al
- minden sor külön attr-ok fontossága
- attr-ok súlyozására
Döntési fa (precedencia értékeléssel)
- adathalmaz
- split data 70-30
- multiply
- decision tree: train behúzva
- beállítások ua. gain ratioval
- apply model a dt 2 kimenetelére
- performance (binomial): az apply 1 kimenet
- main: first
- accuracy, classification error, AUC ✅
Megadja az illesztés pontosságát, az eltalált osztályok %-os megoszlását
- apply mod az 1. mod kimenetelével és a test adathalmazzal
- performance(binom): ua. a 2. apply mod-re
- performance exa kimenetele:
- sort by confidence descenfing
- filter example range 1-10
az első tíz legbiztosabb (true) sort adja vissza
- az apply mod 2 mod kimenete multiply + test adathalmaz
- create lift chart
- class: ture
- type: frequency
- number: 10
- false-ra is ugyan ilyen lift chart
confidencia és prediktált/valós érték alapján diagrammot készít
Több döntési fa összehasonlítása (pontosság kiértékelése)
- adathalmaz behúzás
- multiply az egész adathalmazra
- 4 db split validation, 4 féle döntési fa
- split: relative
- ratio 0.7
- type: automatic
- training oldal: decision tree
- gini index ua. de max leaf 10
- information gain ua.
- gain ratio ua.
- accuracy ua
ave kimeneteket kihúzni outputnak egyel feljebb, megadja a fák pontosságát
- test oldal: apply modell, performance binomial, first 3 ✅
- kívül apply model az első split validation kimenetére (mod) + adathalmaz
- filter több dolog szerint custom_filter (spam=false, prediction=true), több kimenet
- exa sort conficence(true) descending
- original (ori) sort conficence(true) descending
Osztályozási módszerek
- adathalmaz
- normalize: all range 0.0-1.0
- multiply data egész adathalmaz
- 4 split validation
- train: rule induction (szabály alapú)
- minden az alapbeállításokon
- test: apply model, performance binom first 3 ✅
- train: naiv bayes
- test ua.
- train logistic regression (minden az alapon)
- test: ua.
- train neural network (alap)
- test ua.
- train: rule induction (szabály alapú)
- output: mod és ave
- Compare Rocs: a 4 split validation ide is bele, ugyan úgy, másolás
- roc outputba
Az egyes osztályozó modszerek pontosságai hasonlíthatóak össze a segítségével
SVM (támaszvektor gép)
- adathalmaz
- normalize subset ( 3 capital )
- split data 70-30
- multiply train test
- SVM1 kernel : dot , C : 0.1
- SVM2 kernel: polynomial, C: 0.1
- 2 apply model a 2 SVM modeljére és a teszt adathalmazra
- 2 performance binom first 3 ✅
két féle SVM kimenetének, pontosságának összehasonlítása
Ensemble módszerek (bagging, boosting)
- adathalmaz
- multipy
- 3 split validation
- train bagging
- test apply model performance binom first 3 ✅
- train decision tree
- test ua.
- train: adaboost
- test ua.
- output: mod és ave
modellek és a velük elérhető pontosságok összehasonlításai
Klaszterezés
- adathalmaz
- multiply egész adathalmaz
-
k-means clustering k = klaszterek száma
- még két multiply
- map clustering as labels:
- első input k-means 2. output
- második input k-means 1. output
- cluster model visualizer
- első input k-means 1. output
- második input k-means 2. output
-
loop parameters: input az adathalmaz
- k-means: n=5
- performance(cluster distance performance): fordított kötés
- log: 1 perf. out
- Number of cluster: Clustering(2) parameter k
- Avg. within distance: Performance value avg_within_distance
- Davies-Bouldin index Performance value DaviesBouldin
megfelelő klaszterszám megtalálása az adathalmazra
charts: x= cluster, y= avg distance
ahol a nagy törés van az a jó klaszterszám
Egyéb klaszterezési algoritmusok
- adathalmaz, multiply
- k- means k=4 2.output out
- agglomerative clustering: simple
- agglomerative clustering: complete
- agglomerative clustering: average
- mind 3ra lapítás Flatten cluster k=4 2.output out
output vizualizáción összehasonlíthatóak az egyes klaszterezések eredményei
- multiplyból detect outlier (5,2,1)
- filter examples outlier = false
- agglomerative clustering: complete
- flatten
DBSCAN
- adathalmaz
- DBSCAN: epsilon=2.5
Megfelelő ε értékkel az elvárt klasztereket kapjuk
az eredményt az output vizualizációjában játjuk (pontok távolságán alapul)
Társítási szabályok
- adathalmaz
- filter examples
- túl gyakori a heineken, ront az eredményen ezért kiszűrjük
- PRODUCT = heineken ; invert filter ✅
- multily, az egyik már kiküldve végső outputra
- subprocess (adatelőkészítés) az FP growth-hoz
- aggregate: PRODUCT concatenation
- group by CUSTOMER
- Rename concat(PRODUCT) -> Products ; additional CUSTOMER -> Customer
- set role Customer : id
- Multiply, 2 kivezetés outputra a subprocessből, az egyik bekötve végső outputra is
- aggregate: PRODUCT concatenation
- FP growth
- list item in column ; min support 0.1, min number of itemset 50
- Create association rules ; input : FP growth fre (frequency) outputja
- alap beállítások, mindkét output kivezetve végső outputra
- másik subprocess az apriorihoz
- generate attributes ; TIME -> TIME+1
- pivot
- group by attributes CUSTOMER
- column grouping attribute PRODUCT
- aggregation attributes; TIME:sum
- rename by replacing sum\(TIME\)_ -> semmire
- replace missing values ; default: zero
- numeric to binomial; single: CUSTOMER ; inverted ✅
- set role CUSTOMER: id
- Multiply, 2 kivezetés outputra a subprocessből, az egyik bekötve végső outputra is
- w-apriori
- N: 20.0
- M: 0.01
- I ✅
- V ✅
- kivezetés végső outputra
Arra jó hogy megtudjuk a datasetből, hogyha valaki ezt meg azt a terméket veszi, mennyire valószínű hogy amazt a terméket is megveszi
appriroi output alján pl best rules
chicken=true ice_crea=true sardines=true 116 ==> coke=true 116 conf:(1) ha csirkét ,meg iceteát meg szardíniát vesz, akkor tuti vesz kólát is
az fp growth után lévő create association rules outputjában a descriptionnél ugyan ilyen szabályok
pl: [chicken, ice_crea, sardines] --> [coke] (confidence: 1.000)
Rendellenesség keresés
- adatbázis-normalize-multipy
- sample (relative 0.1)
- detect outlier distance : neighbour változhat
- detect outlier densities (12, 0.9)
- sample, ua.
- detect outlier LOF
- PCA fixed, 2 - multiply
- apply modellek: mod= PCA, url= outlier output 1
eredmények szintén az output vizualizációjában hasonlíthatóak össze
melyik módszer mit detektált kiugró értéknek