W którym momencie zaczyna się data science, a kończy analiza danych.
Czyli Analityk Danych vs Data Scientist?
Analityk Danych jest Data Scientistem, ale Data Scientist jest więcej niż Analitykiem Danych.
Bardzo duża część pracy z danymi, to ich analiza i na jej podstawie podejmowane są decyzje biznesowe albo procesowe. Sama analiza danych i raportowanie, to cenne umiejętności wewnątrz każdej organizacji, co ważniejsze, często są one krokiem wyjściowym w kreowaniu nowych usług i produktów. Równie często praca Data Scientist kończy się na pracy analityka danych.
Jednakże, analiza danych to krok pośredni w bardzo skomplikowanym procesie. Na jednym jego krańcu są badacze, w tym matematycy, informatycy, specjaliści dziedzinowi – tacy jak ekonomiści, językoznawcy, neurobiolodzy czy politolodzy – którzy tworzą pewne algorytmy, modele jak i hipotezy na temat procesów zachodzących wokół nas.
Na szczeblu wyżej są osoby, które wdrażają abstrakcyjne konstrukty w postaci algorytmów wykorzystywanych przez komputery. Duża grupa badaczy zajmuje się optymalizacją tych algorytmów. To jest poziom akademicki, ale od niego zaczyna się „Data Science” i więcej w nim odkrywczości i innowacji, niż na następnych poziomach.
Wyżej znajdują się zespoły inżynierów, które pozyskują, transmitują, przetwarzają i przechowują dane. Ta część procesu to często tzw.: Data Mining i posiada wiele nietrywialnych wyzwań.
Na kolejnym poziomie mamy analityków danych w przedsiębiorstwach, czasami są to również badacze danych. Ich rolą jest wydobywanie wartości z danych zebranych przez inżynierów, za pomocą modeli opracowanych w środowisku akademickim. Ten poziom jest bardzo mocno sprzężony z działem rozwoju produktu albo usług, decyzje biznesowe są na tym etapie równie ważne, jak decyzje techniczne i często potrzeba bardzo dobrego Product Managera, by wyprowadzić analizę do poziomu produktu.
W przypadku bardziej złożonych systemów, pojawia się kolejny szczebel inżynieryjny, od którego zależy być albo nie być modeli uczenia maszynowego. Jest to przejście: z laboratorium na abstrakcję aplikacji albo systemu, a później na samą aplikację albo system. Inżynierowie danych mają tutaj dwa główne zadania: przepisanie i zoptymalizowanie pod kątem wykonawczym modeli opracowanych przez analityków, a następnie sprzężenie różnych składowych stanowiących model na produkcji.
Wszystkie poziomy przenikają się i praca na poziomie wdrożenia produkcyjnego nie wyklucza opracowywania nowych modeli albo optymalizacji już istniejących. To właściwie dość częsty scenariusz, bo z każdym krokiem lepiej poznajemy modele, jak i ich możliwości i ograniczenia.
Co musi wiedzieć Data Analist?
We współczesnej organizacji Analityk Danych musi umieć posługiwać się arkuszem kalkulacyjnym, dobrze znać podstawy statystyki, pogłębiać swoją wiedzę na temat dziedziny, którą się zajmuje. Do tego bardzo istotna jest znajomość relacyjnych baz danych i języka SQL. Bardzo pomaga umiejętność programowania w Python, R, Julia, STATA. Na rynku pracy dobrze się patrzy również na osoby znające pakiet Power BI albo Google Analytics.



Stack technologiczny Data Scientist:
Stack technologiczny na stanowisko Data Science zależy mocno od branży, do której się aplikuje. Generalnie dobrym wyborem jest Python albo R, wśród języków zdobywających popularność jest również Julia, która bardzo przypomina pakiet MATLAB.
Bardzo pomaga znajomość SQL i pracy w środowiskach chmurowych takich jak AWS, Google Cloud, Microsoft Azure.
Zależnie od tego, czy planujemy rozwijać się w kierunku inżynierii danych czy analityki, musimy pogłębić naszą wiedzę odnośnie programowania i baz danych, albo odnośnie algorytmów uczenia maszynowego i bibliotek służących analizie danych.
Jak opisałbyś różnice między Data Scientist vs Machine Learning Engineer?
Kolejny raz mamy do czynienia z dość rozmytym zestawieniem, bo osoba na stanowisku Machine Learning Engineer powinna rozumieć podstawy Data Science – jej rolą jest przepisywanie algorytmów i modeli laboratoryjnych do kodu produkcyjnego, budowanie systemów do ciągłego trenowania, ewaluacji i serwowania modeli.
Machine Learning Engineer musi na pewno być lepszym programistą i tkwi na nim bardzo duża odpowiedzialność. W przypadku benchmarkowych algorytmów uczenia maszynowego, ta rola wypiera praktycznie klasycznego „badacza danych”, bo chmurowe systemy znacząco ułatwiają zestawianie wielu modeli nawet przez osoby z podstawową wiedzą na temat ich działania. Rola ta w pewien sposób wypycha fazę badawczą z powrotem na uczelnie. O ile analiza danych nie dotyczy specyficznych raportów, wtedy ta rola praktycznie nie jest potrzebna.
I na koniec, jaka jest rola Data Engineer?
Współczesny hype i zachłyśnięcie się możliwościami sieci neuronowych nie miałoby miejsca, gdyby nie olbrzymie ilości danych treningowych. Niestety, pozyskiwanie i zarządzanie danymi nie jest proste i nie jest tanie. Do takiej pracy potrzebny jest inżynier danych, który dobrze rozumie strukturę danych, bazy danych i to jak dostarczać dane dla analityków do eksploracji oraz dla modeli do treningu i ewaluacji.
Inżynier danych współpracuje ściśle z analitykami (dostarcza im dane w postaci, w jakiej ich potrzebują, w jak najprostszy dla nich sposób), często czyści dane, analizuje koszty ich przechowywania i przetwarzania. Jest to bardzo odpowiedzialna rola, bo dane bywają „wrażliwe” i trzeba być również świadomym punktów, w których te dane mogą zostać ukradzione.
Sprawdź, jak możesz nauczyć się Analizy danych, programowania w języku Python oraz poznać SQL:
Szymon Moliński
Senior Data Scientist, inżynier, humanista, tancerz, dziennikarz naukowy i (etyczny) haker. Żyje z rodziną i dwoma psami w Finlandii, a na co dzień pracuje w firmie sektora e-commerce tworząc rozwiązania statystyczne i związane z uczeniem maszynowym dla rynku polskiego. Przy tym bardzo blisko związany z branżą kosmiczną, szczególnie tą jej częścią, której soczewki skierowane są w kierunku Ziemi.
