Ga naar hoofdinhoud

[Infographic] Checklist voor datascienceprojecten

Gebruik deze checklist bij het plannen van je volgende datascienceproject.
Adel Nehme
Richie Cotton
Adel Nehme, Richie Cotton

Maak je gratis account aan

Oefen en volg je voortgang.

Ga verder met GoogleDoor verder te gaan, accepteer je ons Gebruiksvoorwaarden, onze Privacybeleid en dat je gegevens in de VS worden opgeslagen.

Goed projectmanagement kan zorgen voor meer efficiëntie en productiviteit, en verkleint tegelijk het risico op falen. Helaas zijn datascience-projecten lastig te managen, omdat er vaak stakeholders uit meerdere teams bij betrokken zijn en je zowel zakelijke als technische doelen moet afwegen.

Projectmanagementframeworks bieden houvast bij het plannen, toewijzen van middelen en uitvoeren van taken, zodat je je doelen op tijd en binnen budget haalt.

Deze infographic brengt de belangrijkste punten samen uit twee toonaangevende projectmanagementframeworks – Microsofts Team Data Science Process en Domino Data Lab's Domino Data Science Life Cycle – in een handige checklist die je voor je eigen projecten kunt gebruiken.

Data Cleaning Checklist@1x (1).png

Zo gebruik je deze cheatsheet

Deze cheatsheet vat best practices voor projectmanagement in datascience samen, verzameld uit Microsofts Team Data Science Process en Domino Data Lab's Domino Data Science Life Cycle, en combineert CRISP-DM-principes met die van de Agile- en Scrum-softwareontwikkelframeworks. Gebruik deze checklist bij het plannen van je volgende datascienceproject! 

Principes voor effectief projectmanagement in datascience 

Grofweg delen succesvolle datascienceprojecten vaak de volgende kenmerken:

  • Meetbaar: Zijn het projectsucces en de impact op het bedrijf te kwantificeren?
  • Betrouwbaar: Welk deel van de projecten heeft de doelen behaald?
  • Schaalbaar: Kan de doorvoer van projecten omhoog zonder dat de betrouwbaarheid sterk afneemt?

Bovendien doen datateams er goed aan zich aan de volgende principes te houden bij het managen van datascienceprojecten: 

  • Itereren: Projecten verlopen zelden in een rechte lijn van start tot finish. Terwijl je aan het project werkt, leer je dingen die aanpassingen vergen. In lijn met Scrum en Agile is het aan te raden om waar nodig naar eerdere stappen terug te keren.
  • Hergebruiken en recyclen: Elk project vanaf nul opbouwen kost veel tijd en is inefficiënt. Het hergebruiken van componenten uit eerdere projecten—of het nu code, modelfeatures of documentsjablonen zijn—voorkomt dat je het wiel opnieuw uitvindt.
  • Zorg voor reproduceerbaarheid: Het uitleggen en onderbouwen van je werk is vaak lastiger dan het werk zelf. Je methodologie en resultaten kunnen worden geaudit door een toezichthouder of de klant. Je kunt je werk later ook zelf moeten herzien. Door reproduceerbare onderzoekstechnieken toe te passen, bespaar je tijd en beperk je risico’s door onopgemerkte fouten.

Checklist voor datascienceprojecten 

Zowel Microsoft als Domino Data Lab stellen vergelijkbare fasen voor een datascienceproject voor. Hieronder vatten we die fasen samen tot één uniform raamwerk:

Context bepalen & ideevorming 

Wat doen?

Hoe aanpakken?

Het zakelijke probleem bepalen dat wordt opgelost

Dit moet zo ondubbelzinnig mogelijk duidelijk maken waarom het project wordt gestart. 

Stakeholders identificeren

Rollen kunnen zijn: projectmanager, data scientist, accountmanager, data-administrator.

Eerder werk beoordelen

