Ga direct naar inhoud
back to basics: hoe data cleaning ál het verschil maakt

back to basics: hoe data cleaning ál het verschil maakt

Frances Dreyer & Andre Marques

Experienced professionals

Data and AI

Quality Engineering and Testing

Gaaf, zo’n flashy machine learning-model. Maar zonder een goede dataset ben je nergens. Slechte input levert zelfs met een ingewikkeld model alsnog slechte output. Data engineers Frances Dreyer en Andre Marques breken daarom in hun Tech Talk een lans voor de cleane dataset. En schoon schip maken met je data kan zo makkelijk of ingewikkeld als je zelf wilt. Frances en Andre lichten in deze blog vast een tipje van de sluier.

Een snelle online zoektocht bracht ons meteen bij een interessante dataset die we ook als voorbeeld noemen in onze Tech Talk. Eentje met geanonimiseerde patiëntgegevens over risicofactoren voor hart- en vaatziekten. Met een visuele scan is in een oogopslag te zien dat de set incompleet is; er zijn flink wat gaten te zien. Het gevaar als je deze cijfers gebruikt? Verkeerde voorspellingen. En worst case: mensen die niet op tijd gewaarschuwd worden voor de gezondheidsrisico’s die ze lopen.

De noodzaak van goede data begrijpt iedereen aan de hand van zo’n simpel voorbeeld. Toch merken wij in de praktijk dat lang niet elke scientist daar veel of überhaupt aandacht aan besteedt. Meestal geven zij voorrang aan het model waaraan ze de dataset voeden. Wie wél een dataset wil checken, maar niet weet waar te beginnen, komt online bedrogen uit. Wij vonden wel artikelen die delen van het proces beschreven, maar geen enkele die het hele proces tot in detail besprak. Daarom vonden wij het hoog tijd voor een plek waar je aan de hand van een paar stappen weet hoe je op een goede dataset uitkomt.

In onze Tech Talk doorlopen we die stappen uitgebreid, in deze blog nemen we je alvast mee. En je zal zien: het is best simpel.

1. Visualiseer wat er ontbreekt

Verreweg de makkelijkste stap met hulp van een notebook. Zoals Python Notebook of Google Colab Notebook. In een notebook hoef je slechts een stukje code in te voeren, en boem: je krijgt letterlijk de gaten in je dataset in beeld. Door een beetje met een notebook te spelen kan je ook nog allerlei andere visualisaties maken, zoals bijvoorbeeld heat maps.

2. Identificeer waarom data ontbreekt

Oké, je hebt gaten in je data gespot. Nu wil je weten waarom die data ontbreekt. Er kunnen drie redenen zijn. Wij gebruiken het voorbeeld van de kat die naar de dierenarts gaat om gewogen te worden. Die data kan op de volgende drie manieren incompleet zijn:

– Missing completely at random: door externe factoren, zoals een lege batterij in de weegschaal of de batterij die wordt opgeladen, hierdoor staat het gewicht van de kat niet geregistreerd.

– Missing at random: De kat was ziek en kon niet op de afspraak komen. De gegevens hebben een kolom ‘ziek’ en wanneer die kolom waar is, heeft de kolom ‘gewicht’ een ontbrekende waarde. Die ontbrekende waarde is er door de volledig ingevulde klolom ‘ziek’.

– Missing not at random: het gewicht van de kat is niet ingevuld, want de eigenaar schaamde zich voor het gewicht van de kat. De data ontbreekt dus bewust.

3. Elimineer óf vul de gaten

Afhankelijk van de reden bij stap twee kan je bepalen of je bijvoorbeeld een hele kolom data verwijdert. Dat kan je overigens vaak aan de hand van visualisatie al doen. Als die bijvoorbeeld laat zien dat bijvoorbeeld meer dan 95% van de data uit een kolom ontbreekt, dan kan je die kolom beter helemaal schrappen. Je kunt dit ook al bij minder ontbrekende data besluiten.

Je kunt ook de gaten in je data invullen met het gemiddelde, de modus of de mediaan van de rest van de data. Welke van deze opties het meest geschikt is en waarom, leggen we in onze Tech Talk uit. Hiervoor maak je gebruik van statistisch simpele of geavanceerde methoden. Maak je geen zorgen, je kunt het zo simpel houden als je wilt. Zelfs eenvoudige methoden maken al veel verschil voor de kwaliteit van je dataset.

4. Controleer

Tot slot wil je testen of de ingevulde dataset ook daadwerkelijk waardevol is. Dit doe je aan de hand van een test- en een trainingset. Hoe precies, vertellen we ook weer in onze Tech Talk.

Wat je belangrijkste takeaway moet zijn wat ons betreft? Dat we bewust moeten zijn van onze verantwoordelijkheid voor de kwaliteit van data. Wij gaan niet alleen over de ontwikkeling van modellen, maar ook over hoe clean onze datasets zijn. Zelfs door heel minimaal data op te schonen, maken we al een enorme sprong voorwaarts in onze resultaten.

Kijk hier de Tech Talk terug!

De gaten opvullen of niet, dat is steeds weer de vraag als je met datasets werkt. Als je ze niet opvult, de ontbrekende data dan maar gewoon verwijderen? En als je ze wel opvult, hoe dan? Moet je je eigenlijk ook druk maken over ontbrekende data? In hun Tech Talk geven Frances en Andre antwoord op al deze vragen. Eén antwoord: ja, je moet je altijd iets aantrekken van ontbrekende data. Wat je daarna doet staat alleen niet vast.

Over Frances Dreyer

Wanneer ze niet in datasets duikt, vind je Frances achter de Franse hoorn waarmee ze menig orkest versterkt. Of ze is in de weer met haar haaknaalden, een hobby die na de coronatijd is blijven steken. Ook na vijf jaar zoekt ze in haar werk als data engineer continu naar nieuwe uitdagingen. Zeker als het gaat om technieken en technologie rondom big data.

Over Andre Marques

Data heeft de kracht om onze levens te verbeteren, en daar zet Andre zich al tien jaar dagelijks voor in. Het meest belonend vindt hij het als data waar hij aan heeft gewerkt onze manier van denken verandert. Maar het leven is meer dan cijfers, Andre geniet minstens evenveel van nieuw eten ontdekken met zijn vrouw, podcasts luisteren en hardlopen.