Top Banner
Priprema i čišćenje podataka Zagreb, 23.03.2016. Lada Banić, vodeći konzultant Marko Štajcer , direktor Inovacija i razvoja
52

Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Aug 29, 2019

Download

Documents

dokhuong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Priprema i čišćenje podataka

Zagreb, 23.03.2016. Lada Banić, vodeći konzultant

Marko Štajcer, direktor Inovacija i razvoja

Page 2: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

CRISP metodologija za DM

Page 3: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

CRISP metodologija za DM

Page 4: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Priprema podataka

Podaci su „prljavi”

nepotpuni:

atributima nedostaju vrijednosti

nedostaju atributi koji bi bili interesantni za analizu

podaci su agregirani (nedostaju detaljni podaci)

šum u vrijednostima pojedinih atributa

podaci sadrže outliere

podaci sadrže greške

nekonzistentnost podataka

Podaci sadrže razlike u kodovima ili nazivima

Page 5: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Priprema podataka

Ako podaci nisu kvalitetni ne možemo

očekivati kvalitetne rezultate

Kvalitetne odluke moraju biti bazirane na

kvalitetnim rezultatima

Page 6: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Priprema podataka

Page 7: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Tipovi podataka

Nominalni podaci

ID korisnika, imena osoba

Categorijski podaci

boja očiju, poštanski brojevi

Ordinalni podaci

Ocjena proizvoda 1-10, veličine: XS, S, M, L, XL etc.

Intervalni podaci

datumi

primanja

trajanja

Page 8: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Osnovni zadaci pripreme podataka

Diskretizacija podataka

posebno važno kod numeričkih podataka

Čišćenje podataka

popunjavanje praznih vrijednosti atributa

identifikacija outliera i ekstrema

rješavanje nekonzistentnosti

pretvaranje podataka u standardni oblik (datumi)

Integracija podataka

Povezivanje podataka iz različitih izvora

Transformacija podataka

normalizacija

agregacija

Page 9: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Podaci koji nedostaju

Osnovni koraci za analizu podataka koji nedostaju:

Identifikacija uzoraka/razloga zašto podaci nedostaju ili nisu

pravilno zapisani

Razumijeti distribuciju podataka koji nedostaju

Odlučiti o najboljoj metodi za rješavanje problema podataka

koji nedostaju

Page 10: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Mehanizmi podataka koji nedostaju

Podaci koji nedostaju su u potpunosti nasumični (MCAR)

Vrijednosti koje nedostaju (y) ne ovise niti o x niti o y

Podaci koji nedostaju su nasumični (MAR)

Vrijednosti koje nedostaju (y) ovise o x ali ne o y

Podaci koji nedostaju nisu nasumični (NMAR)

Vjerojatnost da će podatak nedostajati ovisi o varijabli u kojoj

podatak nedostaje

Page 11: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Nadopunjavanje podataka koji nedostaju

Koristiti znanja o podacima koji nedostaju

Zašto podaci nedostaju

Distribucija podataka koji nedostaju

Mogućnosti rješavanja problema nedostajućih podataka

Brisanje zapisa

brisanje liste, brisanje parova

Metoda nadopune

supstitucija vrijednostima Mean ili Mode, metoda s dummy

varijablom, regresija

Popunjavanje vrijednosti bazirano na modelu

najveća vjerojatnost, popunjavanje višestrukim vrijednostima

Page 12: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Brisanje kao metoda rješavanja problema

podataka koji nedostaju

Brisanje cijelih zapisa Brisanje parova

vrijednosti

Page 13: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Nadopunjavanje podataka koji nedostaju

Supstitucija vrijednostima Mean/Mode zamjena vrijednosti koje nedostaju u uzorku srednjom vrijednošću ili

mode vrijednošću

Mean – srednja vrijednost

Median – vrijednost koja zauzima

srednju poziciju kada se sve

vrijednosti varijable poslažu redom

Mode - vrijednost s najvišom

frekvencijom

Page 14: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Nadopunjavanje podataka koji nedostaju

Definiranje Dummy varijable Kreiranje polja indikatora za vrijednost koja nedostaje

flag s vrijednostima:

1 vrijednost nedostaje

0 vrijednost postoji

Popuniti vrijednosti kojenedostaju konstantom

mean/mode

Uključiti indikator u model

Page 15: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Nadopunjavanje podataka koji nedostaju

Popunjavanje nedostajuće vrijednosti temeljem regresije Predviđanje vrijednosti rezultatom regresijske jednadžbe

prednost: upotreba postojećih podataka

Page 16: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Outlieri i ekstremi

opažanja koja su jako daleko od norme (sredine) za populaciju varijable

Vrijednosti koje izvan raspona -1.5 x IQR to 1.5 x IQR (IQR – inter

quartile range)

Vrijednosti koje su van 5tog do 95tog percentila

Vrijednosti koje su tri ili više standardnih devijacija od sredne vrijednosti

(outlieri između 3 i 5 standardnih devijacija, ekstremi iznad 5

standardnih devijacija od sredine raspodjele)

