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.
Základní pojmy v datovém modelování | Mňamka #457
Co je to datový model? Jaký je rozdíl mezi konceptuálním a logickým modelem? A k čemu slouží proces tzv. normalizace? Bez datového modelování se dnes v BI obejdete už jen stěží, Kuba si o něm proto připravil krátkou minisérii, ve které si vše probereme od úplných základů. V prvním díle se seznámíme s nejdůležitějšími pojmy, které byste v této souvislosti měli znát, a na jednoduchém příkladu z oblasti sales si ukážeme, jak takový datový model vlastně vypadá. Tak pojďme na to!
MAQL II. - MAQL Reuse factů & Nesting metrik | Mňamka #454
Proč se vyplatí recyklovat metriky v MAQL? Máme tady pokračování naší krátké minisérie o dotazovacím jazyku MAQL od Péti. V minulém díle jsme si osvětlili základní rozdíl mezi SQL a MAQL a dnes se zaměříme na výhody metrik vytvořených pomocí MAQL a jejich recyklaci. Funguje to přitom podobně jako v případě klasické recyklace surovin. Pokud ji dělat nebudete, ušetříte si možná půl minutky práce, v budoucnu se vám to ale může velmi nepříjemně vrátit. Tak se na to pojďte podívat!
Šaty dělají kód aneb Proč je někdy lepší kebab než velbloud | Mňamka #441
I špatný standard může být lepší než žádný standard. Bez toho totiž ve vašem kódu velmi snadno zavládne chaos. V praxi se např. často stává, že lidé halabala kombinují různé druhy uvozovek, míchají malá a velká písmena v pojmenování proměnných nebo se pro jistotu vůbec žádných jmenných konvencí nedrží. Ostatně, Tomáš už se o tom mnohokrát přesvědčil na vlastní pěst. Sepsal pro vás proto mňamku, ve které si připomeneme, proč byste přece jen nějaký standard při psaní kódu mít měli!