De la student la Data Scientist (5 pași dintr-un proiect)

Salut! Numele meu este Diana, am 24 de ani și, de un 1 an și 7 luni, lucrez ca Data Scientist la Dell Technologies, în București. Ca o scurtă prezentare, am absolvit facultatea de “Cibernetică, Statistică și Informatică Economică” urmată de masterul “Analiza afacerilor și controlul performanței întreprinderii”, ambele în cadrul Academiei de Studii Economice din București. Deși m-am angajat din timpul programului de licență, abia în al doilea an de master am reușit, într-un final, să lucrez în domeniul Data Science. În următoarele rânduri vă voi prezenta parcursul meu spre această carieră, dar și o scurtă introducere în etapele tehnice generale ale unui proiect.

Ce rol a avut facultatea?

Totuși, cum am ajuns să fiu pasionată și să mă dezvolt în această arie? Ei bine, de când mă știu, nu pot să spun că am fost atât de atrasă de matematică sau de programare, în general. Dacă m-ar fi întrebat cineva în liceu unde mă văd peste 5 ani, cu siguranță m-aș fi imaginat în cu totul alt context. De fapt, nici în timpul facultății nu pot spune că aveam o imagine clară asupra carierei mele, în special când îmi vedeam colegii cum se îndreaptă spre joburi precum Software Engineer, Web Developer sau Full Stack Developer, iar eu știam sigur că nu mi se potrivește acest lucru.

Am început cu materii precum „Baze de date”, unde lucram în SQL, însă am continuat cu cu cele care analizau datele cu ajutorul R, un limbaj de programare ce se folosește, preponderent, în proiectele statistice. Mediul de dezvoltare al acestui limbaj, aplicația specifică folosită pentru analiza datelor se numește RStudio. Cumva, facultatea m-a pregătit pentru acest domeniu fără să realizez în mod conștient (mai ales prin materiile de statistică). La acel moment, știam doar că îmi place și atât.

Începutul carierei

Primele mele joburi au fost în domeniul Big Data, cu roluri pe partea de Business Intelligence și Data Analytics. În 2017, când eram în căutare de oportunități, nu existau multe internship-uri (sau aproape deloc) pe partea de Data Science în România, deci începutul a fost unul destul de anevoios și pesimist. Era un domeniu în dezvoltare, iar singurele joburi existente cereau experiență. Din fericire, Data Science a luat amploare de aproximativ 2 ani și la noi în țară, companiile fiind din ce în ce mai conștiente de nivelul mare de date și de nevoia de a avea o echipă care să le modeleze.

Primul interviu

Primul meu interviu a fost pentru o poziție de Junior Data Scientist. La momentul acela, aveam deja ceva experiență cu datele (am fost angajată ca Business Analyst, BI Developer), deși niciodată nu mai lucrasem specific în domeniu. În timpul interviului tehnic, am avut întrebări generale legate de extragerea datelor în SQL, ce algoritmi de clasificare aș folosi în anumite probleme, dar și ce teste aș alege pentru validarea rezultatelor. Poziția necesita cunoștințe de R, SQL și statistică.

Ce fac, mai exact, ca data scientist?

Aria în care lucrez poartă denumirea de Fintech (Financial technology). Acest lucru înseamnă că majoritatea modelelor pe care le dezvolt au legătura cu serviciile financiare/bancare. Analiza riscului? Detectarea fraudelor? Credit scoring? Modele predictive pe partea de vânzări? Da, toate acestea intră în portofoliul de proiecte. Și, spre deosebire de un data analyst care pune accent pe date din trecut/prezent, echipele de Data Science analizează datele din trecut/prezent pentru a crea modele predictive.

Etapele unui proiect

În cadrul proiectelor de Data Science, urmez următorii pași: extragerea datelor, verificarea și curățarea lor, analiza univariată/multivariată a variabilelor, selectarea și aplicarea algoritmilor, testarea lor și, dacă totul merge bine, înaintarea modelului în producție. Dacă testele de validare ne indică, de exemplu, o clasificare slabă a datelor, ne întoarcem la prelucrarea acestora și aplicarea algoritmului (poate fi același sau putem încerca și alte variante). Acestea sunt etapele tehnice pe scurt, însă schema de mai jos prezintă pașii organizatorici oficiali de tip CRISP-DM din cadrul unui proiect de Data Science:

În continuare, voi prezenta, pe scurt, etapele menționate mai devreme:

1. Alegerea setului de date și încărcarea lui

Pasul acesta este destul de simplu dacă știi deja cu ce set de date vei lucra. Spre exemplu, eu încarc datele în RStudio și le vizualizez sub forma unui tabel. Acestea pot proveni din formate simple de tip .csv sau .xslx sau pot fi încărcate direct din baza de date. În general, utilizez pachetul DBI, fiind cel mai rapid în extragerea datelor din diverse baze de date. Verific dacă datele s-au încărcat corect și complet, număr de rânduri, coloane, dacă am o cheie principală de tip ID, dacă datele sunt unice sau conțin duplicate. Încerc să înțeleg partea de business din spate și ce anume semnifică variabilele.

Dacă ești în căutarea unui set de date pentru a-ți începe primul proiect de Data Science/Machine Learning, găsești ușor aici idei: https://www.kaggle.com/datasets

2. Analiza univariată/multivariată a variabilelor (cunoscută sub EDA, Exploratory Data Analysis)

