Vissza blogra

2019. 07. 15. - olvasási idő: 19 perc

CRISP-DM módszertan: így visszük végig a data science projekteket

Nagy-Rácz István
Nagy-Rácz István

A CRISP-DM hat fázisa nem elmélet, hanem az a sorrend, amiben egy adatprojekt nem szalad félre. Végigvisszük egy banki hitelkártya-kampányon, megmutatjuk, hová megy el az idő, és hogy mi változott a bevezetés fázisában az MLOps korában.

Section background image

A CRISP-DM (Cross Industry Standard Process for Data Mining) egy iparágfüggetlen folyamatmodell adatelemzési projektekhez, amely hat fázisra bontja a munkát az üzleti cél megértésétől a kész megoldás üzemeltetéséig. A lényege nem a fázisok száma, hanem az, hogy a sikert üzleti oldalról definiálja, és közös nyelvet ad az üzleti döntéshozónak és az adatelemzőnek.

Ez a cikk végigviszi a hat fázist egy valós banki példán, és megmutatja, hol szokott félrecsúszni egy projekt. Ha az a kérdés, milyen típusú projektbe érdemes belevágni, arról a data science projektek négy típusa szól.

A cikk 2019-ben jelent meg, azóta frissítettük, elsősorban a bevezetési fázist és az új típusú, nyelvi modellekre épülő projektek kérdését.

Mi a CRISP-DM, és honnan jött?

1996-ban három cég, a DaimlerChrysler, az SPSS és az NCR abból indult ki, hogy túl sok adatelemzési projekt bukik meg. Összegyűjtötték, mi jellemzi a sikeres projekteket, két és fél éven át finomították és tesztelték a gyakorlatban, és ebből lett 1999-re a CRISP-DM 1.0.

A módszertannak négy célja volt, és ezek ma is érvényesek: tegye érthetővé az adatelemzési projektet annak is, aki most találkozik vele, tegye megismételhetővé a folyamatot, adjon iránymutatást arról, mi a projekt kimenete, és adjon közös nyelvet az üzletnek és az elemzőnek.

A módszertan három szinten épül fel. A legfelső szinten van a hat fázis, alatta az általános, bármely projektre érvényes feladatok, legalul pedig az adott projektre szabott konkrét tennivalók. A gyakorlatban a legfelső két szintet érdemes fejben tartani, a harmadikat minden projekt maga írja meg.

A CRISP-DM módszertan hat fázisa körfolyamatként

A hat fázis egy táblázatban

#FázisMire válaszolMi a kimeneteTipikus ráfordítás
1Üzleti célok megértéseMi a probléma, és mikor mondjuk sikeresnek?Üzleti cél, sikerkritérium, adatelemzési feladatKicsi, de meghatározó
2Adatok megértéseMilyen adat van, és mit jelent üzletileg?Adatleírás, adatgazdák, első anomáliákKözepes
3AdatelőkészítésHogyan lesz az adatból elemezhető tábla?Elemzési adattábla, új változókA legnagyobb
4ModellezésMelyik algoritmus mit tud ezen az adaton?Betanított modellek, összehasonlításKicsi, 5-10 százalék
5KiértékelésTeljesülnek-e az első fázis sikerkritériumai?Üzleti döntés: megy vagy iterálunkKicsi
6Bevezetés és üzemeltetésHogyan épül be a mindennapi működésbe?Éles rendszer, monitorozás, felelősökFolyamatos

A fázisok közötti sorrend nem egyirányú utca. Szinte minden projektben kell visszalépni az egyes fázisok között, jellemzően a kiértékelésből az adatelőkészítésbe, és ez nem kudarc, hanem a módszertan része.

1. Üzleti célok megértése

Ez a fázis négy kérdést válaszol meg. Mi az üzleti probléma? Mi az elérni kívánt üzleti cél? Hogyan mérjük számszerűen a sikert? És milyen adatelemzési feladattá fordítható mindez?

A feladatok: az üzleti célok áttekintése, helyzetértékelés (erőforrások, korlátok, feltételek), az üzleti cél lefordítása technológiai nyelvre, és a sikerkritériumok rögzítése.