Bekijk bestaande projecten die vergelijkbaar terrein besloegen.

  • Wat waren de belangrijkste uitkomsten van dat project?
  • Kan werk of kunnen assets in dit project worden hergebruikt?
  • Welke fouten zijn gemaakt die je nu moet vermijden?

Kernprestatie-indicatoren (KPI’s of metrische waarden) voor succes bepalen

Metrieken moeten voldoen aan de SMART-criteria.

  • Specifiek: Goed gedefinieerd, zodat iedereen in het team het begrijpt.
  • Meetbaar: Het is vast te stellen of de KPI is behaald of niet.
  • Acceptabel: Het team heeft de vaardigheden en middelen om de KPI te halen.
  • Relevant: De KPI sluit aan op bredere organisatiedoelen.
  • Tijdgebonden: Er is een deadline om het doel te bereiken.

Niet-SMART voorbeeld: "Websiteconversie verhogen"

SMART-voorbeeld: "Het ontwerp en de gebruikerservaring van de website optimaliseren om de conversieratio tegen het einde van Q2 met 10% te verhogen"

De scope bepalen

  • Wat zijn de projectdeliverables?
  • Wat zijn de eisen aan deze deliverables?
  • Wat valt buiten de scope van het project?

Een projectplan schrijven

  • Stel mijlpalen vast voor tussenstappen in het project.
  • Bepaal een tijdlijn om elke mijlpaal te bereiken.
  • Schrijf een korte beschrijving van elke stap.

De impact van het project inschatten

  • Kwantificeer het voordeel voor de organisatie als de doelen worden behaald.
  • Geef bij onzekerheid in de berekening een bandbreedte of betrouwbaarheidsinterval voor de baten.
  • Noem kwalitatieve voordelen die niet te kwantificeren zijn.

De benodigde inspanning inschatten

  • Wat gaat het project kosten?
  • Hoeveel tijd kost het project?
  • Welke middelen heeft het project nodig?

Projectrisico’s inschatten

  • Maak een lijst van alle projectrisico’s.
  • Bereken voor elk risico de impact als kans maal ernst.

Beslissen of je met het project doorgaat

Beslis, op basis van de verwachte impact ten opzichte van inspanning en risico’s, of je

  • nu met het project doorgaat.
  • het project parkeert ten gunste van projecten met hogere prioriteit.
  • het project stopzet.

De verantwoordelijkheid van elke stakeholder bepalen

Gebruik het RACI-model. Bepaal per taak wie

  • Responsible is: de persoon die het werk uitvoert.
  • Accountable is: de persoon die verantwoordelijk is voor kernbeslissingen.
  • Consulted is: iedereen van wie input wordt gevraagd bij kernbeslissingen.
  • Informed is: iedereen die op de hoogte moet worden gehouden van kernbeslissingen.

Een communicatiestrategie bepalen

  • Hoe houd je contact?
  • Wat is de frequentie van overleggen?

Databronnen identificeren

  • Heb je al toegang tot deze data?
  • Waar worden de data opgeslagen?
  • In welke vorm zijn de data?
  • Hoe groot is de dataset?
  • Is er een datadictionary die uitlegt wat de data betekenen?
  • Kan er synthetische data worden gemaakt voor een proof-of-concept?

Voorzien in regelgevingseisen

  • Worden deliverables (zoals financiële modellen) geaudit?
  • Mogen alle databronnen of features juridisch worden gebruikt?

Een technologiestack kiezen

  • Stem tools af voor opslag, verwerking en modellering van de data.

Een projectcharter schrijven

  • Vat in een kort document samen wat je voor het project hebt besloten, inclusief doelen, stakeholders, KPI’s, plan, databronnen, technologiestack en communicatiestrategie.

Dataverzameling & verkenning 

Wat doen?

Hoe aanpakken?

Data scientists toegang geven tot alle datasets

  • Regel de juiste permissies voor elke dataset.
  • Koop eventuele commerciële datasets of gebruik synthetische data met vergelijkbare eigenschappen.

