Duomenų mokslininko karjera: ką reikia mokėti

Kas iš tikrųjų yra duomenų mokslininkas?

Duomenų mokslininkas – viena iš tų profesijų, apie kurią visi kalba, bet ne visi iki galo supranta, ką ji reiškia. Vieni įsivaizduoja žmogų, kuris visą dieną rašo sudėtingus algoritmus, kiti – analitikos guru, kuris iš chaotiškų duomenų kuria verslo strategijas. Tiesą sakant, abu scenarijai gali būti teisingi.

Realybė tokia, kad duomenų mokslininkas yra savotiškas universalus karys duomenų pasaulyje. Jis turi suprasti verslą, mokėti programuoti, išmanyti statistiką ir matematiką, gebėti vizualizuoti rezultatus ir, kas svarbiausia, paaiškinti savo išvadas žmonėms, kurie nė karto nėra matę Python kodo. Skamba sudėtingai? Na, iš dalies taip ir yra.

Bet nesibaiminkite – niekas negimsta su visomis šiomis kompetencijomis. Tai kelionė, kurios metu nuolat mokysitės naujų dalykų. Ir būtent tai daro šią profesiją tokią įdomią. Kiekvieną dieną susiduriate su naujais iššūkiais, naujais duomenų rinkiniais, naujomis problemomis, kurias reikia išspręsti.

Programavimo įgūdžiai: be jų – niekur

Pradėkime nuo akivaizdžiausio dalyko – programavimo. Jei manote, kad galite tapti duomenų mokslininku nenaudodami kodo, turiu jus nuvilti. Teoriškai galima naudoti tik vizualines priemones, bet praktikoje jūsų galimybės bus labai ribotos.

Python yra de facto standartas duomenų moksle. Kodėl? Nes jis paprastas, turi milžinišką biblioteką ekosistemą ir bendruomenę, kuri nuolat kuria naujus įrankius. Pandas duomenų manipuliacijai, NumPy matematiniams skaičiavimams, Scikit-learn mašininio mokymosi modeliams, Matplotlib ir Seaborn vizualizacijoms – visa tai yra Python pasaulyje.

R taip pat populiarus, ypač akademinėje aplinkoje ir tarp statistikų. Jei jūsų darbas labiau susijęs su statistine analize nei su gamybinių sistemų kūrimu, R gali būti puikus pasirinkimas. Bet atvirai kalbant, rinkoje daugiau paklausos Python specialistams.

SQL – tai ne diskusijos tema, tai būtinybė. Duomenys dažniausiai gyvena duomenų bazėse, ir jūs turite mokėti juos iš ten ištraukti. Nesvarbu, ar tai PostgreSQL, MySQL, ar koks nors NoSQL sprendimas – SQL pagrindai yra universalūs. Mokėti parašyti efektyvius užklausas, suprasti JOIN’us, agregacijas, subqueries – tai kasdienybė.

Dar vienas aspektas, apie kurį dažnai užmirštama – versijų kontrolė. Git nėra tiesiogiai susijęs su duomenų mokslu, bet bandykite dirbti komandoje be jo. Arba bandykite atkurti, ką darėte prieš mėnesį. Sėkmės.

Matematika ir statistika: ne tik skaičių žongliravimas

Čia daugelis pradeda nerimauti. „Ar man reikia būti matematikos genijumi?” Ne, nebūtinai. Bet tam tikrų dalykų suprasti tikrai reikia.

Statistika yra jūsų kasdienė duona. Hipotezių testavimas, pasikliovimo intervalai, p-reikšmės, dispersijos analizė – tai ne tik teoriniai terminai iš vadovėlių. Tai įrankiai, kuriuos naudosite kiekvieną dieną. Pavyzdžiui, kaip žinoti, ar jūsų A/B testas tikrai parodė skirtumą, ar tai tik atsitiktinumas? Statistika jums atsakys.

Tiesinė algebra tampa aktuali, kai pradėsite dirbti su mašininiu mokymusi. Matricos, vektoriai, eigenvektoriai – visa tai skamba bauginančiai, bet iš tikrųjų tai tik būdas efektyviai manipuliuoti duomenimis. Kai suprasite, kaip veikia matricos daugyba, suprasite, kaip veikia daugelis mašininio mokymosi algoritmų.

Tikimybių teorija padeda suprasti neapibrėžtumą. Duomenų moksle retai kas būna 100% tikra. Viskas yra tikimybės, pasiskirstymai, pasikliautiniai intervalai. Bayes’o teorema, sąlyginės tikimybės – tai ne egzotika, tai praktiniai įrankiai.

Bet štai gera žinia: jums nereikia mokėti įrodyti teoremų ar spręsti olimpiadinio lygio uždavinių. Jums reikia suprasti koncepcijas ir žinoti, kada jas taikyti. Daugumą skaičiavimų už jus atliks kompiuteris.

Mašininis mokymasis: nuo teorijos iki praktikos

Mašininis mokymasis – tai tas dalykas, dėl kurio daugelis žmonių nori tapti duomenų mokslininkais. Dirbtinis intelektas, neuronų tinklai, giliojo mokymosi modeliai – skamba įspūdingai, ar ne?