A banki példa. Egy kereskedelmi bank hitelkártyát szeretne ajánlani a meglévő bankkártyás ügyfeleinek. Az ötlet az, hogy a bankkártyás tranzakciók elemzésével azonosítsuk azokat, akik a legnagyobb eséllyel fogadják el az ajánlatot. A bank futtatott már hasonló kampányt, tehát tudja, kik vették végül használatba a terméket. A cél: tízezer ügyfél megcélzásával elérni az ügyfélalap felét, a legígéretesebb jelöltekkel. Adatelemzési feladattá fordítva ez egy osztályozási feladat, amely az ügyfeleket az elfogadás valószínűsége szerint rangsorolja.

Az a mondat, hogy "tízezer ügyfél megcélzásával az ügyfélalap felét", többet ér, mint bármilyen technológiai specifikáció. Enélkül a projekt végén nem lehet megmondani, sikerült-e. Ez egyben az a pont, ahol az adatvezérelt döntéshozatal a gyakorlatban eldől: ha a sikerkritérium nincs előre leírva, utólag mindig lesz magyarázat.

2. Adatok megértése

Itt derül ki, milyen adat áll rendelkezésre, és főleg az, hogy üzletileg mit jelent. Feladatok: az elérhető adatok összegyűjtése, az adatgazdák megtalálása (ők tudják, mit jelent egy mező valójában), az adatforrások összekapcsolásának megtervezése, az időtávok és a közös kulcsok azonosítása. A fázis terméke egy részletes adatleírás.

A banki példa. Két adathalmaz van: a bankkártyás tranzakciók és az előző kampány eredménye. A kérdések: hogyan kapcsolható össze a kettő, milyen változók vannak és üzletileg mit jelentenek, vannak-e hiányzó értékek vagy anomáliák, és vannak-e kiugró értékek, például abnormálisan magas kereset vagy kártyahasználat.

Ha ez a fázis egy szervezetnél rendre elakad, az általában nem projektkérdés, hanem szervezeti: nem tudjuk, milyen adatvagyona van a szervezetnek. Erre való az adatvagyon-felmérés.

3. Adatelőkészítés

Ez a leghosszabb és a legkevésbé látványos fázis, és a projekt sorsa jellemzően itt dől el. Az a dolga, hogy az algoritmus számára hozzáférhetővé tegye azt az üzleti logikát, amit az magától nem lát.

  • Adatkiválasztás: mit használunk, mit hagyunk ki.
  • Adattisztítás: hiányzó és kiugró értékek kezelése, anomáliák azonosítása.
  • Adatgazdagítás: külső források bevonása, üzleti logikán alapuló új változók képzése.
  • Célváltozó: rendelkezésre áll, vagy elő kell állítani.
  • Adatintegráció: a források összekapcsolása, az elemzési adattábla létrehozása.

A banki példa. A tranzakciós adatban ügyfelenként sok sor van, a modellnek viszont ügyfelenként egy sor kell. Aggregálni kell: átlagos havi költés, hány napig elég a fizetése, a kiadások és a bevételek aránya. És van egy szabály, amit könnyű elrontani: ezeket az aggregációkat csak a kampány megkeresésének időpontjáig terjedő tranzakciókból szabad számolni, mert éles használatkor sem áll rendelkezésre a "jövő". Ha ez kicsúszik, a modell a teszten kiválóan teljesít, élesben pedig nem.

Mennyi idő ez valójában? A saját tapasztalatunk szerint egy adatprojekt sikere nagyjából 80 százalékban ezen a fázison múlik. Az iparági felmérések a ráfordított időről hasonló képet mutatnak: a CrowdFlower 2016-os adattudományi felmérése szerint az adatelemzők az idejük 60 százalékát adattisztítással és rendszerezéssel, további 19 százalékát adathalmazok gyűjtésével töltik. Tegyük hozzá, hogy ezt a számot azóta többen vitatják, és a pontos arány nyilván cégenként és projektenként változik. Az irány viszont minden mérésben ugyanaz: az idő nagy része nem a modellezés.

Mire megy el egy adatelemző ideje: adattisztítás 60, adatgyűjtés 19 százalék

4. Modellezés

Erre a fázisra jellemzően a projekt erőforrásainak 5-10 százaléka jut, éppen azért, mert az előkészítés viszi el a java részt.