De data inladen

  • Verplaats elke bron naar de analyticsomgeving.

De data verkennen

  • Visualiseer de verdeling van elke variabele met een histogram of staafdiagram.
  • Kwantificeer ontbrekende waarden per variabele.
  • Visualiseer de relatie tussen features en de doelvariabele met een spreidingsdiagram, histogrammen, boxplots of een heatmap.

Een datakwaliteitsrapport schrijven

Voor elke dataset

  • Geef een samenvatting van de dataset.
  • Beschrijf eventuele datakwaliteitsissues op hoofdlijnen.
  • Beschrijf de kwaliteit van de doelvariabele.
  • Beschrijf de kwaliteit van elke feature.
  • Beschrijf de relatie tussen elke feature en de doelvariabele.

Beslissen of je met het project doorgaat

Beslis op basis van het datakwaliteitsrapport of je

  • met het project doorgaat.
  • het project pauzeert terwijl je meer data verzamelt.
  • het project stopzet.

Een datapijplijn bouwen

De data moeten doorgaans regelmatig worden bijgewerkt naarmate het project vordert. De datapijplijn 

  • moet het inlaad- en opschoningsproces automatiseren.
  • moet op schema draaien (batchupdates) of continu (streamingupdates).

De datapijplijn documenteren

  • Maak een diagram van de stappen in de datapijplijn en hun afhankelijkheden.
  • Beschrijf wat er in elke stap gebeurt.

Modelleren & testen

Dit omvat zowel machinelearningprojecten als experimenten zoals A/B-testen. Laat de stappen weg die niet logisch zijn voor jouw usecase. 

Modelleren 

Wat doen?

Hoe aanpakken?

Een hypothese formuleren

  • Is de hypothese logisch binnen het zakelijk domein?
  • Kun je de uitkomst meten?
  • Heb je genoeg data om een statistisch significant effect te zien?
  • Zijn er statistische biases waarmee je rekening moet houden?

Je data splitsen in train- en testsets

Doe dit vóórdat je features gaat engineeren, om datalek te voorkomen.

Features engineeren

Maak features voor je model met technieken zoals:

  • Numerieke variabelen centreren of schalen.
  • Categorische variabelen maken van numerieke variabelen door te binneren.
  • Box-Cox- of Yeo-Johnson-transformaties toepassen op numerieke variabelen zodat ze normaal verdeeld zijn.
  • Zeldzame of verwante categorieën van categorische variabelen samenvoegen.
  • Onderdelen van datetimes extraheren of combineren.
  • Nieuwe variabelen maken op basis van samenvattingsstatistieken.
  • Kwantitatieve metrics extraheren uit tekst en andere ongestructureerde data.

Het model fitten of een experiment uitvoeren

  • Begin met het simpelste model en verhoog geleidelijk de complexiteit.
  • Overweeg bij grote datasets om met een steekproef te modelleren.

De resultaten evalueren

Gebruik metrics zoals nauwkeurigheid, precisie en recall om de modelprestatie te kwantificeren. Als de prestatie nog niet goed genoeg is:

  • Kun je extra data verzamelen?
  • Kun je meer features engineeren?
  • Kun je andere algoritmen gebruiken?

Rapporteren over de resultaten

  • Geef stakeholders regelmatig feedback.
  • Pas je taalgebruik aan voor business- versus technische stakeholders.
  • Rapporteer zowel mislukkingen als successen.

Testen

Wat doen?

Hoe aanpakken?

Een testsuite maken

Definieer tests die automatisch draaien om de prestaties van je model of experiment te controleren en bugs te spotten die tijdens iteraties kunnen ontstaan. Dit kan omvatten:

  • Unittests van code.
  • Een backtest voor een portefeuille of andere tijdreeks.

De zakelijke impact valideren

Nu je prestatiemetrics hebt, kun je de verwachte impact op je bedrijf beter kwantificeren. Bespreek de impact met business stakeholders.

