Mihez ért a Data Scientist? Nem könnyű kérdés.
Vannak persze kutatások arról, hogy a Data Scientist szakemberek milyen elemző eszközöket használnak, ami kiindulásnak nem rossz. Elég biztosan kijelenthető, hogy jelenleg a Python számít a legnépszerűbb adatadatelemző eszköznek, ezt mutatja KDnuggets két legfrissebb kutatása is. Az egyik szerint a Pythont a Rapidminer és az R követi (itt mint szoftver szerepeltek a listában), míg egy másik szerint az Excel és az SQL (itt mint "skill" szerepeltek a listában).
Na de mi a helyzet itthon? Az R vagy a Python a népszerűbb? Egy mini kutatás eredményei jönnek.
Ha az ember belevág bármilyen kutatásba, akkor két kérdést mindenképp fel kell tennie:
1.) kiket akar elemezni? (rekordok meghatározása)
2.) milyen adatokat akar megszerezni róluk? (oszlopok meghatározása)
KIKET ELEMEZZEK? MILYEN ADATOKAT GYŰJTSEK RÓLUK?
Mivel nem vagyok se szociológus, se piackutató, így hamar beláttam hogy nincs semmilyen eszközöm arra, hogy összerakjak egy reprezantatív kutatási mintát (megjegyzem a korábban hivatkozott KDnuggets kutatások se tekinthetők annak – elég ha a két kutatás eredményei közötti eltéréseket nézzük). Na de akkor mégis kiket elemezzek?
Nos aktív LinkedIn júzerként tudom, hogy a LinkedIn profiljába mindenki feltöltheti, hogy milyen megszerzett képességgel/eszköz ismerettel rendelkezik, ez a legtöbb esetben publikus bárki számára. Ugyancsak a LinkedIn lehetőséget biztosít arra, hogy különböző pozíciókra rákeressen az ember. Ez alapján a következő módszert alkalmaztam:
- rákerestem néhány munkakörre (pozícióra), így pl: data scientist, data analyst, dataminer/adatbányász/advanced analyst/business analyst/BI expert/... --> listákat kaptam
- a listákban szereplő szakemberek profilját megnyitottam,
- majd összegyűjtöttem a következő adatokat: (i) milyen végzettsége van, (ii) mikor végzett, (iii) milyen pozícióban van jelenleg, és (iv) milyen eszközöket/képességeket jelölt be a profiljában.
A kutatás végére előállt 194 adatelemzéssel foglalkozó szakember "adatbázisa". Azonban itt Grétsy Lászlósan „álljunk meg egy szóra”. A LinkedIn-en kezd elharapózni az a szokás, hogy nem hagyományos pozíciót (munkakört) állít be, hanem megpróbál valami hangzatos címkét adni hivatásának. Csak néhány érdekességként:
- „Expert for Increase Satisfaction (Motivational Map Licensed Practitioner, C-Factor Award Winner Coach, Market Analyst)”
- „Making your data dreams, from start to finish”
- „Data Enthusiast | Using data to telling stories about your business”
- „Data engineer/data scientist; sometimes teaching, always learning”
Éppen ezért első körben „egységesítenem” kellett a munkaköröket, a fentiekhez hasonló módon pozícionált szakembereket betettem valamelyik "skatulyába" (szerencsére egy részüket ismerem, így ez nem okozott gondot). A végeredményt az alábbi táblázat mutatja:
Pozíció (skatulya) | Válaszadók száma |
Data Scientist | 57 |
Data Engineer | 44 |
BI | 25 |
Data Analyst | 24 |
Data Miner | 17 |
Business Analyst | 15 |
Advanced Analytics | 12 |
A Data Engineer esetében meg kell jegyeznem, hogy az esetek többségében nem ez a pozíció volt feltüntetve, így ide elsődlegesen azokat tettem, akik adatokkal dolgoznak, de munkakörük alapján inkább (szofver)fejlesztői/adatfeldolgozói munkakört töltenek be.
Milyen „képességeket” ("skill") néztem?
- SQL (PL/SQL, MySQL, …)
- R
- Python
- SPSS (SPSS/Modeler/IBM Watson)
- SAS
- RapidMiner
- Matlab
- Stata
- MS (Excel/Azure/PowerBi)
- Tableau
- Java/C/C++
- Machine Learning (ML/Gépi tanulás/Deep Learning)
- Szövegbányászat (Text Mining/NLP)
- Statisztika
- Hadoop
A kihagyhatatlan SQL-en kívül tehát adatelemző eszközöket néztem (open és nem open source), és vegyesen programozási nyelvet (Java), BI eszközt (Tableau) és egyéb képességeket (szövegbányászat)
(Nyilván a fenti lista bővethető - de a kapott eredmények szerintem így is tanulságosak)
Eredmények
Csapjunk a lecsóba! R vagy Python felhasználó van több itthon?
Skill | Adott skillt megjelölte | skill% |
SQL | 160 | 82% |
Python | 97 | 50% |
R | 68 | 35% |
SPSS | 62 | 32% |
SAS | 39 | 20% |
RapidMiner | 21 | 11% |
Matlab | 19 | 10% |
Stata | 5 | 3% |
Record_Count | 194 | 100% |
A nemzetközi trendeknek megfelelően a Python-ban programozók többségben vannak az R programozókhoz képest. Az viszont érdekes, hogy a KDNuggets kutatásokon rendre élmezőnyben szereplő RapidMinert az adatelemzők alig 10%-a használja/használta itthon.
Ha a régi két nagy nem open-source ellenfelet nézzük (SAS vs. SPSS/IBM), akkor ezen adatok alapján kijelenthető, hogy az SPSS/IBM termékei jobban elterjedtek itthon, mint a SAS megoldásai. Most nézzük meg szakmánként a sorrendeket!
(Szakmánként az oszlopok magassága azt mutatja, hogy az oda besorolt szakemberek hány százalék írta be profiljába az adott elemző eszközt)
A kutatás előtt sokat gondolkoztam azon, hogy a munkaköri címkéknek van-e bármilyen jelentősége? A Data Scientist vagy a Data Miner valójában ugyanazt a munkakört fedi le, csak a „cimke” más? Nos a diagram szerint igenis „más” szakmákról van szó, vagy legalábbis a szakmai megnevezések mögött eltérő szakmai profilok rajzolódnak ki. Ha valaki azt mondja hogy Data Scientist vagy Advanced Analytics szakember, akkor nagy valószínűséggel ért a Pythonhoz és/vagy az R-hez, míg ha azt mondja hogy Data Analyst vagy Data Miner, akkor a legnagyobb eséllyel az SPSS/IBM valamelyik termékét ismeri.
Nincs az ábrán, de a Data Engineerek közül szinte mindenki megjelölte az SQl-t, ezen kívül még Python-hoz értenek. Ez összevág azzal, hogy munkájuk nagy részét adatok feldolgozása adja, ami ezzel a két eszközzel kiválóan megoldható.
A különböző szakmák között nemcsak eszközhasználatban van különbség. Vegyünk két adatelemzési technikát, a tradicionális statisztikát és a napjainkban nagyon népszerű gépi tanulást. Az Advanced Analytics szakemberek körében kiugróan magas a Machine Learning technológiát ismerők aránya, ugyancsak viszonylag magas a Data Scientistek körében. A másik végletetet a Data Analyst szakemberek jelentik, akik alapvetően statisztikai módszereket használnak. Érdekes módon a Data Miner, Busines Analyst vagy Data Engineer szakemberek körében egyik módszertan ismerete sem jellemző (vagy legalábbis nincs megjelölve a profiljukban).
Érdekes eredményt kapunk (bár az eddigiek eredmények alapján nem meglepőt), ha azt nézzük meg hogy az adott szakmába tartozó szakemberek átlagosan hány eszközhöz/programozási nyelvhez/elemzési módszertanhoz értenek. A kék oszlopok az összes vizsgált „skillt” tartalmazzák, míg a narancs oszlopok kizárólag az elemző eszközök átlagos darabszámát (R, Python, SPSS, SAS, Stat, Matlab, RapidMiner).
Ez alapján megállapítható, hogy az Advanced Analytics szakemberek a „legképzettek”, átlagosan 2,6 elemző eszközhöz értenek, és összesen 5,7 „skillel” rendelkeznek (pl. Java/Hadoop/...). Kicsit lemaradva követi őket a Data Scientist szegmens, még körükben is 2 felett (2,3) van az általuk megjelölt adatelemző eszközök átlagos száma.
Érdekes, hogy legkevesebb megjelölt képességgel az adatbányászok (Data Miner) és az üzleti elemzők rendelkeznek (Business Analyst).
Minek nevezzelek? (játék)
Még folytathatnám az eredmények bemutatását, de inkább egy kis játék - készítettem egy pozíció kiosztó döntési fát. Ha adatelemzéssel foglalkozol, de nem tudod melyik titulus illik rád legjobban, akkor ez a döntési fa eldönti helyetted (ezt természetesen senki se vegye véresen komolyan - de adatbányászként ezt nem hagyhattam ki!).