Duomenų mokslas jau kelinti metai laikomas viena karščiausių sričių IT pasaulyje, bet paklausk dešimt žmonių, kas tai iš tikro yra, ir gausi dešimt skirtingų atsakymų. Vieni sako, kad tai statistika su kompiuteriu, kiti – kad tai dirbtinis intelektas, treti tiesiog numoja ranka ir sako „duomenys, skaičiai, kažkas su Python“. Tiesa yra šiek tiek visų šitų atsakymų mišinys, ir tikriausiai todėl į šią sritį taip sunku įžengti – niekas iki galo nepasako, nuo ko realiai pradėti.
Jei sėdi ir svarstai, ar verta gilintis, ar tai tik dar viena mados bangą, kuri praeis, gera žinia – duomenų mokslas nėra trendas, kuris išgaruos. Bloga žinia – kelias iki realaus supratimo nėra trumpas ir jokie trijų savaičių kursai tavęs specialistu nepadarys. Bet tai nereiškia, kad pradėti yra sudėtinga. Tiesiog reikia žinoti, kur dėti pirmus žingsnius, kad nesuktumeis ratu.
Kodėl apie tai kalba visi, bet supranta mažai kas
Duomenų mokslas tapo tokiu populiariu terminu, kad juo dabar vadinama beveik viskas – nuo Excel lentelių tvarkymo iki sudėtingų neuroninių tinklų. Įmonės skelbimuose ieško „data scientist“, kai iš tiesų joms reikia žmogaus, mokančio SQL užklausas rašyti. Tai kuria klaidingą įspūdį, kad viena profesija reiškia vieną rinkinį įgūdžių.
Realybėje duomenų mokslas yra kelių sričių sankirta: statistikos, programavimo, verslo logikos ir – tai dažnai nuvertinama – gebėjimo aiškiai papasakoti, ką reiškia tavo skaičiai kitiems žmonėms. Galima būti puikiu matematiku ir visiškai nesugebėti pristatyti rezultatų vadovybei taip, kad jie tuo patikėtų. Ir atvirkščiai – galima puikiai „parduoti“ analizę, kuri iš tiesų yra klaidinga.
Todėl pirmas žingsnis – nusimesti iliuzijas. Nereikia tapti visų šių sričių ekspertu per pusmetį. Reikia susidėlioti prioritetus ir eiti nuosekliai, o ne bandyti graibstyti viską vienu metu.
Matematika ir statistika – nuo šito niekur nepabėgsi
Daug žmonių ateina į duomenų mokslą per programavimą, tikėdamiesi, kad kodas viską išsprendžia. Realybė kitokia – jei nesupranti, kas yra pasiskirstymas, koreliacija, hipotezių tikrinimas ar p-reikšmė, tu tiesiog vykdysi funkcijas, nesuprasdamas, ką jos iš tikro daro. Tai kaip vairuoti automobilį nežinant, kas yra stabdžiai – kol kas viskas veikia, bet vieną dieną tai baigsis blogai.
Nereikia tapti matematikos profesoriumi. Bet šie dalykai turi būti kaip savi:
- Aprašomoji statistika – vidurkis, mediana, dispersija, standartinis nuokrypis
- Tikimybių teorijos pagrindai
- Pasiskirstymai (normalusis, binominis ir panašiai)
- Koreliacija vs priežastingumas – šitas skirtumas turi būti įaugęs į kraują
- Tiesinė algebra bazinis lygis – ypač jei planuoji artėti prie mašininio mokymosi
Gera žinia – šiais laikais nebūtina sėdėti su vadovėliu ir spręsti pratimus popieriuje. Yra daug interaktyvių kursų, kur teoriją iškart pritaikai su duomenimis. Svarbiausia – nesistengti šitos dalies „peršokti“, nes vėliau ji atsimuš į akis, kai teks interpretuoti modelio rezultatus ir aiškinti, kodėl jie tokie, o ne kitokie.
Programavimas: Python ar R, ir ar tikrai tai svarbu
Klasikinis ginčas, kuris jau kiek pavargęs, bet vis dar aktualus naujokams. Trumpas atsakymas – rinkis Python, jei nesi tikras. Jis universalesnis, turi didesnę bendruomenę, plačiau naudojamas pramonėje ne vien analizei, bet ir modelių integravimui į realius produktus. R vis dar stiprus akademinėje aplinkoje ir statistikoje intensyviuose projektuose, tačiau Python paketai – pandas, NumPy, scikit-learn, matplotlib – šiandien padengia beveik visus poreikius, kurių gali reikėti pradedančiajam.
Svarbiau nei kalbos pasirinkimas yra tai, kaip mokaisi programuoti. Daug žmonių praleidžia mėnesius žiūrėdami vaizdo pamokas ir jaučiasi, kad progresuoja, bet realiai neišmoksta rašyti kodo savarankiškai. Geriausias būdas – imti tikrus, chaotiškus, netvarkingus duomenų rinkinius (ne tuos idealiai sutvarkytus mokymosi pavyzdžius) ir bandyti su jais dirbti nuo pradžios iki galo. Klaidos, kurias padarysi šiame procese, moko daugiau nei bet kokia teorija.
Ką verta mokytis pirmiausia
Nesigilink iškart į sudėtingus algoritmus. Pirmiausia išmok:
- Duomenų valymą ir transformavimą su pandas
- Bazinę duomenų vizualizaciją
- Kaip dirbti su CSV, JSON, API atsakymais
- Git bazinius komandų principus – šito niekas nemoko iš pradžių, o vėliau visi kenčia
SQL – tavo geriausias draugas, kurio niekas nepagirs
Kalbant apie duomenų mokslą, dažnai užmirštama viena paprasta tiesa – dauguma duomenų vis tiek gyvena reliacinėse duomenų bazėse. Prieš pradėdamas modeliuoti ar analizuoti, turėsi tuos duomenis kažkaip pasiimti. Ir tai reiškia SQL.
Skamba nuobodžiai lyginant su neuroniniais tinklais, bet praktikoje SQL naudosi kur kas dažniau nei sudėtingus mašininio mokymosi algoritmus. Įmonėse, kur dirbama su tikrais duomenimis, gebėjimas parašyti tvarkingą, efektyvią užklausą, sujungiančią kelias lenteles, dažnai vertinamas labiau nei žinios apie naujausią modelio architektūrą. Nemokėti SQL šiandien duomenų srityje yra tas pats, kaip nemokėti skaityti – galbūt kažkaip išsiversi, bet lėtai ir su vargu.
Machine learning – kada jo tikrai prireikia
Čia įvyksta didžiausia klaida tarp pradedančiųjų. Žmonės pamato terminą „duomenų mokslas“ ir iškart šokinėja į mašininį mokymąsi, tikėdamiesi, kad tai ir yra visa esmė. Iš tikro didžioji dauguma darbo, ypač įmonėse, susideda ne iš modelių treniravimo, o iš duomenų surinkimo, tvarkymo, valymo ir suprantamo pateikimo. Statistika rodo, kad duomenų paruošimas gali užimti 60-80 procentų viso projekto laiko. Modeliavimas – tik nedidelė, nors ir dažnai labiausiai reklamuojama, dalis.
Tai nereiškia, kad mašininio mokymosi nereikia mokytis. Reikia, tik ne pirmiausia. Pradėti verta nuo paprastų modelių – tiesinės ir logistinės regresijos, sprendimų medžių – ir suprasti, kaip juos vertinti, o ne aklai kviesti .fit() funkciją ir tikėtis stebuklo. Kai supranti, kaip veikia paprasti modeliai, sudėtingesni – atsitiktiniai miškai, gradient boosting, neuroniniai tinklai – tampa logiška tąsa, ne magija.
Projektai vietoj diplomo popieriaus
Darbdaviai duomenų mokslo srityje vertina praktiką labiau nei formalius pažymėjimus. Tai viena tų retų sričių, kur portfelis GitHub’e gali atsverti trūkstamą aukštąjį išsilavinimą, jei jame yra realūs, apgalvoti projektai, ne perrašyti pamokos pavyzdžiai iš internetinio kurso.
Geras projektas paprastai turi kelis bruožus:
- Naudoja tikrus, netvarkingus duomenis, ne idealiai sutvarkytą mokymosi rinkinį
- Turi aiškiai apibrėžtą klausimą, į kurį bandoma atsakyti
- Rezultatai pateikti suprantamai – su vizualizacijomis, ne tik skaičių lentelėmis
- Yra dokumentuotas – kitas žmogus, atsivertęs kodą, supranta, kas vyksta
Verta rinktis temas, kurios tave iš tikro domina – sportas, finansai, muzika, klimatas – nes darbas su nuobodžia tema greitai virsta pareiga, o su įdomia tema net rutininis duomenų valymas neatrodo taip slogiai.
Įrankiai, apie kuriuos nekalba pradedantiesiems kursuose
Yra visa eilė smulkmenų, kurios formaliuose kursuose beveik niekada neaptariamos, bet realiame darbe be jų neišsiversi. Jupyter Notebook ar VS Code su reikiamais plėtiniais, aplinkos valdymas (virtualenv, conda), versijų kontrolė su Git, bazinis susipažinimas su debesų platformomis (AWS, Google Cloud, Azure) – visa tai skamba techniškai nuobodžiai, tačiau kai pirmą kartą teks dirbti su komanda ar realiu projektu, šitos smulkmenos nulems, kiek laiko sugaišite kovodami su technine infrastruktūra, o ne su tikru darbu.
Taip pat verta anksti pradėti skaityti kitų žmonių kodą – ne tik rašyti savo. Atviro kodo projektai, Kaggle konkursų sprendimai, GitHub repozitorijos – visa tai moko, kaip patyrę žmonės struktūrizuoja savo darbą, kokių įpročių laikosi ir kokių klaidų vengia.
Kelias, kuris niekada iki galo nesibaigia
Jei laukiai to momento, kai galėsi pasakyti „dabar aš viską žinau apie duomenų mokslą“ – tokio momento tiesiog nebus. Sritis kinta greičiau nei bet kuri kita IT paskritis, nauji įrankiai ir metodai atsiranda kas kelis mėnesius, ir net patyrę specialistai nuolat mokosi kažko naujo. Tai gali skambėti atgrasančiai, bet iš tikro tai geriausia dalis – nuobodulio šioje srityje tiesiog nebūna.
Jei reikėtų sudėti visą šį straipsnį į vieną praktinę taktiką, ji būtų tokia: nesistenk apimti visko iš karto. Rinkis vieną kryptį – tegul tai bus statistika, tegul Python, tegul SQL – ir dirbk su ja tol, kol pajusi, kad ji tapo natūrali, o ne mechaniška. Tada dėliok kitą gabalą. Duomenų mokslas nėra viena disciplina, kurią išmoksi ir uždarysi knygą – tai amatas, kuriame kiekvienas naujas projektas atskleidžia, kiek dar yra ko mokytis. Ir keista, bet tas nuolatinis „aš vis dar nepakankamai žinau“ jausmas – tai ne signalas, kad tu ne toje vietoje. Tai signalas, kad tu jau esi kelyje.






