Autorid: Kimberly Remmelg, Raul Nugis, KPMG Balticsi juhtiv andmeteadlane, Indrek Seppo • 4. veebruar 2022

Andmete analüüsimine programmeerimiskeelega. Kumba keelt õppida – kas R või Python?

Ilmselt pole see uudis, et tehnoloogia meie ümber muutub ülikiires tempos. See, mis oli eile äge lahendus, võib olla homme juba vananenud.

Sama kehtib ka andmete analüüsimise võimaluste kohta. Igapäevaselt saame andmeid aina juurde ja juurde ning ka andmete kogumise eesmärgid on pidevas muutumises. Praegu soovitakse saada eelmise aasta kokkuvõtteid, mis lugu x numbrid räägivad ning miks y numbrid sellised on!?

Aga kuidas saada hakkama kiiresti muutuvas maailmas, kus andmeid tuleb koguaeg juurde?

Alustame sellest, et andmete analüüsimiseks on väga palju erinevaid võimalusi. Andmespetsialistid, kes peavad ise andmemudeleid ehitama, valivad selleks mõne programmeerimiskeele. Igal programmeerimiskeelel on omad plussid ja miinused - miks siis valitakse R keel või Python?

Selline küsimusepüstitus tekib pidevalt, kuna mõlemad – R ja Python – on tunnustatud analüütikute töövahendid, mis on andmeteaduse tööriistakastis ülekaalukalt levinud. Andmeanalüütikuks pürgijad esitavad seetõttu pidevalt küsimusi nende kahe kohta ja kuigi kogenud spetsialistilt oodatakse, et ta oskab kasutada mitut tööriista, kujuneb esimene valik tavaliselt kõige käepärasemaks.

Faktid

Kõige lihtsam ja kiirem viis oskuste saamiseks, on võtta praktiku koolitus, kus saab vähese ajaga õiged oskused, mida kohe töösse rakendada.

Tutvu Pythoni koolitusega SIIN ning sissejuhatava R keele koolitusega SIIN.

Mõistagi ei ole õppija vaates kõige mõistlikum võtta mitme töövahendi õppimine korraga ette – juba ühe programmeerimiskeele omandamine – eriti, kui see on esimene, on paras pingutus. Enne valikut tuleks siis läbi mõelda, mida täpsemalt teha tahetakse ning mis keel on ettevõttes/osakonnas kasutusel.

Siin artiklis me ei ütle kumb on õigem keel andmetega töötamiseks. Kui soovid õppida programmeerimiskeelt andmetega töötamiseks, siis nii Pythoni kui R-keel on selleks suurepärased keeled ning nüüd toome välja mõned punktid, millele mõelda.

Alustame Pythonist

See on üks populaarsemaid programmeerimiskeeli, eriti alustajate seas. Põhjus on lihtne – Pythoni õppimine on üsna kerge, sellel on lihtne süntaks, mis muudab Pythoni õppimise, lugemise ja kasutamise kergemaks.

Pythonit kasutatakse nii tarkvaraarenduses, veebiarenduses kuid ka andmeteaduses. Üldiselt saab Pythoniga samu ülesandeid teha nagu R keelega. Pythonit eelistatakse tihti nii masinõppemudelite ehitamisel, eriti sügavõppe (deep learning) mudelite puhul. Kuid Pythoni statistiliste meetodite teegid pole nii rikkalikud.

Mõned plussid kasutamisel:

Kui Sul on kogemus juba arenduses, siis on Pythonit lihtsam rakendada andmetöötluses.

Python ei ole ainult programmeerimiskeel, mida saab kasutada andmeanalüüsis, ta on programmeerimiskeelte tipus ning on valitsevaks töövahendiks väga mitmes valdkonnas. Ühelgi teisel programmeerimiskeelel pole välja arendatud nii palju tööriistu. Seetõttu saab Pythoniga teha väga palju erinevaid asju. Näiteks IT-inimesed saavad lahendada Pythoniga erinevaid probleeme logistikas, fintech sektoris, krüptoga kauplemisel jne.

Pyhtoni õppimine on kergem tänu koodi lihtsusele ja „lugemisvõimekusele“.

R keele tugevused

R keel ei konkureeri Pythoniga populaarsuselt, kuid erinevalt üldotstarbelisest Pythonist on see mõeldud üheks ja ainult üheks asjaks – andmete analüüsiks. R on kirjutatud andmeanalüütikute poolt andmeanalüütikutele. Nii ei ole imestada, et ka Pythoni andmeanalüüsimoodulid on tihti R-i pealt kopeeritud ja ühe keele oskus võimaldab teises – vähemalt andmeanalüüsi poole peal - lihtsalt hakkama saada.

Eriti populaarne on R just andmespetsialistide ja statistikute seas. Esiteks sellepärast, et R keelel on üks rikkamaid ökosüsteeme kümnete tuhandete teekidega. Eriotstarbelised teegid leiduvad pea kõikide andmeanalüüsiga seotud ülesannete jaoks. Seetõttu annab väga lai teekide valik R keelele eelise mitmetes valdkondades. R-i eriliseks tugevuseks peetakse mugavaid andmegraafika võimalusi, mille abil nii andmeid uurida kui tulemusi kommunikeerida. Palju kasutatakse R Markdowni, mis võimaldab mugavalt nii raportite kui juhtimislaudade loomist.

R on teatud mõttes andmeanalüüsi avangard, kus testitakse uusi ideid, mis seejärel teistesse keeltesse (eeskätt Pythonisse) levivad. Moodsat R-i peetakse elegantseks, intuitiivseks viisiks andmeid töödelda, analüüsida ja kommunikeerida.

Lisaks on R keelel suurepärane akadeemiline tugi, mis hõlmab ülikoole, laia profiiliga teadlasi – nii andmeteadlasi, statistikateadlasi, kui ka näiteks sotsiaalvaldkonna teadlasi ning kõiki, kes piisava akadeemilisusega enda uurimistöös andmetele tuginevad.

R keel on laialdaselt kasutusel ka riigiametnike seas. Statistikaamet kui tulevane üleriigiline andmete kompetentsikeskus on R keele võtnud de facto enda standardiks.

Riigipoolsetes nö „krattides“ on R keel samuti väljapaistvalt kasutusel, see tähendab ka seda, et selle arendajaid on vaja nii praegu kui ka tulevikus.

Mõned plussid kasutamisel:

R keel on algusest peale mõeldud andmeanalüüsi jaoks – kui eesmärk on peamiselt andmeanalüüs, on seda Pythonist lihtsam õppida, samas on siit saadud teadmised otse ülekantavad Pythonisse.

Ka keerulisi statistilisi mudeleid saab enamasti jooksutada vaid mõne koodireaga.

Kokkuvõte – Python või R?

Eelneva tõttu võib küll teha järeldusi, et R keel on pigem asendamatuks, kui on vaja pühenduda uurimistööle ning puhtakujulisele andmemudeldamisele, olles sellega väärika analüütikute ja teadlaste community liige.

Python aga on küllalt asendamatu tööstuslik töövahend – pea kõik nutikad rakendused: otsingumootorid, kaardid, uudiste agregeerijad, isekauplevad algoritmid, vastavuskontrolli platvormid, seadmete ja sensorite juhtimiskonsoolid, pildituvastuse, kõnesünteesi ja tõlkemootorid, veebikraapijad ja „nuhid“, chat- ning click-botid, pildituvastusprogrammid, pilvepõhised tehisintellekti teenused ning kõikvõimalikud tasuta ja tasulised teenusepõhise rakendamisvõimekusega lahendused toetavad just nimelt Pythonit.