12. Duomenų tyrybos uždaviniai Flashcards
Duomenų tyrybos procesas: 6 CRISP-DM žingsniai pagal Microsoft, 5 SEMMA žingsniai pagal SAS.*
6 CRISP-DM žingsniai pagal Microsoft:
1. Problemos suformulavimas (defining problem)
2. Duomenų parengimas (preparing data)
3. Duomenų tyrinėjimas (exploring data)
4. Modelių parinkimas ir kūrimas (building models)
5. Modelių derinimas ir validavimas (validating
models)
6. Modelių implementavimas realiam naudojimui
ir atnaujinimas (deploying and updating models)
5 SEMMA žingsniai pagal SAS:
1. Sample from dataset;
2. Explore dataset;
3. Modify, pre-process data;
4. Model data;
5. Assess model;
Kokie yra pagrindiniai duomenų tyrybos uždaviniai, t.y. kokie mašininio mokymosi tipai yra žinomi?
- be mokytojo – neprižiūrimas (unsupervised) (X, Y → Y = f(X), Y – tikslas kažkoks, ką norime išgauti)
* taisyklių išgavimas, klasterizavimo uždavinys, dimensionalumo mažinimas (pvz. vizualizavimui) - su mokytoju – prižiūrimas (supervised) (X → daug duomenų, neaišku, ką daryti)
* klasifikavimo bei regresijos uždaviniai - dalinai su mokytoju (semi-supervised)
* kada kai kurios išėjimo reikšmės nežinomos - su grįžtamuoju ryšiu (reinforcement) → labiau tinkamas dirbtiniam intelektui, ne tyrybai (ChatGPT)
* kada modelis tobulinamas realiu laiku
Kokie 3-4 pagrindiniai taisyklių gerumo įverčiai naudojami susietumo taisyklių išgavimo uždavinyje (pirkinių
krepšelio analizėje)? Žinoti įverčių formules.
krepšelio analizėje)? Žinoti įverčių formules.
1. Palaikymas: support = P(A,B,C)
* kokiai daliai ši kombinacija egzistavo
2. Pasikliovimas: confidence = P(C | A,B)
* kokio stiprumo mūsų taisyklėje yra susietumas (jei mėgsti vieną, mėgsi kitą, pvz. grupes klauso)
3. Pranašumas/nuostaba: lift = confidence / P(C)
* retas mišinys, su didele garantija (pvz. akcijos)
4. Svertas: leverage = P(A,B,C) – P(A,B)·P(C) su ^ panašu
Ką duomenyse randa klasterizavimo uždavinys? Kada jis gali praversti verslo duomenų analizei?
Klasterizavimas - objektų grupių radimas duomenyse. Klasteris - objektų rinkinys arba grupė, duomenų „spiečius“.
Objektai klasteryje panašūs ir skiriasi nuo kito klasterio objektų.
Profiliavimas - centras (kintamųjų reikšmės), prototipas; grupes reikia pavadinti patiems.
Nėra aišku, kiek klasterių/grupių sudaryta – reikia atrasti patiem.
Kokius pagrindinius algoritmus klasterizavimo uždaviniui spręsti žinote?
Metodų tipai: partition (k-vidurkių), hierarchical, model, density..
* Particijų – ieško nurodyto skaičiaus klasterių (flat partitioning)
* Hierarchiniai – suformuoja dendogramą, t.y. medį, kurį pjaunant pasirinktame aukštyje gauname konkretų
klasterių skaičių; visas įmanomas grupes suranda.
Kokius vidinius kriterijus, skirtus įvertinti klasterizavimo gerumui, žinote?
vidiniai kriterijai (kai grupės nežinomos):
➢ max vidutinis silueto plotis (silhouette > 0.25) (-1,1)
➢ max atotrūkis (gap, Tibshirani-Walther-Hastie)
➢ max Dunn indeksas (min atstumas tarp klasterių / max atstumas klasteryje)
➢ min nutolimas nuo centro kvadratu (WithinSS)
➢ max Calinski-Harabasz, min Davies-Bouldin.
Kokie dimensionalumo mažinimo pritaikymai? Kokie algoritmai naudojami šiam uždaviniui spręsti?
Uždavinys - suspausti N kintamųjų iki 2 arba 3 esminių. Ypač praverčia kai kintamieji yra koreliuoti (~ panašūs). Spaudžiant
stengiamasi išlaikyti pradinius N-mačius atstumus
1. PCA – principinių komponenčių analizė
2. ICA – nepriklausomų komponenčių analizė
3. t-SNE – stochastinio kaimynų įterpimo algoritmas
4. kiti algoritmai: SOM, CCA, Isomap, Sammon, LLE.
Kuo mokyme su mokytoju skiriasi regresijos uždavinys nuo klasifikavimo uždavinio?
➢ Jei prognuozuojama reikšmė, tolydi ( skaičius su kableliu) - regresija
➢ Jei diskreti (kategorinė) - klasifikavimas (pvz. prognozuojama reiškmė gaunama yes or no)
Kada klasifikavimo uždavinį galime vadinti detekcijos uždaviniu?
Kai klasifikuojama į 2 klases. Jei >2 kl. – klasifikavimas.
Kokie modeliai / algoritmai žinomi klasifikavimo uždaviniui spręsti?
- Logistinė regresija, probit regresija (logit koeficientų interpretacija: ekoef = odds ratio = P(Y=1) / P(Y=0)).
- Tiesinė (bei kvadratinė) diskriminantinė analizė
* randama nauja ašis, į kurią suprojektavus duomenis matomas maksimalus atskyrimas tarp klasių centrų ir
minimali sklaida kiekvienos klasės viduje - Naivaus Bajeso algoritmas (įėjimo kintamieji diskretūs)
- K-artimiausių kaimynų (k-nearest neighbor, k-NN) – apmokymo metu tik išsaugomi duomenys, veiksmas
testuojant, lėčiausias būdas - Sprendimų medžiai supjausto erdvę į „mozaiką“, radus slenksčius skirtingos grupės:
* populiariausi – CART (classification and regression tree)
* kiti variantai – ID3, CHAID, C4.5 - Atsitiktinis miškas (random forest) – CART kolektyvas.
* atsparus persimokymo fenomenui, sukuria atsitiktinai – jie negali matyti visų kintamųjų, neduoda visų
duomenų, nes duoda/renka atsitiktinai. - Atraminių vektorių (SVM, support vector machine) – leidžia paraštes su „klaidomis“
* naudoja įvairius branduolius, universaliausias - Gauso (RBF) - Daugiasluoksnis perceptronas – neuroninis tinklas
* gilus mokymas (deep learning), konvoliuciniai tinklai
Kokios kreivės padeda palyginti detekcijos gerumą tarp skirtingų modelių?
Išėjimo reikšmė tolydi (soft decision) ir uždavinys detekcijos (dvi klasės):
1. DET kreivė
2. ROC kreivė, plotas po kreive (AUC)
3. Precision-Recal kreivė
4. Koncentracijos, pranašumo (lift), pelno (profit) kreivės
Kokie skaitiniai įverčiai naudojami apibendrinti detekcijos gerumui?
- Lygių klaidų lygis (EER)
- F-measure
Išėjimo reikšmė diskreti (hard decision) arba uždavinys yra klasifikacijos (>2 klasės) – sumaišymų matrica:
Kiekvienai klasei: precision, recall, F-measure
Visoms klasems: bendras (overall) tikslumas, Kappa
Kaip gaunama ir kam naudojama sumaišymų matrica (confusion matrix)?
Sumaišymų matricos parodo teisingai ir neteisingai suklasifikuotų duomenų atvejų skaičių. Sumaišymo matricos paskirtis
identifikuoti kokios rūšies klaidos būdingos prognozavimo modeliui.
Kas mokyme su mokytoju laikoma persimokymo problema?
Persimokymas = modelio klaida apmokymo duomenims yra žymiai mažesnė negu testavimo. Kai modelis pernelyg tiksliai
veikia su apmokymo duomenimis, bet prastai prognozuoja jam pateiktus nematytus duomenis.
Kam reikia duomenų padalinimo į apmokymo ir testavimo imtis?
Modelio gerumo įvertinimui. Dažnai duomenys padalinami į apmokymo ir testavimo imtis, kad išvengti persimokymo
problemos.