Feladatok: az algoritmusok kiválasztása az első fázisban rögzített feladat alapján, a tesztterv elkészítése (hogyan mérjük vissza múltbeli adaton a modellt), a modellek felépítése és a paraméterek kalibrálása, a kiértékelés, és a feltárt összefüggések értelmezése.

Három elv, ami sokat számít. Ne a véletlenhez mérjük a modellt, hanem egy baseline megoldáshoz. Több algoritmussal építsünk modellt, és hasonlítsuk össze őket. És az első körök tanulságaiból építsünk új változókat, mert a legtöbb javulás nem az algoritmusváltásból jön, hanem az adatból.

A banki példa. A baseline az a szabály, amit az üzleti csapat eddig kézzel alkalmazott. Ha a modell ezt nem veri meg, nincs miről beszélni. Ha megveri, akkor több algoritmus összevetése, és adott esetben kombinálása következik.

5. Kiértékelés

Ez a fázis nem a modell pontosságáról szól, hanem arról, hogy az első fázisban rögzített üzleti sikerkritérium teljesül-e. Feladatai: a modell teljesítményének értékelése az üzleti célhoz képest, annak eldöntése, hogy üzletileg használható-e, és szükség esetén visszalépés egy korábbi fázisba.

A banki példa. Ha a modell csak két hónapra előre jelzi jól az elfogadást, miközben az üzlet hat hónapos előrejelzésre számított, az még nem feltétlenül kudarc: lehet, hogy két hónapos horizonton is van értelmes kampány. De az elvárást ki kell mondani újra, nem elhallgatni.

Itt a leggyakoribb hiba nem az, hogy a modell rossz, hanem az, hogy jobbnak tűnik, mint amilyen. A tipikus modellkiértékelési hibák szinte mind ebben a fázisban derülnek ki, vagy éppen itt maradnak észrevétlenül.

6. Bevezetés és üzemeltetés

A modell akkor ér valamit, ha beépül a működésbe. Feladatok: bevezetési terv, az érintett folyamatok azonosítása, a szereplők feladatainak módosítása, valamint a monitorozás és karbantartás megtervezése.

Mérés éles környezetben. A banki példánál az AB teszt adja a tiszta mérést: az A csoport a modell által kiválasztott ügyfelekből áll, a B csoport véletlenszerű kontroll. A modell akkor bizonyított, ha az A csoportban lényegesen magasabb a hitelkártya-használat. Enélkül nem lehet elkülöníteni a modell hatását attól, hogy a kampány önmagában is működött volna.

Minden modellnek lejár a szavatossága. Ez a fázis legfontosabb mondata. A piac változik, az ügyfelek viselkedése változik, az adat szerkezete is változik. Ezért kell hozzá monitorozás: figyelni a bemeneti adatok eloszlásának elmozdulását, a modell teljesítményének romlását, és előre eldönteni, milyen romlásnál tanítjuk újra.

Ezt a részt ma MLOps néven szokták emlegetni: verziózott modellek és adatok, automatizált újratanítás és kiszállítás, riasztások. A név új, a feladat nem. Amihez a módszertan eredetileg nem adott támpontot, az a magyarázhatóság: ha a modell döntését meg kell tudni indokolni az ügyfélnek vagy a felügyeletnek, akkor az a magyarázható mesterséges intelligencia eszköztárából jön, és már a negyedik fázisban meg kell tervezni.

Hogyan alkalmazzuk a Dmlabnál?

A saját projektfolyamatunk öt lépésből áll, és ezek a CRISP-DM hat fázisára képezhetők le.

SzakaszCRISP-DM fázisA mi lépésünk
Tervezés1. Üzleti célok megértéseBeszéljük át az üzleti igényed. Ütemezést és sikerkritériumot rendelünk hozzá, objektív KPI-okhoz kötve
Elemzés és fejlesztés2-5. Adatok megértése, előkészítés, modellezés, kiértékelésMegkeressük a legfontosabb összefüggéseket iteratív elemzési sprintekben. Lefejlesztjük a rendszert, prototípussal és teszteléssel
Bevezetés6. Bevezetés és üzemeltetésHézagmentesen beillesztjük a munkanapodba, bevezetéssel és karbantartással