Bet pradėkime nuo pagrindų. Prieš šokdami į giliąjį mokymąsi, turite suprasti klasikinius algoritmus. Tiesinė regresija, logistinė regresija, sprendimų medžiai, atsitiktiniai miškai, gradiento didinimas (gradient boosting) – tai jūsų darbo arkliai. 80% problemų galite išspręsti būtent šiais metodais.

Supratimas, kaip veikia algoritmai, yra svarbesnis nei mokėjimas juos paleisti. Bet kas gali parašyti model.fit(X, y), bet ne visi supranta, kas vyksta po gaubtu. Kas yra overfitting? Kaip jį išvengti? Kodėl jūsų modelis puikiai veikia treniravimo duomenyse, bet prasčiau realybėje? Šie klausimai yra svarbūs.

Feature engineering – tai menas ir mokslas viename. Dažnai nauji požymiai, kuriuos sukuriate iš esamų duomenų, yra svarbesni nei pats algoritmo pasirinkimas. Pavyzdžiui, jei analizuojate laiko eilutes, datos išskaidymas į savaitės dieną, mėnesį, sezoną gali labai pagerinti modelio tikslumą.

Giliojo mokymasis (deep learning) yra atskira tema. Jei dirbate su vaizdais, tekstu ar garsu, neuronų tinklai tampa būtinybe. Bet čia jau reikia daugiau resursų – ir kompiuterinių, ir žinių. Frameworks’ai kaip TensorFlow ar PyTorch padeda, bet mokymosi kreivė yra statesne.

Duomenų vizualizacija ir pasakojimas

Galite sukurti geriausią modelį pasaulyje, bet jei negalite paaiškinti savo rezultatų, jūsų darbas neturi vertės. Skamba žiauriai, bet tai tiesa.

Duomenų vizualizacija nėra tik grafikų piešimas. Tai komunikacijos įrankis. Geras grafikas gali paaiškinti sudėtingą koncepciją per kelias sekundes. Prastas grafikas gali suklaidinti ir sukelti klaidingus sprendimus.

Mokykitės naudoti Matplotlib, Seaborn, Plotly Python ekosistemoje. Arba ggplot2, jei dirbate su R. Bet svarbiau nei įrankiai yra principai: kokį grafiką naudoti kokiai situacijai, kaip parinkti spalvas, kaip struktūrizuoti informaciją, kad ji būtų aiški.

Tableau, Power BI ir panašios priemonės taip pat naudingos, ypač jei kuriate interaktyvias dashboards. Verslo žmonės mėgsta dashboards – jie gali patys tyrinėti duomenis, filtruoti, detalizuoti. Bet atsiminkite: dashboard’as turi pasakoti istoriją, ne tik rodyti skaičius.

Storytelling su duomenimis – tai įgūdis, kurio neišmoksite iš vadovėlių. Tai ateina su patirtimi. Kaip struktūrizuoti prezentaciją? Kaip paaiškinti techninį dalyką ne techninei auditorijai? Kaip pagrįsti savo rekomendacijas duomenimis, bet neužgriozti žmonių skaičiais?

Praktinis patarimas: visada pradėkite nuo verslo klausimo, ne nuo duomenų. „Mes turime daug duomenų, pažiūrėkime, ką galime su jais padaryti” – tai blogas požiūris. Geriau: „Mums reikia sumažinti klientų atsisakymo rodiklį – kokie duomenys gali mums padėti tai suprasti?”

Verslo supratimas: kodėl tai svarbu

Štai dalykas, kurio nedėsto universitete, bet kuris gali nulemti jūsų karjeros sėkmę: verslo supratimas.

Duomenų mokslininkas nėra tik technikas, kuris vykdo užduotis. Jūs turite suprasti, kodėl sprendžiate tam tikrą problemą, kokia jos įtaka verslui, kokie yra trade-off’ai. Ar 2% tikslumo pagerinimas verta dviejų savaičių darbo? Galbūt, galbūt ne – priklauso nuo konteksto.

Mokykitės verslo metrikų: ROI, CAC (Customer Acquisition Cost), LTV (Lifetime Value), churn rate ir panašiai. Kai kalbate verslo kalba, jūsų įtaka organizacijoje auga. Jūs tampate ne tik analitikas, bet strateginis partneris.

Supratimas, kaip veikia jūsų organizacijos industrija, taip pat svarbus. Duomenų mokslininkas e-commerce kompanijoje sprendžia kitokias problemas nei duomenų mokslininkas finansų sektoriuje. Kuo geriau suprantate domeną, tuo vertingesnės jūsų įžvalgos.

Dar vienas aspektas – projekto valdymas. Dažnai duomenų mokslininkai dirba prie kelių projektų vienu metu. Mokėjimas nustatyti prioritetus, valdyti laiką, komunikuoti su skirtingomis komandomis tampa būtinu įgūdžiu.

Įrankiai ir technologijos: kas dar svarbu

Be pagrindinių programavimo kalbų, yra visa ekosistema įrankių, kuriuos naudinga pažinti.