Mogu ovisiti o razumijevanju poslovanja

Statističke odrednice mogu biti problematične ako se ne radi o normalnoj raspodjeli

već ako je rapospodjela izduljena (skewed) i posebno za male uzorke. Zato su Van

Selst i Jolicoeur 1994 prepremili tablicu sa specifikacijom outliera ovisno o veličini

uzorka, kako bi minimizirali probleme koji se javljaju kod distribucija koje nisu

normalne.

Page 17: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Outlieri i ekstremi

Outleiri mogu značajno utjecati na rezultate analize podataka i statističke

modele. Mnogi su negativni utjecaji:

Povećana greška varijance i smanjuje točnost statističkih testova

Ako outlieri nisu nasumično distribuirani mogu smanjiti normalnost

raspodjele

Također mogu utjecati na osnovne pretpostavke za Regresiju, Anovu

i ostale pretpostavke statističkih modela.

Page 19: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Vrste outliera i ekstrema

Ako outlier ne mijenja rezultat ali utječe na pretpostavku treba ga izbaciti.

Primjer: outlier ne mijenja regresijski pravac koji će biti isti uzeli ga u

obzir ili ne.

Page 20: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Vrste outliera i ekstrema

Kada outlier ima utjecaja na rezultate i pretpostavke nije moguće samo

odbaciti zapis s outlierom, treba napraviti analizu sa i bez outliera i pratiti

rezultate.

Page 21: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Vrste outliera i ekstrema

Ako outlier kreira pretpostavku, treba ga izbaciti.

Primjer: povezanost x i y osi je kreirana zbog outliera. Bez njega ne

postoji korelacija između x i y osi pa regresijski koeficijent ne

opisuje stvarni utjecaj x na y.

Page 22: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Izvori outliera i ekstrema

Slučajna greška kod unosa

Namjerna ili motivirana greška za nekorektno izvještavanje – kod

ispitanika koji iz bilo kogje razloga ne žele reći istinu (npr. ispitivanje

teenagera o korištenju droga i alkohola)

Outlieri zbog greške u uzorkovanju – moguće je da se prilikom uzimanja

uzorka uzme i nekoliko zapisa koji pripadaju drugoj populaciji

Standardizacije istraživanja ako se ne obraća pažnja na okolinu

Krive pretpostavke o distribuciji podataka bilo da je distribucija izdužena,

bliža asimptoti etc, sezonsko ponašanje i slično – to su legitimni podaci i

njima je mjesto u podacima, ne izbacuje ih se.

Page 23: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Izvori outliera i ekstrema

Veličina uzorka; u normalnoj distribuciji vjerojatnije je da će odabrani

uzorak podataka dolaziti iz gušće naseljenog područja ali kako

povećavamo uzorak ako je njegova populacija odražava raspodjelu iz

koje je izdvojen, vjerojatnost da ćemo obuhvatiti outlier uzorkom postaje

sve veća.

Postoji samo 1% vjerojatnosti da će iz normalne distribucije

podataka biti izvučen outlier, dakle u prosjeku postoji 1%

vjerojatnosti da će uzorka biti 3 standardne devijacije od prosjeka.

Outliers kao fokus istraživanja

teenager sa 100 najboljih prijatelja.

Page 24: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Rješavanje problema outliera

Najveći dio metoda kako riješiti outliere se podudara s metodama koje se

koriste za vrijednosti koje nedostaju i o su:

Uklanjanje takvih zapisa

Transformacija zapisa

Binning

Promatranje takvih zapisa kao zasebnih grupa

Druge statističke metode

Page 25: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Rješavanje problema outliera

Transformacije:

Prirodni logaritam smanjuje varijaciju koja je uzrokovana ekstreminm

vrijednostima.

Page 26: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Priprema podataka

Ako podaci nisu kvalitetni ne možemo

očekivati kvalitetne rezultate

Kvalitetne odluke moraju biti bazirane na

kvalitetnim rezultatima

Page 27: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Izvor podataka

Izvor podataka je Excel datoteka

Sadrži preko 2000 akcija po utakmici

Podatke je ustupila tvrtka 'Once sports‘

Eksport u .xls format iz Once sustava za prikupljanje i

analizu podataka

Page 28: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Primjeri alata za realizaciju rješenja

MySql relacijska baza podataka

http://www.toadworld.com/m/freeware

https://www.mysql.com/products/workbench/

Alat za integraciju podataka

https://marketplace.informatica.com/solutions/pcexpress

https://www.talend.com/products/talend-open-studio

R Studio

https://www.rstudio.com/products/rstudio/

Alat za vizualizaciju podataka

http://www.cytoscape.org/

http://community.pentaho.com/

Page 29: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Relacijska baza podataka

Koncept

Dr. E. F. Codd je postavio model relacijske baze podataka 1970. g. koji

je i danas temelj za RDBMS sustave

Relacijski model se sastoji od skupa objekata ili relacija

Relacija se prikazuje tablicom u kojoj redak odgovara jednoj n-torki,