De technische aanpak valideren

Controleer of het uiteindelijke model technisch geschikt is.

  • Zijn de aannames van je model geldig?
  • Zijn de resultaten gevoelig voor de gesamplede data?
  • Zijn de hyperparameters passend?
  • Kan iemand anders je model reproduceren?

De inzetbaarheid valideren

  • Kunnen alle mogelijke inputwaarden of usecases worden afgehandeld?
  • Zijn alle vereiste databronnen in productie beschikbaar?
  • Kan het model gracieus falen als sommige databronnen niet beschikbaar zijn?
  • Kunnen voorspellingen snel genoeg worden gedaan?

Nullresultaten bewaren

Alles wat niet in productie komt, moet worden vastgelegd in een kennishub, zodat toekomstige projecten geen tijd verspillen aan hetzelfde.

Uitrol & gebruikerstesten

Uitrol

Wat doen?

Hoe aanpakken?

Een datapijplijn ontwikkelen

  • Zet een Directed Acyclic Graph (DAG) op voor alle databronnen naar een productieomgeving.
  • Plan data-updates in om automatisch te draaien.

Een modelpijplijn ontwikkelen

  • Verdeel de modelflow in taken en combineer ze tot een pijplijn.

Het model operationaliseren

Bied een API aan voor je model die kan worden gebruikt door dashboards, websites of andere software.

Een monitoringsplan ontwerpen

  • Bepaal te volgen metrics, inclusief prestatie- en veiligheidsmetrics die laten zien of je een bug hebt geïntroduceerd.
  • Stel grenzen vast voor aanvaardbare bereiken voor die metrics.
  • Bepaal hoe je een alert wilt ontvangen als metrics buiten bereik raken.

Uitrollen via A/B-test

  • Bied de nieuwe feature of het nieuwe model aan een willekeurige selectie gebruikers aan.
  • Houd de gekozen metrics goed in de gaten, maar weersta de neiging om een winnende groep aan te wijzen voordat je statistische significantie hebt.

A/B-testresultaten analyseren en rapporteren

  • Vergelijk de metrics die je voor elke groep volgt.
  • Rapporteer de resultaten, ook als de test niet succesvol was.

Uitrollen naar de meeste of alle gebruikers

Als de test succesvol was, rol de feature of het model dan uit naar de meeste of alle gebruikers.

  • Door een kleine holdoutgroep op te nemen die de feature of het model niet krijgt, kun je op de lange termijn meten hoeveel prestatieverbetering de nieuwe feature of het model oplevert.

Gebruikerstesten

Wat doen?

Hoe aanpakken?

Een eindrapport schrijven

Vat de status van het project en je learnings samen.

  • Geef een overzicht van het project.
  • Vat het zakelijke probleem samen dat je probeerde op te lossen.
  • Beschrijf de databronnen en hoe deze zijn verwerkt.
  • Beschrijf de toegepaste modelleertechnieken en hoe het model is gevalideerd.
  • Vat de oplossingsarchitectuur samen.
  • Schets de voordelen van het project voor het bedrijf en de klant.
  • Beschrijf eventuele learnings over projectexecutie, datascience, het zakelijk domein en het product.
  • Schets de volgende stappen.

Klantfeedback ophalen

  • Voer enquêtes en gebruikersinterviews uit.
  • Monitor reviews, ratings en social media.

Monitoring

Wat doen?

Hoe aanpakken?

Monitoringspijplijn ontwikkelen

Richt een pijplijn in die de in het monitoringsplan gedefinieerde prestatie- en veiligheidsmetrics automatisch bijhoudt.

Dashboards maken

Maak dashboards om de ontwikkeling van deze metrics in de tijd te volgen.

Alerts instellen

Stel alerts in om je via e-mail, Slack, enz. te waarschuwen wanneer metrics buiten het aanvaardbare bereik vallen.

Onderwerpen

Gerelateerd