Jupyter Notebooks – tai standartas eksploracinei analizei. Galite rašyti kodą, matyti rezultatus iš karto, pridėti paaiškinimus. Puiku prototipavimui ir tyrimams. Bet gamyboje – ne tiek daug.

Docker padeda užtikrinti, kad jūsų kodas veiks ne tik jūsų kompiuteryje. Konteinerizacija tampa vis svarbesnė, ypač kai jūsų modeliai turi būti diegiami gamybinėje aplinkoje.

Cloud platformos – AWS, Google Cloud, Azure. Šiuolaikinis duomenų mokslininkas dažnai dirba cloud aplinkoje. Nereikia būti DevOps ekspertu, bet baziniai įgūdžiai – kaip paleisti virtualią mašiną, naudoti saugyklą, valdyti prieigos teises – tikrai praverčia.

Big Data technologijos – Spark, Hadoop – tampa aktualios, kai duomenų kiekiai auga. Jei analizuojate terabaitų ar petabaitų duomenis, Pandas jau nebeužtenka. Bet atvirai kalbant, dauguma kompanijų neturi tokių duomenų kiekių, tad nesijaudinkite, jei to dar nemokate.

MLOps – tai santykinai nauja sritis, bet vis svarbesnė. Kaip versijuoti modelius? Kaip stebėti jų veikimą gamyboje? Kaip automatizuoti perkvalifikavimą? Tai klausimai, su kuriais susidursite, kai jūsų modeliai pradės kurti realią verslo vertę.

Kur ir kaip mokytis: praktiniai žingsniai

Gerai, dabar jau suprantate, ko reikia. Bet kaip visa tai išmokti? Štai keletas praktinių patarimų.

Online kursai – puikus startas. Coursera, edX, DataCamp, Udacity siūlo struktūrizuotus kursus. Andrew Ng „Machine Learning” kursas Coursera platformoje yra klasika. Fast.ai kursai giliajam mokymuisi – puikūs ir nemokami. Bet atsiminkite: kursų žiūrėjimas be praktikos – tai tik teorija.

Praktika, praktika, praktika – tai svarbiausias dalykas. Kaggle – puiki platforma praktikai. Ten rasite duomenų rinkinius, konkurencijas, kitų žmonių sprendimus. Pradėkite nuo paprastų projektų, palaipsniui didinkite sudėtingumą.

Sukurkite portfolio. GitHub profilis su keliais gerai dokumentuotais projektais verta daugiau nei dešimt sertifikatų. Darbdaviai nori matyti, ką galite padaryti, ne ką išklausėte.

Skaitykite kodą. Žiūrėkite, kaip kiti sprendžia problemas. GitHub pilnas open-source projektų. Skaitydami kitų kodą, išmoksite daug gerų praktikų (ir blogų, kurių reikia vengti).

Bendruomenė – nepamirškite jos. Stack Overflow, Reddit (r/datascience, r/MachineLearning), specializuoti Discord serveriai – ten galite užduoti klausimus, dalintis patirtimi, rasti mentorių. Duomenų mokslo bendruomenė paprastai yra draugiška ir nori padėti.

Jei turite galimybę, stažuotė arba junior pozicija yra geriausias būdas mokytis. Realūs projektai, realios problemos, patyrę kolegos – tai pagreitins jūsų mokymąsi labiau nei bet kas kita.

Kelias į priekį: ką daryti su visa šia informacija

Suprantu, jei dabar jaučiatės šiek tiek priblokšti. Sąrašas kompetencijų tikrai ilgas. Bet štai gera žinia: niekas nereikalauja, kad viską mokėtumėte iš karto.

Pradėkite nuo pagrindų. Išmokite Python arba R. Supaskite statistikos pagrindus. Padarykite kelis paprastus projektus. Paskui palaipsniui plėskite savo žinias. Galbūt jums labiau patiks vizualizacija ir komunikacija? O gal gilusis mokymasis ir neuronų tinklai? Duomenų mokslas yra platus laukas, ir galite rasti savo nišą.

Nesitikėkite, kad po metų būsite ekspertas. Tai kelionė, kuri trunka metus. Ir tai gerai – reiškia, kad visada bus ką mokytis, visada bus naujų iššūkių.

Svarbiausias patarimas: pradėkite dabar. Ne rytoj, ne po mėnesio, kai „turėsite daugiau laiko”. Atsisiųskite Python, įdiekite Jupyter Notebook, raskite paprastą duomenų rinkinį ir pradėkite tyrinėti. Pirmieji žingsniai visada sunkiausi, bet kiekvienas ekspertas kažkada buvo pradedantysis.

Duomenų mokslininko karjera gali būti labai įdomi ir atlyginamai gera – ir finansiškai, ir intelektualiai. Bet tai ne lengvas kelias. Reikia įdėti laiko, pastangų, kantrybės. Jei esate pasiruošę mokytis ir tobulėti, jei jums patinka spręsti problemas ir ieškoti įžvalgų duomenyse – tai gali būti jūsų kelias. Sėkmės!

Daugiau

Cross-site scripting (XSS) atakos: prevencija ir apsauga