a stupac jednom atributu (koji poprima vrijednosti iz domene)

Vrijednost jednog atributa su podaci iste vrste ili tipa

Skup vrijednosti jednog atributa naziva se domenom atributa

Broj n-torki naziva se kardinalnost relacije

Page 30: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Relacijska baza podataka

Page 31: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Veza između tablica

Svaki redak u tablici može biti jedinstveno identificiran pomoću

primarnog ključa – Primary key

Logički je moguće povezati više tablica pomoću vanjskog ključa -

Foreign key (FK)

Page 32: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Komunikacija s relacijskom

bazom korištenjem SQL upita

Page 33: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Osnovni SQL upit

SELECT definira koje kolone će se prikazati

FROM definira tablice iz kojih će se dohatiti podaci

WHERE definira uvjet po kojem će se podaci dohvatiti

Page 34: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Aritmetičke operacije

Page 35: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Operatori usporedbu

podataka

Page 36: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Logički operatori

Page 37: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Single-row funkcije

Page 38: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Multi-row funkcije

AVG

COUNT

MAX

MIN

SUM

......

Page 39: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

MySql Workbech – Import

podataka Vizualni alat namijenjem arhitekrima, developerima i administratorima MySql

baze podataka

Omogućava dizajniranje, razvoj, administraciju, konfiguraciju, backup MySql

baze podataka u grafičkom sučelju

Podržane su Windows, Linux i MacOs X platforme

Page 40: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

MySql Workbech – Import

podataka Koraci za import podataka u

MySql bazu koristeći MySql

Workbench

1. Konvertirati podatke iz .xls u

.csv format

2. Kreirati tablicu odgovarajuće

strukture na MySql bazi

3. Import .csv datoteke

korištenjem Wizard-a:

https://dev.mysql.com/doc/w

orkbench/en/wb-admin-

export-import-table.html

Page 41: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Grafički alati za integraciju

podataka Informatica PowerCenter Express

Page 42: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Grafički alati za integraciju

podataka Informatica PowerCenter Express – grafičko sučelje za kreiranje

toka podataka

Page 43: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Grafički alati za integraciju

podataka Informatica PowerCenter Express – profiliranje podataka

Page 44: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Grafički alati za integraciju

podataka Informatica PowerCenter Express – transformacija podataka

Page 45: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

R

programski jezik (okruženje) za statistiku, analizu podataka i grafiku

https://www.r-project.org/

open-source

jednostavan i moćan alat s kvalitetnom grafikom

dodatne funkcionalnosti preko specijaliziranih paketa

vrlo dobra podrška i dokumentacija

velika zajednica korisnika i rastuća popularnost

karakteristična data frame struktura

Page 46: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

R & MySQL konekcija

https://cran.r-project.org

R paket RMySQL

> install.packages("RMySQL")

Connection object:

> con = dbConnect(MySQL(), user = 'user',

password = 'password', dbname = 'mydb', host = 'localhost')

> dbListTables(con)

Upiti na bazu: > res = dbSendQuery(con, "select * from akcija order by

ime")

Rezultati upita: > data = dbFetch(res, n = 10)

Zapis rezultata iz R-a u bazu:

> dbWriteTable(con, "ime_tablice", df[,3:10])

Page 47: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

R & MySQL konekcija

SQLDF paket za R

https://cran.r-project.org/web/packages/sqldf/sqldf.pdf

omogućava pisanje SQL upita u R-u na data-frame i manipulaciju nad

podacima

Primjer:

pod <- sqldf("select * from res where br_golova>2")

Page 48: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Priprema podataka za SNA

vizualizacije

adjacency

matrix

• edgelist

node1 node2 node3 node4 ...

node1 - 1 1 0

node2 1 - 1 1

node3 0 1 - 0

node4 0 0 1 -

...

node1 node2 weight

382726 494081 5

884463 275550 12

193863 884463 4

275550 884463 7

Page 49: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

• Vertices

attribute1 attribute2 attribute3 ...

node1 17 0 Eintracht Frankfurt

node2 18 1 FC Augsburg

node3 12 1 Borussia Dortmund

...

Priprema podataka za SNA

vizualizacije

Page 50: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Alati za vizualizaciju podataka

Pentaho Comunity

Tableau for students, free verzija dostupna za studente

http://www.tableau.com/academic/students

Izvori podataka

ODBC, JDBC

Flat file-ovi, csv

XML

Cytoscape, Gephi – specijalizirani alati za SNA analizu

Page 51: Priprema i čišćenje podataka - estudent.hr · Osnovni zadaci pripreme podataka Diskretizacija podataka posebno važno kod numeričkih podataka Čišćenje podataka popunjavanje

Cytoscape

open-source platforma za vizualizaciju i analizu velikih mreža

izvorno dizajniran za biološka istraživanja; vizualizaciju gena i molekularnih

interakcija, a kasnije postao generalni alat za vizualizaciju kompleksnih mreža

različitih tipova

dodatne mogućnosti – Apps