Silvio Majić - Ruđer Bošković Institute · 2017. 10. 5. · tijekom izvršavanja jednog zadatka...
Transcript of Silvio Majić - Ruđer Bošković Institute · 2017. 10. 5. · tijekom izvršavanja jednog zadatka...
-
SVEUČILIŠTE U ZAGREBU
FILOZOFSKI FAKULTET
ODSJEK ZA INFORMACIJSKE I KOMUNIKACIJSKE ZNANOSTI
Ak. god. 2016./ 2017.
Silvio Majić
Podatkovna znanost
Završni rad
Mentor: dr.sc. Kristina Kocijan, doc.
Zagreb, 2017.
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
1
Sadržaj
Sadržaj .............................................................................................................................. 1
Sažetak .............................................................................................................................. 2
1. Uvod ..................................................................................................................... 3
2. Podatkovna znanost .............................................................................................. 5
2.1. Podatkovni znanstvenik........................................................................................ 5
2.2. Razlika između podatkovne znanosti i poslovne inteligencije............................. 7
2.3. Koraci u procesu podatkovne znanosti................................................................. 9
3. Veliki podatci ..................................................................................................... 11
3.1. MapReduce......................................................................................................... 12
3.2. Hadoop ............................................................................................................... 14
4. Strojno učenje ..................................................................................................... 17
4.1. Kratka povijest ................................................................................................... 18
4.2. Nadgledano strojno učenje ................................................................................. 19
4.2.1. Regresija ......................................................................................................... 21
4.2.2. Klasifikacija .................................................................................................... 22
4.2.3. Nenadgledano strojno učenje .......................................................................... 23
4.3. Potpomognuto strojno učenje ............................................................................. 24
5. Vizualizacija ....................................................................................................... 26
5.1. Osnovna pravila.................................................................................................. 27
5.2. Vrste grafova ...................................................................................................... 29
5.3. Alati za vizualizaciju .......................................................................................... 31
5.3.1. Tableau ............................................................................................................ 32
5.3.2. D3.js ................................................................................................................ 33
6. Zaključak ............................................................................................................ 35
7. Literatura ............................................................................................................ 36
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
2
Sažetak
Razvoj tehnologije donio je mogućnost stvaranja velike količine podataka, no,
time se postavilo pitanje kako ukrotiti sve te podatke? Moguće je da odgovor na to nudi
interdisciplinarno područje podatkovne znanosti. Koristeći prilagođene tehnike i metode,
omogućuje se rad s velikim podatcima i nudi rješenja kako iz njih izvući što više
informacija, te ih tako prezentirati drugima. U ovom završnom radu objasnit će se što je
točno podatkovna znanosti, koji se zadatci obavljaju unutar podatkovne znanosti i koje
sve discipline ulaze u ovo područje. Također, objasnit će se što je strojno učenje, jer ono
ima veliku ulogu u podatkovnoj znanosti olakšavajući rad s velikom količinom podataka,
te ću proći kroz njezinu povijest i glavnu podjelu. Zaključno ću pojasniti pojam
vizualizacije, zašto je bitna, koji su osnovni principi i najpopularniji alati.
Ključne riječi: podatkovna znanost, veliki podatci, hadoop, strojno učenje,
vizualizacija, tableau, d3.js
Data Science
Abstract
With the development of technology came a large amount of data. But that
created a problem of how to deal with all this data? Solution to that problem is the
interdisciplinary field of data science. Using techniques and methods that allow working
with big data and how to extract information from it and then afterwards present that
information to other people. This BA thesis will explaine what exactly is data science,
steps that are involved in data science jobs and what fields are part of it. Afterwards
machine learning will be explained, its history and the main division of machine
learning. Machine learning plays a large role in data science as it makes working with
large amount of data easier. And at the end visualization will be explained, why is it
important, main principles and the most popular tools.
Key words: data science, big data, hadoop, machine learning, visualization,
tableau, d3.js
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
3
1. Uvod
Podatkovna znanost (eng. data science) interdisciplinarno je područje kojim
podatkovni znanstvenici proširuju svoja znanja učeći kako da razmišljaju na sistematičan
način, integrirajući znanja iz različitih područja (Voulgaris, 2014). Odabrao sam ovu
temu kako bi poslužila kao most između mog srednjoškolskog obrazovanja, odnosno
ekonomske škole, i akademskog. S obzirom da se ovo područje intenzivno bavi
poslovnim svijetom, omogućuje mi da iskoristim znanja koja sam stekao tijekom cijelog
svog obrazovanja. Uzimajući u obzir širinu ovog područja, ovaj će se rad više fokusirati
na tehničke aspekte, stoga je i sam poredak poglavlja postavljen na način koji prati
redoslijed radnji koje susrećemo u području podatkovne znanosti.
Rad sam podijelio u četiri osnovne cjeline koje se tematski nadovezuju jedna na
drugu i međusobno upotpunjuju. U prvoj cjelini, odnosno u poglavlju 2, definirat ću što
je točno podatkovna znanost, koji se sve zadatci ubrajaju u ovo područje te karakteristike
podatkovnog znanstvenika. Također ću objasniti razliku između podatkovne znanosti i
poslovne inteligencije (eng. business inteligence), jer iako su područja slična, fokus im je
na različitim predmetima. Na kraju ovog poglavlja objasnit ću koji su sve koraci potrebni
tijekom izvršavanja jednog zadatka podatkovne znanosti.
U trećem ću poglavlju objasniti što su točno veliki podatci (eng. big data) i
pojasniti koje su njihove karakteristike. Nakon toga ću objasniti MapReduce paradigmu
koja igra veliku ulogu u radu s velikim podatcima, a poglavlje ću završiti opisom i
pojašnjenjem Hadoop softwara koji koristi MapReduce paradigmu za rad s velikim
podatcima.
Četvrto će poglavlje biti posvećeno strojnom učenju (eng. machine learning).
Definirat ću što je strojno učenje, kako ono funkcionira i ukratko proći kroz povijest
navedenog područja. Slijedit će glavna raspodjela strojnog učenja, te kako funkcioniraju i
koji su najpopularniji algoritmi u tim podjelama.
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
4
U posljednjem ću poglavlju objasniti vizualizaciju i osnovne principe pri kreaciji
grafova, kao i osnovne vrste grafova. Bit će govora i o alatima za vizualizaciju gdje ću
uključiti i usporedba među dva najpopularnija alata.
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
5
2. Podatkovna znanost
2.1. Podatkovni znanstvenik
Teško je točno definirati zanimanje podatkovnog znanstvenika, jer će različita
okruženja uvjetovati drugačiju definiciju. U akademskom okruženju, O’Neil i Schutt
(2013) definiraju ga kao znanstvenika koji posjeduje vještine od društvenih znanosti do
biologije, koji radi s velikom količinom podataka i suočava se s računalnim problemima
strukture, veličine, nereda, kao i kompleksnom prirodom podataka, u isto vrijeme
rješavajući aktualne svjetske probleme. Gledajući iz perspektive industrije, u obzir se
uzima i staž podatkovnog znanstvenika. Osoba na vrhu organizirat će sve od inženjeringa
i infrastrukture za sakupljanje podataka, preko problema privatnosti, s kojim će se
podatcima korisnici susretati, do toga kako će podatci biti korišteni za donošenje odluka.
Ovdje je riječ o timskom radu gdje će inženjeri, znanstvenici i analitičari morati
komunicirati s voditeljima kompanija. Osoba s manje staža bavit će se izvlačenjem
značenja i interpretacijom podataka, što zahtijeva alate i metode iz statistike i strojnog
učenja. Većina vremena se provodi na prikupljanju, čišćenju i transformiranju podataka, a
cijeli taj proces zahtijeva statistiku i vještine software inženjeringa, ali prije svega
strpljenje.
Za bolje shvaćanje polja podatkovne znanosti, možemo pogledati čime se točno
bavi. King i Magoulas (2017) proveli su anketu na koju je odgovorilo oko 1000 ljudi. Na
slici 1. prikazani su rezultati ankete. Uočavamo kako je najveći postotak ljudi kazalo
kako se bave istraživanjem podataka1. Razvoj tehnologije je omogućio spremanje velike
količine podataka, no ljudi ne znaju kako ih iskoristiti. Iznenadila me činjenica kako je
1 Sistematsko prolaženje kroz podatke, iscrtavanje distribucija, transformiranje varijabli, izračunavanje
(medijana, maksimuma, minimuma, gornjih i donjih kvartala), identificiranje devijacija itd.
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
6
preko 20% ispitanika izjavilo kako im je zadatak učiti i/ili trenirati druge, jer nam to
pokazuje kako podatkovni znanstvenik, osim što mora znati kako raditi s podatcima,
mora znati raditi i s ljudima.
Slika 1. Prikaz kojim se zadatcima bave podatkovni znanstvenici
Preuzeto iz: King i Magoulas (2017:26)
Drugi način koji nam može poći da shvatimo polje podatkovne znanosti je da
gledamo kojim se aktivnostima bave. Postoje tri skupa aktivnosti koje se ponavljaju za
podatkovne znanstvenike:
1. Preobrazba poslovnih izazova u analitičke – dijagnosticiranje poslovnih
problema, razmatranje srži problema i naposljetku zaključivanje koje se
analitičke metode mogu koristiti za rješavanje tih problema;
2. Dizajniranje, implementacija i postavljanje statističkih metoda, te
tehnike rudarenja podataka (eng. data mining) nad velikim podatcima –
ovo su aktivnosti na koje se najčešće pomisli kada razmatramo ulogu
podatkovne znanosti. Korištenje kompleksne ili napredne analitičke metode
za razne poslovne probleme koristeći podatke;
3. Stvaranje uvida koji vode do prijedloga aktivnosti – korištenje naprednih
metoda nad podatkovnim problemima ne mora donositi nove poslovne
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
7
vrijednosti, nego je bitno naučiti kako izvlačiti uvide iz podataka i efikasno ih
komunicirati.
I za kraj bih spomenuo vještine koje mora imati osoba koja se bavi podatkovnom
znanošću. Generalno se smatra da podatkovni znanstvenici imaju pet glavnih vještina i
karakteristika ponašanja:
kvantitativne vještine (matematika ili statistika – potrebno znanje kako bi se
provodila analiza nad podatcima koristeći matematičke formule i algoritme),
tehničke sposobnosti (software inženjering, strojno učenje i sposobnosti
programiranja – omogućava automatizaciju analize i izgradnju aplikacija koje koriste
rezultate dobivene iz podataka; na primjer kontrolne ploče),
kritičko i skeptično razmišljanje (važno je da podatkovni znanstvenici znaju
gledati svoje radove kritički),
znatiželja i kreativnost (moraju biti strastveni oko podataka i pronalaziti kreativna
rješenja za probleme i prikaz informacija),
komunikativnost i timski rad (moraju biti sposobni artikulirati poslovne
vrijednost na jasan način i raditi s drugim grupama, uključujući sponzorima i vlasnicima)
(EMC Education Services2, 2015).
2.2. Razlika između podatkovne znanosti i poslovne inteligencije
Poslovna inteligencija nudi izvještaje, kontrolne ploče (eng. dashboarde) i upite
za trenutno ili prošlo stanje. Riječ je o sustavima koji omogućuju jednostavno
odgovaranje na pitanja vezana uz kvartalne prihode, razvoj prema kvartalnim ciljevima i
razumijevanju koliko je određenog proizvoda bilo prodano u prošlom kvartalu ili godini.
Ta su pitanja najčešće zatvorene prirode (eng. closed-ended) u smislu da se na njih može
odgovoriti s jednostavnim 'da' ili 'ne', i objašnjavaju sadašnje ili prošlo ponašanje, tipično
za sakupljanje i grupiranje povijesnih podataka. Poslovna inteligencija, također, nudi
2 U ovom radu će se dosta referirati na ovu knjigu. Razlog tome je što je knjiga odličan uvod za početnike u
ovom polju, ali i služi kao priručnik za dobivanje Data Science Associate certifikata.
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
8
zaključke, uvide i generalno odgovara na pitanja povezana s „kada“ i „gdje“ se neki
događaj dogodio.
Nasuprot poslovnoj inteligenciji imamo podatkovnu znanost, koja uglavnom
koristi rascjepkane podatke za istraživanje i predviđanje, fokusirajući se na analiziranje
sadašnjosti kako bi omogućili donošenje informiranih odluka oko budućnosti. Umjesto
sakupljanja povijesnih podataka da bi se vidjelo koliko je određenog proizvoda prodano u
prethodnom kvartalu, koriste se tehnike poput vremenskih nizova za predviđanje prodaje
i prihoda preciznije nego samo s produživanjem jednostavne linije trenda (linija na grafu
koja prikazuje generalni trend, često dobivena s linearnom regresijom). Također,
podatkovna znanost je češće istraživačka i zna koristiti optimizaciju scenarija za
suočavanje s otvorenim pitanjima. Taj pristup omogućuje uvid u trenutne aktivnosti i
predviđanje, generalno se više fokusirajući na pitanja povezana s „kako“ i „zašto“ se neki
događaj dogodio.
Obično problemi poslovne inteligencije zahtijevaju veoma strukturirane podatke
organizirane u redove i stupce za precizne izvještaje. Podatkovna znanost često koristi
različite tipove izvora podataka, uključujući velike ili nekonvencionalne skupove
podataka. Ovisno o ciljevima organizacije, mogu imati projekte poslovne inteligencije
ako trebaju izvještaje, kontrolne ploče ili jednostavne vizualizacije, ili mogu imati
projekte podatkovne znanosti ako trebaju sofisticiraniju analizu s rascjepkanim ili
raznolikim skupovima podataka (EMC Education Services, 2015). Na slici 2 je prikazana
razlika između podatkovnog znanstvenika i poslovne inteligencije. Kao što je vidljivo na
slici podatkovna znanost se više bavi istraživanjem podataka i kako bi se mogli
upotrijebiti za bolje rezultate u budućnosti, a poslovna inteligencija se bavi
objašnjavanjem događaja koji su se već dogodili.
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
9
Slika 2. razlika između poslovne inteligencije i podatkovne znanosti
Preuzeto iz: (EMC Education Services 2015:33)
2.3. Koraci u procesu podatkovne znanosti
Svaka situacija zahtjeva drugačiji pristup, ali generalno svaki zadatak prolazi kroz
iste korake. U zajednici podatkovne znanosti ne postoji konsenzus kako se koja faza
naziva niti koliko zapravo ima koraka, no unatoč različitim nazivima i drugačijem broju
koraka, uvijek bi se odradio isti posao.
Sam proces započinje istraživanjem. Uči se o samoj domeni, uključujući
relevantne povijesne činjenice poput toga je li organizacija pokušala sličan projekt u
prošlosti iz kojeg se može naučiti. Također, procjenjuju se dostupni resursi za projekt
(tehnologija, vrijeme, podatci). Bitne aktivnosti u ovoj fazi uključuju preciziranje
poslovnog problema kao analitičkog izazova i formuliranje inicijalne hipoteze za
testiranje, te početak učenja podataka.
Sljedeći korak je priprema podataka. Podatci se istražuju, obrađuju i stavljaju u
stanja prikladna za modeliranje i analiziranje. Priprema uključuje pretvaranje podataka u
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
10
tablični format, brisanje ili zaključivanje onih vrijednosti koje nedostaju, pretvaranje
podataka u drugu vrstu, često se numeričke vrijednosti moraju normalizirati da bi ih se
moglo uspoređivati (Provost i Fawcet, 2013). Kako bi se detaljnije upoznalo sa
situacijom potrebno je učiti iz podataka. Vizualizacijom se pomaže u razumijevanju
podataka, te se tako uočavaju trendovi, devijacije i odnosi među varijablama. Ovaj je
korak često vrlo zahtjevan, te se u toj fazi zna potrošiti čak 50% vremena rada na
projektu. No, taj je utrošak vremena itekako opravdan, jer u slučaju kada se ne može
dobiti dovoljno kvalitetnih podataka, postoji mogućnost da se ostale faze ne mogu
odraditi uspješno. Ova se faza često podcjenjuje, jer se želi započeti s analizom podataka
što prije, kao i s testiranjem hipoteza i dobivanjem odgovora na pitanja iz prve faze.
Nakon toga slijedi izgradnja modela. Odlučuje se koje će se metode i tehnike
koristiti za razvoj modela, te se istražuju podatci kojima bi se saznali odnosi među
varijablama, u svrhu odabiranja ključne varijable i najboljeg modela. O’Neil i Schutt
(2013) navode kako o vrsti problema koji pokušavamo riješiti ovisi model; to može biti
klasifikacijski problem, prediktivni problem ili osnovni problem opisivanja. Zatim se
razvijaju skupovi podataka za testiranje, treniranje i produciranje. Odlučuje se hoće li biti
samo jedan model ili niz tehnika kao dio velikog radnog procesa.
Predzadnji korak je komuniciranje rezultata. Uspoređuju se dobiveni rezultati s
kriterijima identificiranim kao uspjeh ili neuspjeh. U slučaju da je riječ o neuspjehu,
identificiraju se razlozi i ako je došlo do neke greške kreće se ispočetka ili ako se utvrdi
da nije moguće dobiti željeni rezultat odustaje se od projekta. U slučaju da je uspješno
proveden projekt, identificiraju se ključni pronalasci i zatim se sažeti rezultati
vizualiziraju klijentima.
Zaključno se postavlja u uporabu. Donose se konačni rezultati, informiranja,
kodiranje i tehnička dokumentacija. Moguće je da se i pokrenu testni projekti za
implementaciju modela (EMC Education Services, 2015).
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
11
3. Veliki podatci
U ovom ću poglavlju objasniti velike podatke, paradigme koje se koriste za rad s
velikim podatcima i alat pod nazivom Hadoop. Podatci se konstantno stvaraju i to sve
većom brzinom, radi čega ih nije samo teško spremati, već i analizirati u stvarnom
vremenu, pogotovo ako ne prate neku uobičajenu strukturu. Prije nego što se podatci
mogu analizirati, potrebno ih je obraditi kako bi se izvukle korisne informacije. Inicijalna
obrada i priprema podataka ovisi o količini, ali i jednostavnosti da se razumije struktura
podataka (EMC Education Services, 2015). S obzirom da su ti podatci veliki, različiti i
“neuredni”, nisu nešto što bi se pronašlo u urednoj bazi podataka (Voulgaris, 2014).
Jedna od definicija velikih podataka je to da su oni „podaci čija veličina,
distribucija, raznolikost i/ili pravovremenost zahtijeva korištenje novih tehnoloških
arhitektura i analitika da bi se omogućio uvid koji će otključati nove izvore poslovne
vrijednosti 3 “ (Manyika et al. 2011, kao što je citirano u EMC Education Services,
2015:3). Za opisivanje karakteristika velikih podataka obično se koristi izraz 3V koji
uključuje volumen, varijantnost i velocitet.
Volumen (eng. volume) – u usporedbi s „normalnim podatcima, veliki podatci su
znatno veći; od par terabajta (TB) do par zetabajta (ZB), uz napomenu da je jedan
zetabajt milijardu TB-a (sveukupni podatci cijeloga svijeta 2010. godine su bili 1 ZB).
Toliku količinu podataka ne može obraditi jedno računalo. To je dovelo do razvoja
paralelne računarske arhitekture (eng. parallel computing), gdje više računala radi na
jednom projektu (Voulgaris, 2014).
Varijantnost (eng. variety) – EMC Education Services (2015) govori kako se
strukturiranost podataka može podijeliti na 4 kategorije: strukturirano (specifičan i
konzistentan format npr. baza podataka), polustrukturirano (samo opisujući format na
primjer XML datoteka), kvazi-struktiriran (relativno ne konzistentan format, na primjer
3 Originalni engleski citat glasi: „Big Data is data whose scale, distribution, diversity, and/or timeliness
require the use of new technical architectures and analytics to enable insights that unlock new sources of
business value.“
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
12
hiperveza), nestrukturirano (nekonzistentni format, na primjer tekst ili video).
Strukturirani podatci, poput relacijskih baza podataka, najlakši su format podataka za
interpretaciju, ali i dalje treba imati potrebno znanje da bi se razumjele vrijednosti koje se
mogu pojaviti u redovima tablice. Također je moguće i da se u poljima relacijskih baza
podataka pojave nestrukturirani podatci.
Velocitet (eng. velocity) – brzina kojom podatci pristižu i obrađuju se. Naime,
tradicionalni podatci su sporiji i relativno su statični uvjeti u kojima se stvaraju a potom
prenose s mjesta nastanka do mjesta gdje se obrađuju. U kontrastu s tim, veliki podatci
uvijek se „kreću“ i to velikom brzinom tj. oni brzo i nastaju i brzo se obrađuju. Zbog toga
je potrebno da se obrađuju u stvarnom vremenu (ako je moguće) kako bi se
maksimizirala njihova učinkovitost. Na primjer, tvrtke koje nude financijske usluge
trebaju analizirati preko 5 milijuna poruka svake sekunde s kašnjenjem oko 30
milisekundi.
U Kocijan (2014) nalazimo još par V-ova koje neki autori smatraju relevantnima
poput verifikacije (eng. veracity, kvaliteta odnosno vjerodostojnost) i vizije (eng. vision,
nove ideje sa starim podatcima), no do sada nije došlo do suglasnosti unutar zajednice
ubrajaju li se i oni.
U sljedeća dva podpoglavlja reći ću nešto više o dvije paradigme usko vezane uz
obradu velikih podataka. Njih sam odabrao jer igraju veliku ulogu u radu s velikim
podatcima. MapReduce paradigma je osnovni princip u radu s velikim podatcima dok je
Hadoop alat koji radi na temelju MapReduce paradigme.
3.1. MapReduce
Iako sam koncept MapReduca postoji već desetljećima, Google je zaslužan za
njegovo oživljavanje i adaptaciju započevši u 2004. godini s radom Googleovih
djelatnika Jeffrey Deana i Sanjay Ghemawata. U njemu se opisuje Googleov pristup
pretraživanju interneta i izgradnji Googleovog pretraživača (EMC Education Services,
2015). Motivacija iza izgradnje Googleovog pretraživača je bila potreba za stvaranjem i
ažuriranjem indeksa svih internet stranica. Kako se broj stranica povećavao, tako se
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
13
povećala potrebna računalna moć za računanje (Steele et al., 2016). Iako je na početku
MapReduce bio komercijalni proizvod, nakon što ga je Yahoo financirao u 2006. godini
postao je besplatan kroz implementaciju u Hadoopu (Voulgaris, 2014).
MapReduce paradigma omogućuje da se veliki zadatak rascjepka u manje zadatke
koji se obavljaju istovremeno, te se na kraju rezultati tih manjih zadataka spoje u
jedinstveni output.
Kao što sam naziv MapReduce implicira, on se sastoji od dva dijela:
1. Map (mapiranje):
a) primjenjuje operacije na dijelove podataka
b) omogućuje neposredne outpute
2. Reduce (smanjiti):
a) ujedinjuje neposredne outpute iz Map koraka
b) pruža konačni output.
Svaki korak radi na principu ključa i vrijednosti, npr. ključ može biti ime
datoteke, a vrijednost sadržaj te datoteke. Jednostavan primjer toga se vidi na slici 3, gdje
se broje pojavnice u zapisu.
Slika 3. Primjer rada MapReduce paradigme
Preuzeto iz EMC Education Services (2015)
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
14
U tom primjeru, map korak parsira zapis u individualne pojavnice kao ključ, a za
vrijednost broj pojavljivanja. S obzirom da se riječ „each“ pojavila dva puta, u koraku
reduce obriše se jedan par , a drugome se vrijednost povećava za jedan.
MapReduce ima prednost što može distribuirati posao na grupu računala da
rješavaju problem paralelno (EMC Education Services, 2015). Grus (2015) tvrdi da ako
poduplamo broj strojeva, onda će i naše računanje trajati duplo kraće. Svaki stroj koji
mapira trebat će napraviti upola manje posla što vrijedi i za reduktere (eng. reducers).
Ključna karakteristika MapReduca je što se jedan input obrađuje neovisno o drugim
inputima.
Iako je MapReduce jednostavna paradigma za razumjeti, teža je za
implementirati. Kako bi se pokrenuo MapReduce zadatak potrebno je upravljanje i
koordinacija više aktivnosti:
1. MapReduce posao se planira na temelju zadatka koji treba biti obavljen
2. Posao treba biti nadgledan od strane čovjeka u slučaju da se dogodi
nekakva pogreška te ju je potrebno ispraviti kako bi se posao nastavio
odrađivati
3. Posao treba biti raspoređen na grupe4
4. Map korak obrade treba biti proveden preko cijelog distribucijskog
sistema, najbolje na samom stroju gdje su i spremljeni ti podatci
5. Neposredni outputi od map koraka trebaju biti sakupljeni i dani
odgovarajućim strojevima za reduce korak
6. Konačni izlaz (eng. output) treba biti dostupan drugim korisnicima,
aplikacijama ili nekom drugom MapReduce zadatku.
3.2. Hadoop
Hadoop je započeo kao tražilica pod nazivom Nutch koju su razvijali Doug Cuttin
i Mike Cafarella. Bazirano na Googleovom radu, sadržavao je verzije MapReduce i
4 Sustav automatski stvara te grupe, a veličina tih grupa ovisi o postavkama sustava
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
15
Google File sustava koji su dodani Hadoopu 2004. godine. U 2006. godini Yahoo je
zaposlio Cuttinga koji je zatim razvio Hadoop na temelju koda Nutcha. Hadoop je dobio
naziv po plišanoj igrački slona Cuttinogovog djeteta, koji je i također simbol za Hadoop
project (EMC Education Services, 2015).
Clusteri su skupina od dva ili više računala koja su povezana brzom mrežom. Ta
računala nazivaju se čvorovi (eng. nodes) ili domaćini (eng. hosts), a u Hadoopu, čvorovi
mogu biti klasificirani kao glavni (eng. master) ili radni (eng. worker) čvorovi.
NameNode je glavni čvor koji kontrolira Hadoop sustav kroz dva podsistema, Hadoop
File Distributed System (HDFS) i sustav za upravljanje i alokaciju resursa YARN,
skraćeno za Yet Another Resource Negotiator (još jedan pregovarač resursa). Uz pomoć
YARN-a, glavni čvor dodjeljuje računalne procese radnim čvorima sa zadatkom da
optimalno iskoriste resurse clustera (Steele et al., 2016).
Hadoop Distributed File System zasniva se na Google File sistemu. Hadoop
Distributed File system (HDFS) je sustav datoteke koji omogućuje da se podatci
distribuiraju u grupe kako bi se iskoristila mogućnost njihove paralelne obrade uz pomoć
MapReduca. Svaka se datoteku rascjepka u blokove čija veličine ovisi o našem odabiru.
Tako na primjer, ako želimo datoteku veličine 300MB rascjepkati u blokove od 64MB,
dobili bismo četiri bloka od 64MB i jedan blok veličine 44MB. Također HDFS sprema tri
kopije svakog bloka u slučaju da se dogodi neka greška ili se neko računalo pokvari
(EMC Education Services, 2015). Kao što i Voulgaris (2014) navodi, sve što se obrađuje
uz pomoć Hadoopa treba biti uvezeno u HDFS gdje će biti spremljeno na mrežu računala.
Za upravljanje pristupom podataka, HDFS koristi tri Java daemona (pozadinska
procesa): NameNode, DataNode i Secondary DataNode. NameNode odlučuje i prati gdje
su se razni blokovi podataka spremili. DataNode upravlja spremljenim podatcima na
mašinama. U slučaju da klijent želi pristupiti određenom bloku, aplikacija prvo kontaktira
NameNode da dobije lokaciju tih blokova, zatim kontaktira DataNode za pristup tim
blokovima. Treći daemon, Secondary NameNode, omogućuje da se odradio dio posla koji
NameNode odrađuje. Služi kako bi se smanjio teret s NameNoda, ali treba napomenuti da
ne služi kao sigurnosna kopija (eng. back-up) za Namenoda (EMC Education Services,
2015.).
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
16
Hadoopova popularnost je rezultirala razvojem besplatnih i plaćenih alata kako bi
se olakšalo korištenje ili dodalo još funkcija. Najpopularniji su:
Pig – programski jezik koji olakšava korištenje MapReduca poslova te
omogućava da bude pristupačniji;
Hive – omogućava pristup podatcima u SQL-u stilu bez da se piše eksplicitno
MapReduce kod. Koristi se HiveQL (Hive Query Language) koji je jako sličan SQL-u
tako da ga ljudima koji su već upoznati s SQL-om neće biti problem koristiti, no ne služi
za ispitivanje u stvarnom vremenu;
Mahout – algoritmi koji omogućavaju analitičku obradu poput: klasifikacije,
grupiranja, predlaganje itd. (EMC Education Services, 2015);
Hbase – pruža čitanje i pisanje podataka u stvarnom vremenu. Baza podataka
koja radi na principu kolumni koja je pokrenuta na sloju iznad HDFS-a (Voulgaris,
2014).
U ovom poglavlju sam dao opis pojma veliki podatci i njegove glavne
karakteristike. Zatim sam objasnio paradigmu MapReduce, kako se ona razvila i kako
funkcionira. Na kraju sam objasnio alat Hadoop koji se temelji na MapReduce paradigmi,
kako on općenito funkcionira a kako njegov sustav za rad s datotekama HDFS. Na kraju
sam naveo i par najpoznatijih alata za Hadoop. Sve ovo je bilo potrebno zbog lakšeg
razumijevanja poglavlja koje slijedi.
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
17
4. Strojno učenje
U ovom ću poglavlju objasniti pojam strojnog učenja, kako se ono razvijalo kroz
povijest i koja je njegova glavna podjela.
Strojno učenje spaja moć računala s algoritmima za inteligentno učenje kako bi se
automatiziralo otkrivanje odnosa među podatcima i stvorili moćni modeli podataka
(Ozdemir, 2016). Također se odnosi na različite strojeve, od stolnih računala do robota i
pametnih mobitela, čak i automobila npr. Googleovog samovozećeg automobila
(Voulgaris, 2014). Neki autori, poput Harringtona (2012), smatraju kako se može koristiti
u raznim poljima, od politike do geografije. Riječ je naime o alatu koji se može koristiti
za mnoge probleme. Svako polje koje zahtjeva interpretaciju i radnju temeljenu na
podatcima profitira od tehnika strojnog učenja.
Strojno učenje bavi se pronalaženjem uzoraka (signala) u podatcima čak i ako
podaci imaju grešku (šum) u sebi. Dva jednostavna modela podataka su vjerojatnosni
model (korištenje vjerojatnosti kako bi se pronašao odnos između elemenata koji imaju
razinu slučajnosti) i statistički model (korištenje statističkih teorema za potvrđivanje
odnosa među elementima podataka s jednostavnim matematičkim formulama).
Modeli strojnog učenja su sposobni učiti iz podataka bez eksplicitne pomoći ljudi
i u tome leži glavna razlika između algoritama strojnog učenja i klasičnih algoritama. U
klasičnim algoritmima je rečeno kako da sustav pronađe odgovor, nakon čega algoritam
traži najbolje rješenje i često radi brže i efikasnije nego čovjek. No, u tim algoritmima
uvijek čovjek mora prvo pronaći najbolje rješenje. Kod strojnog učenja sam model ne
dobije najbolje rješenje, nego primjere problema i onda mora pronaći najbolje rješenje.
Najbolji način da se objasni razlika je kroz primjer s dva moguća rješenja. U
slučaju da želimo napraviti aplikaciju koja prepoznaje lica imamo dvije mogućnosti;
koristiti algoritam koji ne upotrebljava strojno učenje, gdje ćemo sami definirati lice kao
relativno okruglu struktura s dva oka, nosom, kosom itd. Algoritam će zatim tražiti te
definirane parametre u slikama i vraćati pronađene rezultate. Algoritmi za strojno učenje
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
18
rade malo drugačije. Naime, modelu će biti zadane slike s licima i bez, koje su tako i
obilježene, te će uz pomoć tih primjera (skupa za treniranje) sam shvatiti definiciju lica.
Svaka vrsta strojnog učenja i svaki individualni model radi na drugačiji način,
iskorištavajući različite dijelove matematike i podatkovne znanosti. Generalno, strojno
učenje radi tako što uzima podatke, pronalazi odnose unutar podataka i vraća kao izlaz
što je model naučio (Ozdemir, 2016). Model ovakvog učenja prikazan je na slici 4 koja
prikazuje pojednostavljeni proces strojnog učenja.
Slika 4. Prikaz rada strojnog učenja
Preuzeto iz (Ozdemir, 2016:226)
4.1. Kratka povijest
Razvitak strojnog učenja započeo je 50-tih godina prošlog stoljeća sa sustavima
koji su se bazirali na pravilima da obrade različite vrste informacija, što je zahtijevalo
puno vremena, te je njihova upotreba bila ograničena na specifične domene. S vremenom
se sve više ulagalo u razvoj ovog polja i time su razvijeni bolji sustavi. Jedan od
najpoznatijih sustava za strojno učenje su umjetni živčani sustavi (Artificial Neural
Network, ANN), koji su bili popularni 90-tih. Ideja je bila da se simuliraju određene
kognitivne funkcije ljudskog mozga kroz relativno jednostavne, ali proširive matematičke
modele.
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
19
S razvojem sve više alata, strojno učenje je postalo jako praktično područje s
mnogo upotreba u stvarnome svijetu kroz napredne sustave obrade podataka koji su
rješavali probleme bez pretpostavki. To se općenito naziva prepoznavanje uzoraka (eng.
pattern recognition) koje i dalje igra veliku ulogu u analitici podataka, pogotovo u
nestatističkoj analitici podataka.
Jedna jako bitna tehnika koja je i bila osnova za aplikacije prepoznavanja uzoraka
i hardverskoj implementaciji strojnog učenja je neizrazita logika (eng. fuzzy logic). Ova
metoda koristi logiku koja omogućava fleksibilnije modeliranje uvjeta, pogotovo u
situacijama gdje je sustav opisan lingvistički. Od 1964. godine kada ju je profesor Zadehe
predstavio, neizrazita logika je veoma popularna i korištena u kombinaciji s ANN za još
bolje sustave strojnog učenja znane kao živčani-neizraziti klasifikator (eng. neuro-fuzzy
classifier, skraćeno ANFIS). Neizrazita logika je jedan od temelja umjetne inteligencije.
U današnje vrijeme je strojno učenje postao dio svakog ozbiljnijeg računalnog
sustava koji se bavi podatcima. Teško je pronaći nešto što uopće ne koristi algoritme
strojnog učenja, čak i jednostavnog algoritma grupiranja.
Jedna stvar koja se izdvaja u strojnom učenju je duboko učenje (eng. deep
learning), visoko razvijeni ANN koji uključuje statistiku u jako kompleksnu ANN
strukturu. To omogućuje da se postignu stvari koje prije nisu bile moguće, čak i u
slučajevima gdje korisnik nema nikakvo znanje domene (Voulgaris, 2014).
Postoji više podjela strojnog učenja, no, ja ću se u ovom radu fokusirati na
podjelu vezanu uz model učenja. Postoje tri načina učenja, a to su: nadgledano,
nenadgledano i potpomognuto. Više o svakom reći ću u sljedećim pod-poglavljima.
4.2. Nadgledano strojno učenje
Nadgledano strojno učenje pronalazi vezu između skupova podataka i ciljne
varijable. Na primjer mogu pokušati pronaći vezu između zdravstvenog stanja pacijenta
(tlak srca, razine pretilosti itd.) i vjerojatnost da će ta osoba dobiti srčani udar (ciljana
varijabla). Takve veze dopuštaju nadgledanim modelima da prave predviđanja uz pomoć
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
20
prijašnjih primjera. Zbog toga se i često nazivaju modeli prediktivne analitike, nazvano
po njihovoj sposobnosti da predvide budućnost uz pomoć prošlosti.
Ovaj model zahtjeva određenu vrstu podataka, zvanu označeni podatci, kako bi
funkcionirao. Naš model moramo naučiti dajući primjere iz prošlosti koji su označeni
točnim odgovorom. Kao i u primjeru s prepoznavanjem lica, to je nadgledani model jer
smo trenirali uz pomoć slika koji su označeni kao „lice“ ili „nije lice“, zatim smo tražili
da taj model predvidi sadrži li nova slika lice. Točnije, nadgledano učenje koristi dijelove
podataka da bi se predvidio drugi dio, radi čega se podatci mogu podijeli u dvije skupine;
faktore predviđanja 5 (stupci koji će biti korišteni da napravimo naše predviđanje) i
odgovor 6 (stupac koji želimo predvidjeti).
Nadgledano učenje pokušava pronaći odnos između faktora predviđanja i
odgovora s ciljem da napravi predviđanje. Ideja je ta da će se u budućnosti opažanjem
nekog podataka moći otkriti što je uzrok (faktori predviđanja). Model će onda koristi te
faktore kako bi što preciznije predvidio vrijednost odgovora.
Kako bi bolje shvatili kako funkcionira ovaj model, koristit ćemo primjer već
navedenog predviđanja srčanog udara. Pretpostavimo da želimo vidjeti hoće li neka
osoba imati srčani udar unutar naredne godine dana. Kako bi se to postiglo, potrebno je
znati razinu kolesterola, tlak srca, visinu, navike pušenja cigareta, opseg struka i još
informacija vezanih uz tu osobu, jer iz tih podataka moramo pretpostaviti vjerojatnost
srčanog udara. Kako bismo napravili to predviđanje, treba pogledati prijašnje pacijente i
njihov medicinski karton. S obzirom da su oni prijašnji pacijenti, ne samo da znamo
njihove faktore predviđanja (kolesterol, tlak srca itd.) već i znamo jesu li imali srčani
udar (jer se to već dogodilo). Ovo je scenarij za nadgledano strojno učenje jer radimo
predviđanje o nekome i koristimo povijesne podatke za treniranje i pronalaženje odnosa
između medicinskih varijabli i srčanog udara.
Jedan od glavnih nedostataka nadgledanog strojnog učenja je to što su nam
potrebni označeni podatci, a njih može biti teško za nabaviti. U slučaju da želimo
5 još se zove: svojstva, inputi, varijable i neovisne varijable 6 još se zove: ishod, oznaka, cilj i ovisna varijabla
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
21
predvidjeti srčane udare trebamo tisuće pacijenata zajedno s njihovim medicinskim
informacijama i godine kartona o svakoj osobi, što može biti poprilično teško.
Nadgledano strojno učenje ne služi samo za predviđanje, već i za razumijevanje
koji faktori utječu na ishod i na koji način, stoga je moguće da nam model javi koji stupci
su potrebni za predviđanje, a koji stupci samo stvaraju šum i smanjuju učinkovitost
modela.
Ozdemir (2016) navodi dvije vrste nadgledanog strojnog učenja: regresija i
klasifikacija. Razlika je jednostavna i leži u varijabli odgovora što ću pokušati objasniti u
sljedećim pod-poglavljima.
4.2.1. Regresija
Modeli regresije pokušavaju predvidjeti kontinuirani odgovor, što znači da
odgovori mogu biti beskonačne vrijednosti, primjerice, novčani izrazi (plaće, budžeti),
temperatura, vrijeme (Ozdemir, 2016).
Generalno, analitika regresije pokušava objasniti utjecaj određenog skupa
podataka na rezultat neke druge varijable našeg interesa. Često se ishodna varijabla
naziva ovisna varijabla (eng. dependend variable) jer ishod ovisi o drugim varijablama.
Dodatne varijable se nazivaju ulazne varijable (eng. input variables) ili neovisne varijable
(eng. independend variables). Regresijska analiza je dobra za odgovaranje sljedećih
pitanja:
Očekivani prihod osobe?
Vjerojatnost da korisnik neće platiti kredit?
Linearna regresija (eng. linear regression) je koristan alat za prvo pitanje, a
logistička regresija (eng. logistic regression) je popularan alat za drugo.
Regresijska analitika je istraživački alat koji može identificirati ulazne varijable
koje imaju najveći statistički utjecaj na ishod. S takvim znanjem i uvidom, okoliš se može
mijenjati kako bi se pokušalo dobiti poželjniji rezultat od ulaznih varijabli. Na primjer,
ukoliko se otkrije da je sposobnost čitanja desetogodišnjih učenika odličan znak za
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
22
učenikov uspjeh u srednjoj školi i faktor za upis na fakultet, onda se može staviti veći
fokus na čitanje, kako bi se poboljšala sposobnost čitanja u ranijoj dobi.
Linearna regresija je analitička tehnika koja se koristi za modeliranje između više
ulaznih varijabli i kontinuirane izlazne varijable. Ključna pretpostavka je ta da je odnos
između ulazne i izlazne varijable linearan. Iako se ta pretpostavka može činiti
ograničavajućom, često je moguće transformirati ulaznu ili izlaznu varijablu da bi se
postigao linearni odnos. Linearna regresija se često koristi u poslovnom svijetu, politici,
medicini i ostalim scenarijima.
U modeliranju linearne regresije je izlazna varijabla kontinuirana. Primjerice,
izgrađivanje modela u svrhu stvaranja veza između starosti i edukacije s prihodom. U
slučaju da nas ne zanima koliki je točan iznos prihoda već samo je li ta osoba bogata ili
siromašna, izlazna je varijabla kategorija. U takvim slučajevima koristimo logističku
regresiju gdje predviđamo izlaznu varijablu neke kategorije uz pomoć ulaznih varijabli
(EMC Educational Services, 2015).
4.2.2. Klasifikacija
Druga vrsta nadgledanog strojnog učenja je klasifikacija. Ovim modelom
pokušavamo predvidjeti kategorije odgovora, što znači da odgovor ima konačan broj
rezultata. Na primjer: stupanj raka (1, 2, 3, 4, 5), da/ne pitanja (sadrži li slika lice)
(Ozdemir, 2016).
Jedan od najpoznatijih algoritama za klasifikaciju je naivni Bayesov klasifikator.
Naivni Bayes je probabilistička klasifikacija bazirana na Bayesovom teoremu s par
izmjena. Bayesov teorem daje vezu između vjerojatnosti dvaju događaja i njihove
kondicionalne vjerojatnosti.
Naivni Bayesov klasifikator pretpostavlja da prisustvo ili nedostatak određenog
faktora ne igra ulogu u prisustvu ili nedostatku drugih faktora. Na primjer, objekt može
biti klasificiran bazirano na njegovim atributima poput oblik, boja i težina. Objekt koji je
okrugao, žut i teži manje od 60 grama bi se mogao klasificirat kao teniska loptica. Pa čak
i ako su sva ta svojstva međusobno ovisna jedna o drugima, naivni Bayesov klasifikator
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
23
će smatrati da svako od njih neovisno doprinosi vjerojatnosti da se radi upravo o teniskoj
loptici (EMC Educational Services, 2015).
4.2.3. Nenadgledano strojno učenje
Druga vrsta strojnog učenja se ne bavi predviđanjem već ima puno fleksibilniji
zadatak. Bavi se problemom pronalaska skrivene strukture u neobilježenim podatcima što
znači da podatkovni znanstvenik nije unaprijed utvrdio oznake za grupe. Struktura
podataka opisuje objekte i odlučuje kako ih najbolje grupirati (EMC Educational
Services, 2015.).
Nenadgledano strojno učenje uzima skup faktora i koristi odnos među njima kako
bi postigao zadatke poput smanjivanja dimenzija podataka, tako što zgusne varijable (na
primjer kompresija datoteka, kompresija funkcionira tako što pronalazi uzorke u
podatcima i zatim predstavlja te podatke u manjem formatu), pronalaženje grupe
opservacija koji se ponašaju slično i onda ih grupira (Ozdemir, 2016).
Primjer kompresije datoteka se zove smanjenje dimenzije (eng. dimension
reduction), a primjer pronalaženja grupa opservacija se naziva grupiranje (eng.
clustering). Oba primjera su nenadgledano učenje jer ne pokušavaju pronaći vezu između
faktora predviđanja i specifičnih „reakcija“, stoga se ne koriste za pravljenje predviđanja,
već se koriste za pronalazak organizacija i prikaz podataka koji prije nisu bili znani.
Velika prednost nenadgledanog učenja je ta što ne zahtjeva obilježene podatke,
što znači da je puno lakše nabaviti podatke za modele. Mana je pošto nema obilježene
podatke (faktore predviđanja) gubi se sva moć predviđanja
Velika je mana ovog modela i to što je teško vidjeti koliko nam dobro ili loše ide.
U regresijskom ili klasifikacijskom problemu možemo jednostavno vidjeti koliko dobro
naši modeli predviđaju, uspoređujući rezultate našeg modela sa stvarnim rezultatima. Na
primjer, ako naš nadgledani model predviđa kišu, a vani je sunčano znamo da je model
netočan. Ako naš model predviđa porast cijene za 1 dolar, a poraste za 99 centa znamo da
je bio jako blizu. Kod nenadgledanih modela mi nemamo rezultata koje možemo
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
24
uspoređivati. Oni samo sugeriraju razlike i sličnosti koje onda zahtijevaju ljudsku
interpretaciju (Ozdemir, 2016).
Ova metoda se često koristi za analitiku istraživanja podataka. U grupiranju se ne
prave predviđanja, već pronalaze sličnosti između objekta prema atributima tog objekta
nakon čega slijedi grupiranje sličnih objekata. Riječ je o metodi koja se na primjer koristi
u marketingu, ekonomiji i raznim granama znanosti. Često se koristi prije klasifikacije.
Nakon što se identificiraju grupe, na svaku se mogu dodati oznake bazirano na njihovim
karakteristikama. Jedna popularna takva metoda je k-sredina (eng. k-means) (EMC
Educational Services, 2015).
K-sredina je analitička tehnika koja identificira k broj grupa objekata bazirano na
centru od k grupa. Centar se određuje kao aritmetička sredina svake grupe u n-dimenzija
atributa vektora. Koristi se za obradu slika, medicinu i segmentaciju kupaca. Video je
jedan od primjera rastućeg broja sakupljenih nestrukturiranih podataka. U svakoj ćeliji
(eng. frame) videa, k-medijani analiza se može koristiti za identificiranje objekta u videu.
Za svaku ćeliju zadatak je otkriti koji su pikseli najsličniji jedan drugome. Atributi
svakog piksela mogu uključivati svjetlinu, boju i lokaciju (x i y koordinate). U snimkama
sigurnosnih kamera ćelije se mogu istražiti da se vidi je li bilo kakvih promjena u
grupama, kako bi se zaključilo je li bilo manipulacije s podatcima u smislu krivotvorenja
(EMC Educational Services, 2015).
4.3. Potpomognuto strojno učenje
U potpomognutom učenju (eng. reinforcement learning) algoritmi odabiru radnju
u okolišu, nakon čega bivaju nagrađeni ili kažnjeni za odabir te radnje. Algoritam se
prilagođava i modificira strategiju kako bi postigao neki cilj, koji je obično da dobije još
nagrada7. Ova vrsta strojnog učenja je veoma popularna u igricama koje koriste umjetnu
inteligenciju, gdje umjetna inteligencija može istraživati virtualni svijet i prikupljati
nagrade i učiti najbolje navigacijske tehnike. Ovaj model je također popularan u robotici,
pogotovo u polju samoupravljajućih strojeva poput samovozećih auta.
7 Nagrada u ovom kontekstu znači potvrda od strane čovjeka da je algoritam odabrao dobru radnju.
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
25
Ova vrsta učenja je slična nadgledanoj u smislu da potpomognuto strojno učenje
uči iz prošlih radnji kako bi napravio bolje poteze u budućnosti, ali glavna razlika leži u
nagradi. Nagrada ne mora biti povezana s točnom ili netočnom odlukom. Nagrada samo
potiče sustav da sljedeći put odabere drugačiju radnju. Ova vrsta učenja je najmanje
istražena od te tri vrste (Ozemir, 2016).
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
26
5. Vizualizacija
Nakon poglavlja o strojnom učenju, gdje sam prikazao kratku povijest polja
strojnog učenja i njenu podjelu prema modelu učenja, preći ću na poglavlje o vizualizaciji
podataka koje je bitno kao sljedeći korak. Nakon što model strojnog učenja obradi
podatke, dobivene rezultate vizualiziramo kako bi ih mogli bolje razumjeti. U ovom ću
poglavlju pričati o vizualizaciji, osnovnim pravilima koja se trebaju pratiti tijekom izrade
vizualizacije, navesti osnovne vrste prikaza i na kraju spomenuti neke alate i usporedit ih.
EMC Educational Services (2015) primjećuje da je s rastom obujma i
kompleksnosti podataka, rasla i ovisnosti korisnika o vizualizaciji kako bi ilustrirali
ključne ideje i prikazali bogate podatke na jednostavniji način. S obzirom da je ljudski
rod pretežno vizualni tip, informacije najučinkovitije apsorbiramo kroz vid. Vizualizacija
je učinkovita kada se može brzo i točno dekodirati od strane primatelja, a glavne točke
trebale bi biti odmah uočljive. Glavne karakteristike naših vizualizacija bi trebale biti
uočljive i suptilne veze bi trebale biti vidljive. Steele et al (2016) navode dva principa
dobrih vizualizacija: jednostavnost i iscrpnost. Jednostavnost znači da vizualizacije
trebaju samo sadržavati bitne stvari koje pomažu razumijevanju. A iscrpnost znači da
ćemo kroz određenu vizualizaciju izvući što više bitnih podataka.
Vizualizacije pripomažu u podučavanju i učenju jer potiču razumijevanje i
generiraju interes i sudjelovanje kod ljudi, a istraživači su se složili i kako pomaže u
opisivanju, razvoju i učenju koncepta u znanosti i srodnim poljima. Vizualiziranje
objekata može prikazati veće koncepte rastavljene u manje i razumljivije, te olakšava
praćenje odnosa među varijablama. Također i pomaže u učenju u različitim znanstvenim
poljima, ali ne postoji samo jedan alat koji može pružiti odgovor za svaki problem.
Učinkovita će biti samo ako se odabere prikladni alat i koristi na pravi način (Nair et al.,
2016).
Kroz vizualizaciju možemo postati više svjesni ograničenja našeg modela kao i
same vrijednosti podataka s kojima radimo. I sami grafovi mogu se napraviti
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
27
interaktivnima, kako bi prikazali još više informacija. Vizualizacija daje život izgrađenim
modelima i omogućuje im da pričaju vlastitu priču koja može sadržavati više informacija
nego što se dobilo kroz same brojeve. Kroz grafove možemo dobiti i uvid koji daje dublje
razumijevanje i često donosi novu hipotezu o samim podatcima, a sami se skupovi
podataka vide u novom svjetlu (Voulgaris, 2014). Teže je opaziti ključne uvide kada su
podatci u tablicama umjesto u dijagramima. Kako bi se istaknuli podatci najbolje je
napraviti vizualnu reprezentaciju, poput grafova. Također je i suprotno točno, u slučaju
kada osoba želi „ublažiti podatke“ (smanjiti težinu podataka u smislu da izgledaju manje
bitni nego što jesu), dijeljenje tih podataka u tablicama privlači manje pozornosti i
otežava ljudima asimilaciju podataka.
5.1. Osnovna pravila
Način kako se organizira vizualizacija u smislu kombinacija boja, oznaka i
redoslijeda utječe na to kako gledatelj obrađuje informaciju i što smatra ključnom
porukom tog dijagrama. Ovisno o cilju koji se želi postići, informacija se mora
organizirati na način da se intuitivno može shvatiti glavna poruka koju je autor namijenio.
U slučaju da se ne uspije to postići učinkovito, osoba koja konzumira podatke mora
pogađati glavnu ideju i potencijalno može interpretirati podatke drugačije nego što je
namijenjeno (EMC Educational Services, 2015).
Steele et al. (2016) govori kako komplicirane informacije ponekad zahtijevaju i
komplicirane vizualizacije, ali često možemo organizirati vizualizacije na temelju
sljedećih principa:
Dopusti da podatci pričaju – ako postoji glavni cilj onda je to taj, da podatci
mogu pričati sami za sebe. Dobre vizualizacije omogućuju da podatci pričaju svoju priču.
Edward Tuffe je smislio izraz za elemente koji ne pridonose razumijevanju: chartjunk.
Dobra prerađena definicija za chartjunk Roberta Kosara (2013) glasi: „svaki element
grafa koji ne pridonosi razumijevanju namijenjene poruke“8. Povijesno, najveći zločin
8 Originalni engleski citat: „Chart junk is any element of a chart that does not contribute to clarifying the
intended message.“
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
28
ovog principa činio je Excel. Zadane postavke u Excelu sada izbjegavaju najgore
primjere chartjunka, ali opcije za dodavanje su i dalje tu, pogotovo dodavanje
misterioznih trećih dimenzija skupovima podataka koji su jedno ili dvodimenzionalni,
kodiranje bojama bez smisla i uzorci koji sprječavaju razumijevanje. Za svaki element
grafa moramo se zapitati doprinosi li taj element cilju, odnosno dopušta li taj element da
podatci pričaju sami za sebe.
Dopusti da podatci pričaju jasno – suptilni dodatak prethodnoj točci je da
podatci pričaju svoju priču jasno i brzo. Odnos između dvije varijable na raspršenom
grafu može biti prikazan uz pomoć crte. Dok je to na tortnom grafu nemoguće prikazati
jer je na takvim grafovima izrazito teško identificirati dominante uzorke tj. prisustvo dva
skupa opažanja s različitim medijanom. Na slici 5 vidi se kako raspršeni grafikon dopušta
da podatci pričaju za sebe i koristi smisleni poredak opažanja. Ovakva vizualizacija
prenosi mnogo više informacija od tortnog grafa.
Slika 5. Razlika prikaza dva grafa s istim podatcima
Preuzeto iz: Steele et al (2016:153)
Odaberi grafičke elemente razumno – postoji mnogo opcija kako se grafikoni
mogu izgraditi; boje, osjenčavanje, vrste linija, debljina linija, legenda itd. Treba mudro
odabirati te elemente. Boja se često koristi da bi se prikazalo pripadanje u neku grupu, te
se često koristi loše kada je osobama koje rade grafove dosadno i dodaju boje bez
razmišljanja. Osi se mogu inteligentno koristiti da bi se istaknula određena opažanja ili
raspon podataka.
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
29
Pomozi svojoj publici – kad god je moguće, treba napraviti izmjene grafovima
koje će pomoći publici da bolje razumije podatke. Na primjer, mogu se istaknuti bitna
opažanja uz pomoć oznaka.
Ograniči područje – interesantni projekti generiraju puno podataka, a kako se
alati za vizualizaciju razvijaju tako i raste iskušenje da se svi ti podaci prikažu uz pomoć
samo jednog grafa. Treba i paziti da novi elementi ne odvuku pozornost od glavne poruke
(Steele et al., 2016).
5.2. Vrste grafova
Iako postoji mnogo tipova vizualizacija podataka, osnovni tipovi grafova
prikazuju podatke i informacije. Bitno je znati kada koristiti koju vrstu grafa da bi se
izrazili dobiveni podatci. U tablici 1 se vide osnovni tipovi grafova za određene situacije
ovisno o vrsti podataka i poruci koja se želi prenijeti. Koristiti vrstu grafa za podatke za
koje nije namijenjen može izgledati interesantno i neobično, no generalno zbunjuje ljude.
Cilj je pronaći najbolju vrstu grafa kako bi se podatci jasno izrazili a da pri tome odabir
vizualnog prikaza ne ometa poruku već da primaocu poruke pomogne u njezinom boljem
razumijevanju.
Tablica 1. prikaz osnovnih grafova
Podatci namijenjeni za vizualizaciju
Vrsta grafa Primjer grafova
Dijelovi (cjeline) tortni graf
Predmeti stupčasti graf
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
30
Podatci namijenjeni za vizualizaciju
Vrsta grafa Primjer grafova
Vremenski izrazi linijski graf
Frekvencije linijski graf ili histogram
9
Korelacije raspršeni ili stupčasti graf jedni
pokraj drugih
10
U tablici 1 se vide osnovni i najčešći tipovi grafova koji se mogu kombinirati i
napraviti sofisticiranije prikaze, ovisno o situaciji i „publici“. Preporuča se prvo uzeti u
obzir poruku koju se želi prenijeti a potom odabrati prikladni tip za podršku podatcima.
Nepravilno korištenje grafova često zbunjuje publiku pa je zato bitno da se uzme u obzir
željena poruka i vrsta podataka kad se odabire graf (EMC Educational Services ed.,
2015).
Tortni grafovi su dizajnirani da prikazuju dijelove neke cjeline. Također je i
najčešća vrsta grafa koja se nepravilno koristi. Ako situacija zahtjeva korištenje tortnog
grafa, najbolje ga je koristi za prikazivanje 2 do 3 stvari u grafu.
Stupčasti i linijski grafovi se općenito mnogo češće koriste iako su najkorisniji
za prikazivanje usporedbi i trendova tijekom vremena (EMC Educational Services ed.,
2015). Grus (2015) također govori kako su dobar izbor kada se želi prikazati kako
kvantiteta varira između diskretnog skupa stvari. Iako ljudi koriste vertikalne stupčaste
9 Primjer histograma 10 Primjer grafa raspršenosti
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
31
grafove češće, horizontalni omogućuju autorima više mjesta za tekst. Vertikalni su dobri
kada su oznake male, primjerice kada se prikazuje usporedba kroz vrijeme koristeći
godine.
Histogrami su korisni za frekvencije tj. u prikazivanju distribucije podataka,
uglavnom za potrebe analitičara ili podatkovnih znanstvenika. Distribucije podataka se
često vizualiziraju kada se planira izrada modela.
Grafovi raspršenosti su korisni pri uspoređivanju odnosa između varijabli kako
bi se kvalitetno evaluirale korelacije.
Kao i sa svakom prezentacijom treba uzeti u obzir „publiku“ i razinu
sofisticiranosti kada se odabire graf da bi se prenijela željena poruka. Ovi grafovi su
jednostavni, ali postaju puno kompleksniji kada se dodaju podatkovne varijable, spajaju
grafovi ili dodaju animacije gdje je to prikladno (EMC Educational Services, 2015).
5.3. Alati za vizualizaciju
Iako većina aplikacija za podatkovnu analitiku nudi neku vrstu vizualizacije, često
pomaže imati specijalizirani alat koji pravi cijeli proces intuitivnijim i učinkovitijim
(Voulgaris, 2014). Teško je imati jedan kriterij za klasificiranje alata za vizualizaciju.
Jedan način da se grupiraju je prema tome jesu li besplatni ili komercijalni.
Komercijalni alati poput Tableau, Qlicksense, Spotfire i FusionCharts nude podršku
kupcima, ali su puno skuplji u usporedbi s besplatnim alatima poput D3.js, DataWrapper
i DyGraphs.
Još jedan način na koji bi se alati za vizualizaciju mogli kategorizirati jest prema
tome jesu li „drag and drop“ ili zahtijevaju kodiranje za kreaciju vizualizacija. Većina
komercijalnih su „drag and drop“, stoga ih je lagano naučiti koristiti, a vizualizacije
mogu biti stvorene u minutama. Mana ovakvih alata je što je u njima teže napraviti
nekonvencionalne grafove. Mnogo besplatnih alata zahtijeva manje ili više kodiranja gdje
je JavaScript glavni programski jezik za kreiranje vizualizacija, koje zahtijevaju stručnost
i vrijeme za razvoj.
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
32
Alati za vizualizaciju se mogu grupirati i na temelju vrste grafa koje proizvode,
poput karta, tortni graf, stupčasti graf itd. ili vrste datoteke koje proizvode na primjer
SVG, PNG, Flash itd.
Između svih alata s kojima sam se susreo, najviše se ističu Tableau komercijalni
„drag and drop“ i D3.js besplatni alat koji zahtjeva kodiranje. Mnogo komercijalnih alata
su uglavnom alati za poslovnu inteligenciju i među njima Tablaeu ima najbolje ocjene.
D3.js mnogo je bolji od svih ostalih JavaScript alata jer omogućuje razne funkcionalnosti
poput rukovanja podatcima, njihovo transformiranje i učinkovito korištenje snage novih
web preglednika i web tehnologija (Nair et al., 2016).
5.3.1. Tableau
Tablaeu je komercijalno rješenje za poslovnu inteligenciju, preferira se kao alat
sposoban za interaktivne vizualizacije u kratkom vremenu. Nudi niz raznih opcija poput
tortnih, stupčastih grafova, karti, toplinskih karti, stvaranje kontrolnih ploča iz raznih
skupova podataka. Može jednostavno sakupljati i isticati stvari na grafovima tako da i
novi korisnici mogu napraviti vizualizacije koje prikazuju činjenice u velikim skupovima
podataka. Može i jednostavno spojiti podatke spremljene u Excel, CSV i tekstualne
datoteke te prepoznati polja i formate, no da bi se pristupilo podatcima spremljenim u
bazama podataka, korisnici moraju imati potrebne konektore za baze podataka i znanje.
Kao aplikacija koja radi i na Windows i Mac operativnim sustavima, prema Voulgarisu
(2014) u industriji za sad ima vodeću ulogu naspram drugih aplikacija za vizualizaciju.
Tableau može definirati i računati nove varijable i raditi jednostavne manipulacije
podataka koristeći razne matematičke formule kao što može i Excel, ali je puno bolji i
može raditi s milijunima izvora. Ograničene analitičke sposobnosti Tableau se mogu
riješiti s integracijom raznih platformi poput Hadoop platforme za velike podatke, alat za
statističku analitiku R itd. Također nudi i podršku za komercijalne platforme velikih
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
33
podataka poput Amazon Red Shift i TeraData, no nedostaje podrška za razne besplatne
NoSQL11 baze podataka, kao što je recimo MongoDB12.
Postoji besplatna verzija Tableau-a koja se može koristiti za manje vizualizacije.
No, ova verzija ima ograničene sadržaje u usporedbi sa standardnom verzijom zbog čega
nije primijenjena za vizualizaciju velikih podataka (Nair et al., 2016).
5.3.2. D3.js
D3.js je JavaScript biblioteka (eng. library) za moćne i jako interaktivne
vizualizacije. Podatci se s D3 mogu spojiti s Document Object Model-om (DOM). Stoga
se rukovanje i transformacije podataka mogu raditi na samome dokumentu. D3 stvara
vizualizacije koristeći grafiku skalarnih vektora (eng. Scalable Vector Graphics -SVG),
HTML i CSS, te može raditi s različitim formatima podataka uključujući CSV13, JSON14
i GeoJSON 15 . Besplatan je i alat otvorenog koda (eng. open source) koji zahtjeva
osnovno znanje u HTML-u, JavaScriptu, CSS-u i SVG-u da se stvore vizualizacije.
Zahtjeva kodiranje i osnovnih funkcija od temelja da bi se stvorile osnovne vizualizacije,
što može biti teško i produžuje vrijeme razvoja vizualizacija.
D3 može stvoriti veliki broj grafova koji imaju odličnu interaktivnost. Najviše
zbog toga što koristi za stvaranje vizualizacija web standarde. Također znanje SVG-a
daje prednost kod stvaranja vizualizacija uz pomoć D3. Moguće je animirati prijelaze i
kompleksne grafike s puno slika u sekundi (eng. frame rates).
Osim toga, nudi podršku svim modernim preglednicima uključujući Internet
Explorer 9+, android, IOS, iako se određeni elementi neće dobro prikazivati na starijim
preglednicima. Također nije najbolji kada je riječ o velikim podatcima (Nair et al., 2016).
11 NoSQL baze podataka su baze koje ne prate standardni oblik relacijskih baza podataka gdje su relacijski
povezane tablice, već mogu biti dokumenti, „ključevi“, grafovi itd. 12 MongoDB je NoSQL baza podataka orijentirana spremanje dokumenata (XML, JSON itd.) 13 Vrijednosti razdvojeni zarezom (eng. comma-separated values) je vrsta datoteke koja sprema tablične
podatke (tekst i brojeve) u običan tekst (eng. plain text) 14 JavaScript objektna notacija (eng. JavaScript Object Notation) je vrsta datoteka koja se koristi za
prijenos podatkovnih objekata koji se sastoje od parova atributa i vrijednosti. JSON se najčešće koristi u
komunikaciji internet preglednika i servera 15 Temelji se JSON-u, koristi se za prikazivanje jednostavnih geografskih obilježja
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
34
U tablici 2 se vidi sažeti opis Tableau i D3. Oba alata su veoma dobra za
vizualizaciju, ali svaki alat ima svoje mane i prednosti. S Tableaom se grafikoni mogu
jednostavno izrađivati i omogućuje rad s velikim podatcima. Ali nedostatak je što ne
omogućuje kreaciju nekonvencionalnih grafova i sam alat Tableau je skup komercijalni
proizvod. S druge strane imamo D3, alat koji omogućuje stvaranje svih zamislivih
grafova i besplatan je. Ali zato zahtjeva znanje kodiranje i nije najbolji alat za rad s
velikim podatcima.
Tablica 2. Usporedba dvaju alata za vizualizaciju
Tableau D3.js
Primarna funkcija BI alat, sadrži pakete za
vizualizaciju
JavaScript library
Cijena Komercijalni proizvod, skup Besplatan i open source
Kompleksnost
korištenja
Drag and drop, jednostavno za
naučiti
Puno kodiranja, teško za
naučiti
Trajanje razvijanja
grafova
Razvoj kontrolnih ploča za par
minuta
Razvoj može trajati od par sati
do dana
Vrste grafova
Razni ugrađeni grafovi i karte, ali
nije moguće stvoriti
nekonvencionalne grafove
Svaki graf je moguće napraviti,
ali nema ništa unaprijed
stvoreno
Podržani formati
datoteka
Format je komercijalni, ali može
se izvoziti u JPG, PNG, BMF i
EMF formatima
Scalable Vector Graphics
(SVG)
Sigurnost
Korištenjem filtera ili niskih
sigurnosnih stavki, moguće je
ograničiti pristup podataka
različitim korisnicima
Teško je ograničiti određene
podatke različitim korisnicima
Rad s velikim podatcima Bez problema se može nositi s
gigabajtima podataka
Problemi s gigabajtima
skupova podataka
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
35
6. Zaključak
S razvojem tehnologije dolazi do sve veće akumulacije podataka i problema kako
se nositi s njima. Kao odgovor na problem upravljanja velikim podatcima, pojavila se
nova znanost imena podatkovna znanost. Postoje razne definicije i još uvijek nije
donesena konačna definicija oko toga što je točno „podatkovna znanost“, no u svim se
definicijama jasno uočavaju sličnosti poput vještina koje treba poznavati, kojim se
zadatcima bave podatkovni znanstvenici i koji se sve koraci prolaze tijekom rada na
jednom zadatku podatkovne znanosti. Također, jedan od „problema“ ovog područja je
široki spektar polja koja obuhvaća, što zna dovoditi do problema miješanja poslovne
inteligencije i podatkovne znanosti.
Raditi u ovom području nije lagano. Od osobe se zahtijeva široko znanje, od
matematike i statistike, preko informatike, pa sve do ekonomije, u slučaju da se osoba
planira više fokusirati na poslovni svijet. Moguće je koristiti podatkovnu znanost u
svakom području, no neophodno je i imati prethodno znanje o domeni, kako bismo mogli
što učinkovitije raditi s podatcima
Drago mi je što sam odabrao ovo područje kao temu svog završnog rada jer mi je
omogućila napraviti most između mog srednjoškolskog i akademskog obrazovanja.
Istražujući ovo područje sam naučio puno stvari, ali i saznao koliko još imam za naučiti.
Spoznao sam koliko je važno pratiti razvoj tehnologije kako bi se moglo nositi s velikim
podatcima kao i koje alate koristiti za rad s njima. Područje podatkovne znanosti podosta
se oslanja na strojno učenje, stoga je potrebno imati jako dobro znanje matematike i
statistike kako bi se učinkovito mogli koristiti potrebni algoritmi. „Najstabilnija“ grana
podatkovne znanosti je vizualizacija. Osnovni principi dizajna se neće puno mijenjati, ali
i dalje treba pratiti razvoj alata i općenito tehnologije kako bi se podatci mogli
najučinkovitije prikazati.
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
36
7. Literatura
1. EMC Education Services. (2015). Data Science & Big Data Analytics:
Discovering, Analyzing, Visualizing and Presenting Data. 1st ed. Indianapolis:
John Wiley & Sons, Inc.
2. Grus, J. (2015). Data science from scratch. 1st ed. Sebastopol (CA): O'Reilly.
3. Harrington, P. (2012). Machine learning in action. Shelter Island, NY: Manning
Publications.
4. King, J., Magoulas, R. (2017). 2017 European Data Science Salary Survey. 1st ed.
[ebook] Sebastopol: O’Reilly Media. Dostupno na:
http://www.oreilly.com/data/free/2017-european-data-science-salary-
survey.csp?intcmp=il-data-free-lp-
lgen_20170404_european_data_science_salary_survey_top_cta_download_link
[Pristupljeno: 3.kolovoza 2017].
5. Kocijan, K. (2014). Big Data: kako smo došli do Velikih podataka i kamo nas oni
vode. U: Komunikacijski obrasci i informacijska znanost. Zagreb: Zavod za
informacijske studije p. 3 [online] Dostupno na:
http://darhiv.ffzg.unizg.hr/5064/1/KocijanK_BigData.pdf [Pristupljeno 2.
kolovoza 2017].
6. Kosara, R. (2013). A Better Definition of Chart Junk. [Blog] eagereyes. Dostupno
na: https://eagereyes.org/blog/2013/definition-chart-junk [Pristupljeno 8. kolovoza
2017].
7. Nair, L., Shetty, S. and Shetty, S. (2016). Interactive visual analytics on Big Data:
Tableau VS D3.JS. Journal of e-Learning and Knowledge Society, [online] 12(4).
Dostupno na: http://www.je-lks.org/ojs/index.php/Je-
LKS_EN/article/view/1128/1030 [Pristupljeno 28.srpnja 2017].
8. O'Neil, C. i Schutt, R. (2013). Doing data science. 1st ed. Sebastopol: O’Reilly
Media, Inc.
http://www.oreilly.com/data/free/2017-european-data-science-salary-survey.csp?intcmp=il-data-free-lp-lgen_20170404_european_data_science_salary_survey_top_cta_download_link%20http://www.oreilly.com/data/free/2017-european-data-science-salary-survey.csp?intcmp=il-data-free-lp-lgen_20170404_european_data_science_salary_survey_top_cta_download_link%20http://www.oreilly.com/data/free/2017-european-data-science-salary-survey.csp?intcmp=il-data-free-lp-lgen_20170404_european_data_science_salary_survey_top_cta_download_link%20http://darhiv.ffzg.unizg.hr/5064/1/KocijanK_BigData.pdfhttps://eagereyes.org/blog/2013/definition-chart-junkhttp://www.je-lks.org/ojs/index.php/Je-LKS_EN/article/view/1128/1030http://www.je-lks.org/ojs/index.php/Je-LKS_EN/article/view/1128/1030
-
Odsjek za informacijske i komunikacijske znanosti Završni rad
Silvio Majić Podatkovna znanost
37
9. Ozdemir, S. (2016). Principles of Data Science. 1st ed. [S.l.]: Packt Publishing.
10. Provost, F. i Fawcett, T. (2013). Data science for business. 1st ed. Beijing:
O'Reilly.
11. Steele, B., Chandler, J. i Reddy, S. (2016). Algorithms for data science. 1st ed.
Cham: Springer.