Primul pas împreună cu acesta sunt cele care consumă cel mai mult timp. Da, este distractiv când ajungi la partea cu algoritmii și testezi rezultatele, însă este drum lung până în acel punct.

La această etapă, este bine să verifici datele, dacă există erori în setul de date, să analizezi procentajul de date lipsă din fiecare coloană, dar și să utilizezi funcții pentru descrierea variabilelor, atât prin indicatori statistici precum medie aritmetică, mediană, cuantile, valoare maximă și minimă, cât și prin reprezentarea lor grafică pentru a vizualiza distribuția de date. Reprezentarea lor grafică se poate realiza ușor cu pachete precum ggplot2 sau plotly. Tot aici analizezi variabilele de tip caracter separat de cele de tip numeric, analizezi corelația dintre ele, le poți grupa, decizi ce anume se va întâmpla cu datele lipsă, vizualizezi outlierii (valorile aberante), creezi variabile noi din cele existente, observi dacă sunt anumite date care se repetă sau altele care nu apar aproape deloc. Este efectiv pasul unde îți pui întrebări legate de date și încerci să le analizezi în detaliu pentru a găsi răspunsurile.

În acest moment, dacă lucrezi la o problemă de clasificare binară, cu ajutorul unei regresii logistice, trebuie să îți stabilești variabila dependentă și variabilele independente. Tot acum se poate observa și cât de echilibrat este setul de date (ce procentaj din variabila dependentă este reprezentat de o anumită clasă – de exemplu, câte fraude vs. non-fraude din total. Când vorbim de procente mici, sub 5%-6%, ne confruntăm cu un set de date dezechilibrat, unde pot apărea greșeli de predicție. Acest dezechilibru se poate observa și în imaginea de mai jos). La acest pas intermediar, înainte de aplicarea unui algoritm, datele pot fi împărțite în set de antrenare și set de testare.

3. Selectarea și aplicarea unui algoritm

Acest punct depinde de contextul problemei. Un lucru important de reținut este că, deși majoritatea algoritmilor folosiți se încadrează la Machine Learning, întotdeauna trebuie să ții cont de datele pe care le ai (în special de volumul lor).  De multe ori, modelele predictive se pot rezolva printr-o metodă simplă de învățare supervizată, precum regresia logistică/liniară. Un click aici, dacă ești curios de un exemplu foarte ușor rezolvat cu regresia logistică.

În cadrul metodelor de învățare nesupervizată, reamintim algoritmi de grupare (cluster) și reducere a dimensionalității datelor precum K-means, K-NN sau PCA (Principal Component Analysis).

4. Verificarea rezultatelor

Așa cum am menționat anterior, și acest pas depinde de natura algoritmului folosit. De exemplu, eu am utilizat în proiectele mele indici de performanță precum AR(Accuracy Ratio), AIC(Akaike information criterion), ROC Curve, F-score, Confusion Matrix, Precision, Recall. Imaginea de mai jos prezintă cum anume funcționează Confusion Matrix:

5. Intrarea modelului în producție

Aici depinde de aplicațiile utilizate în companie. De exemplu, rezultatele pot fi stocate în cadrul unei baze de date și, de acolo, utilizate într-un raport pentru o mai bună vizualizare (RMarkdown, Shiny, Tableau, PowerBI, Qlick). Intrarea unui model în producție înseamnă că acesta a fost finalizat cu succes și poate fi utilizat de către stakeholderi sau alte departamente. De obicei, rezultatele sunt monitorizate în continuare de echipa de Data Science.

Majoritatea proiectelor la care lucrez eu se desfășoară în R. Cu toate acestea, spre deosebire de lucrurile învățate în facultate, poți să faci mult mai multe lucruri cu acest limbaj. De exemplu, poți crea interfețe interactive (R Shiny), dar și rapoarte statice (RMarkdown) sau dinamice (R Shiny). Rapoartele pot fi programate să ruleze automat cu ajutorul platformei RStudio Connect. De asemenea, un alt limbaj utilizat frecvent în acest domeniu este Python. Deși nu l-am studiat intens la facultate, în prezent am oportunitatea să îl învăț la job-ul actual, lucrând cu echipa în cadrul task-urilor de dimensiuni mai mici. Deci, nu este panică, unele lucruri se mai învață și pe parcurs, atâta timp cât îți dorești acest lucru.

Concluzie

Sunt multe de spus în ceea privește Data Science. Este un domeniu în continuă dezvoltare, ce necesită timp și pasiune pentru a fi înțeles. Pentru final, ca un mic ajutor, îți voi lăsa câteva link-uri utilizate de mine când vreau să învăț ceva nou:

  1. https://www.coursera.org/ (conține o mulțime de cursuri din diverse domenii).
  2. https://jovian.ai/ (pentru cei care vor să învețe Python și să înțeleagă Notebook-urile mai ușor. Recomand cursul  “Data Analysis with Python: Zero to Pandas”).
  3. https://medium.com/ (este o platformă ce conține o varietate de articole, cu subiecte de actualitate. Multe dintre ele sunt tehnice și explică noțiuni de Data Science/Machine Learning).

Pe lângă aceste informații, mai mult sau mai puțin tehnice, te aștept și pe profilul meu de LinkedIn în caz că mai există întrebări, nelămuriri sau chiar sugestii.

Dacă ți-a plăcut articolul nu uita să îl sharuiesti cu prietenii interesați și lasă-ne un mesaj dacă vrei ca Diana să continue seria despre Data Science. Pe data viitoare!

Distribuie articolul pe: