Nástrahy v bludišti data science: jak být dobrým konzultantem, nikoli pouze nerdem | Mňamka #258

Hlavními postavami tohoto textu jsou dvě skupiny lidí - jedna skupina jsou manažeři a manažerky, kteří chtějí vylepšit svůj byznys pomocí dat. Třeba už mají svá data pečlivě uskladněná v relační databázi a mohou si je prohlížet v přehledných dashboardech. Narazili ale na problém, k jehož řešení je potřeba najít v datech vztahy, které pouhé oko neodhalí ani v tom nejlepším grafu - třeba má jejich firma tisíce zákazníků a chtějí vědět, kolik jich do konce roku odejde, a kolik naopak přijde nových.

Řešit podobné problémy baví nás, příslušníky druhé skupiny lidí. Pro nedostatek lepších pojmenování nám budu říkat data science specialisté nebo prostě data scientisti. Manažeři mají problémy, a naše práce, často přerůstající v životní poslání, je tyto problémy řešit - to zní jako základ kvalitního partnerského vztahu, možná až dokonalé symbiózy. Bohužel to není vždy úplně růžové. Chtěl bych se podělit o pár myšlenek na téma, jak bychom my data scientisti mohli přispět ke zlepšení našeho vztahu s manažery.

Data science je bezpochyby módní a často skloňované sousloví, dovolil bych si říci až buzzword. Když dojde na to, co to vlastně znamená, tak si lidé většinou kromě nejvíc sexy jobu 21. století představí spoustu matematiky, programování a divných lidí hovořících neznámým jazykem. Do značné míry to tak skutečně je - cílem data science je najít vztahy v datech, tyto vztahy zobecnit a vyjádřit je matematicky. To ale ve skutečnosti nedělají lidé, nýbrž stroje. A jelikož stroje zatím náš přirozený jazyk nechápou úplně dokonale, musíme je o hledání požádat v jazyce programovacím.

Ovládnout technickou stránku data science není žádná legrace a často nám z toho jde hlava kolem. Není divu, že když nám někdo nabídne reálný problém k řešení, jsme celí natěšení na první model, neúspěšné testování, čtení odborných článků, zkoušení neznámých přístupů, lepší modely, testování, ještě lepší modely, další testování, nejlepší modely na světě… a na závěr toho všeho potlesk publika, respektive obdivný až nevěřícný pohled zadavatele problému a poplácání po zádech.

Jenže ouha! Zákazníky našich sedm vyzkoušených modelů, z nichž dva byly hrozné, tři ucházející a dva fantastické, vůbec nezajímá. Je jim jedno, že jsme replikovali neuronovou síť z článku Geoffreyho Hintona, ale CatBoost byl nakonec lepší. Zajímá je, jestli jsme vyřešili problém, který nám zadali. A taky jak se mají vyznat v té hromadě kódu a podivných grafů, co jsme jim předhodili.

Data science je komplexní obor a být dobrým data science konzultantem vyžaduje ještě víc, než být technicky zdatným vědátorem. Naším hlavním úkolem je dobře pochopit zákazníkův problém, vzít ho (ten problém, ne zákazníka) do světa matematiky a statistiky, tam ho vyřešit, a zase jej v bezpečí dopravit zpátky. Nesmíme sklouznout k tomu, že cesta je cíl.

Někdy se mi stává, že na první schůzce se zadavatelem poslouchám jedním uchem popisovaný problém, ale mozek už začíná přemýšlet nad všemi možnými cool machine learningovými modely, o kterých jsem zatím jen četl, ale teď si je budu moci konečně vyzkoušet na reálných datech. V tu chvíli si vynadám a vracím se zpátky na zem - jsem tu kvůli zákazníkům, oni mě platí, a mým primárním úkolem je dodat jim přesně to, co chtějí. A když přesně neví co chtějí, je potřeba na to společně přijít. Seneca řekl, že pokud námořník neví, do jakého přístavu pluje, žádný vítr není dost dobrý. Stejně tak když data scientist pořádně nerozumí klientovu problému, jeho model může být technicky famózní, ale přesto k ničemu.

Když jsem studoval matematiku a data science ve Skotsku na University of Edinburgh, absolvoval jsem předmět, v jehož názvu bylo mimo jiné “Consulting Skills”. Dostali jsme velmi vágně zadaný byznys problém, na jehož řešení jsme pracovali v týmech. Měli jsme k dispozici konzultace se zákazníkem (říkal si Gus Thomer), ale zbytek byl na nás. Hodnocení bylo založeno čistě na prezentaci našeho řešení zákazníkovi. Potom jsem byl v rámci diplomové práce na tříměsíční stáži v jedné firmě. Můj vedoucí práce mi doporučil, abych věnoval celý první měsíc pochopení problému a jeho pečlivé formulaci. Od té doby je pro mě hlavním hodnotícím kritériem kvality modelu to, jak dobře reprezentuje klientův problém.

Myslím, že většina data science specialistů v jádru taková není, i tak jsem si vědom toho, že často působíme arogantně. Neubráníme se myšlence: zákazníkovy problémy jsou tak povrchní a všední, ale já proměním vodu ve víno svým božským modelem, ze kterého všem spadne brada až na zem! Omlouváme se, ale po absolvování technického drilu se občas chceme někomu pochlubit, někdy až moc. Často kvůli tomu zapomínáme, díky komu máme to štěstí náročné problémy řešit. Dobří data science konzultanti mají na rozdíl od těch špatných schopnost pokory před zákazníkem. Myslím, že právě pokora je to, v čem bychom se měli dále vzdělávat.

Máte k článku nějaké otázky nebo připomínky? Klidně mi napište, rád to s Vámi proberu :-)

Marek Soukup
datový detektiv
LinkedIn

Pandas – k čemu slouží, k čemu jej raději nepoužijeme a jeho alternativy | Mňamka #435

Pandas – k čemu slouží, k čemu jej raději nepoužijeme a jeho alternativy | Mňamka #435

Pandas je jednou z nejpoužívanějších knihoven pro zpracování dat v jazyce Python. Jeho největší předností je zejména jednoduchá a intuitivní syntaxe a také rychlost, se kterou můžete zpracovávat velké datové soubory. V BizzTreatu ho proto často využíváme např. pro ad hoc analýzy dat, kdy potřebujeme rychle prozkoumat, jak data vlastně vypadají a jaká je jejich kvalita. V dnešní mňamce od Báry si ukážeme, kde všude lze Pandas použít a jak si stojí v porovnání s ostatními knihovnami!

Keboola transformace – v hlavní roli proměnné | Mňamka #432

Keboola transformace – v hlavní roli proměnné | Mňamka #432

Co dělat, když se váš projekt liší jen v několika důležitých parametrech? No mohli byste samozřejmě všechno hardkódovat, to je ale značně pracné. V BizzTreatu proto raději dáváme přednost hojnému využívání proměnných. Jednak se s nimi lépe pracuje a zároveň nám usnadňují následnou správu kódu. V Keboola transformacích přitom máme hned dva typy proměnných – ty keboolácké a ty snowflakové. V dnešní mňamce od Kristýny si ukážeme, jaký je mezi nimi rozdíl a kdy a jak je používat!

MAQL I. - MAQL vs SQL | Mňamka #427

MAQL I. - MAQL vs SQL | Mňamka #427

SQL dozajista velmi dobře znáte, jak jste na tom ale s takovým MAQL? Pokud si chcete rozšířit obzory o další dotazovací jazyk, tak to jste na správném místě. MAQL je uživatelsky přívětivý jazyk, se kterým se můžete setkat při práci v GoodData, a naše Péťa si o něm připravila krátkou minisérii. A hned v prvním díle tu máme malé srovnání pro všechny zaryté fanoušky SQLka. Ukážeme si totiž, k čemu vám může být MAQL užitečný a kolik práce vám díky předdefinovaným operacím ušetří. Tak pojďme na to!