38
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.

Silvio Majić - Ruđer Bošković Institute · 2017. 10. 5. · tijekom izvršavanja jednog zadatka podatkovne znanosti. U trećem ću poglavlju objasniti što su točno veliki podatci

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • 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.