A leglényegesebb pont a második sor. A CRISP-DM négy fázisa nálunk nem négy egymás utáni szakasz, hanem iteratív sprintek sorozata, ahol minden megbeszélésen látszik valami új. Ez az, ami a módszertant agilis működésbe illeszti.

A CRISP-DM hat fázisa és a Dmlab öt projektlépése egymás mellett

CRISP-DM és az agilis működés

A CRISP-DM nem vízesésmodell, még ha a szokásos ábrája miatt annak tűnhet is. A fázisok között szinte mindig kell iterálni, és ez az iteráció pontosan úgy viselkedik, mint egy sprint: van egy kérdés, egy időkeret, és a végén egy megmutatható eredmény.

A gyakorlati különbség a szoftverfejlesztési sprinthez képest az, hogy egy adatos sprint kimenete nem mindig funkció. Néha az a kimenet, hogy egy irány nem járható, és ez ugyanolyan értékes, ha gyorsan derül ki. Ezért érdemes a korai sprinteket a legnagyobb bizonytalanságra tervezni, nem a legkönnyebb feladatra.

Működik ez nyelvi modellekre épülő projekteknél is?

Igen, a hat fázis szerkezete változatlan, két fázis tartalma viszont más.

A harmadik fázisban az adatelőkészítés helyét részben a kontextus előkészítése veszi át: milyen dokumentumokból dolgozik a rendszer, hogyan darabolódnak, mi kerül be a keresésbe. Ez éppúgy a projekt legnagyobb munkája, mint klasszikus esetben az adattábla összerakása.

A negyedik fázisban ritkábban tanítunk saját modellt, inkább egy meglévőt illesztünk a feladathoz. Cserébe az ötödik fázis lesz nehezebb: nincs egyetlen pontossági szám, a kiértékeléshez saját tesztkészletet és értékelési szempontokat kell építeni.

Ami nem változik: az első fázis. Egy nyelvi modellre épülő projekt is akkor fut zátonyra, ha nincs kimondva, mi a siker.

Gyakori kérdések

Mit jelent a CRISP-DM rövidítés? Cross Industry Standard Process for Data Mining, vagyis keresztiparági szabványos folyamat az adatbányászathoz. 1996-ban indult a fejlesztése, és 1999-re készült el az első változata.

Melyik fázis viszi el a legtöbb időt? Az adatelőkészítés. Az iparági felmérések szerint az adatelemzők idejének nagyjából kétharmada tisztítással és rendszerezéssel telik, a modellezésre pedig jellemzően a projekt erőforrásainak 5-10 százaléka jut.

Vízesésmodell a CRISP-DM? Nem. A fázisok sorrendje adott, de a visszalépés a módszertan része, és a gyakorlatban szinte minden projektben szükség van rá. Iteratív sprintekkel jól összeegyeztethető.

Mi a különbség a CRISP-DM és a TDSP vagy a SEMMA között? Mindegyik ugyanazt a problémát oldja meg, de más hangsúllyal. A CRISP-DM a legelterjedtebb, mert gyártófüggetlen, és az üzleti oldalról indul, nem az adatbányászati eszközből.

Használható-e kisebb, néhány hetes projektre is? Igen, sőt ott a legfontosabb az első fázis. Egy rövid projektnél nincs idő menet közben kitalálni, mit jelent a siker.

Beszéljük át a projektedet

Ha van egy adatos ötlet, amiről nem világos, hogyan lehetne belőle projekt, az első lépés általában nem a technológia, hanem az, hogy kimondjuk, mikor mondanánk sikeresnek.

Igyunk meg egy kávét

További cikkek

Az adat, mint tartalék erőforrás

Mekkora a céged adatvagyona? Így lesz az adatból üzleti érték

Az adat nem az új olaj, hanem az új gyarmati nyersanyag: az a kérdés, ki dolgozza fel és ki adja el a belőle készült terméket. Pazarlók, gyűjtögetők és adatvezéreltek, a tárolási dilemma GDPR után, és az az eset, amikor nem üzleti kérdésből, hanem magából az adatból indulunk ki.

Összes cikk

Kapcsolódó esettanulmányok

Továbbiak