Datacleaning neemt 80% van de data science-werkstroom in beslag. Daarom hebben we deze checklist gemaakt om je te helpen eventuele kwaliteitsproblemen in je data te herkennen en op te lossen. Wil je meer leren over het opschonen van data? Bekijk dan onze cursus Cleaning Data in Python en R.
Wat is het: Zorgen dat verschillende kolommen het juiste gegevenstype hebben voordat je met de analyse begint.
Voorbeeld in de praktijk: Een revenue_usd-kolom die een string is en geen numeriek gegevenstype.
Mogelijke oplossingen: Converteren naar het juiste gegevenstype
2. Bereikbeperkingen voor data
Wat is het: Zorgen dat verschillende kolommen het juiste bereik hebben. Dit geldt vooral voor kolommen met grenzen.
Voorbeeld in de praktijk: Een gpa-kolom zou beperkt moeten zijn tot [0.0, 4.0]
Mogelijke oplossingen:
Controleer op typefouten, zoals een decimaalpunt op de verkeerde plaats.
Verwijder rijen waar datapunten de bereikbeperkingen schenden
Zet het datapunt dat de bereikbeperkingen schendt op het maximum of minimum
Behandel het datapunt dat de bereikbeperkingen schendt als ontbrekend en imputeer het
3. Uniciteitsbeperkingen
Wat is het: Zorgen dat er geen exacte of bijna exacte duplicaten in je rijen staan.
Voorbeeld in de praktijk: Een dubbele rij waarbij de kolommen name en phone_number identiek zijn, maar de kolom height_cm niet
Mogelijke oplossingen:
Bewaar slechts één van de exact dubbele rijen
Voeg rijen samen die niet-exacte duplicaten hebben
Problemen met tekst en categorische data
1. Lidmaatschapsbeperkingen voor categorische data
Wat is het: Zorgen dat categorische kolommen correcte en consistente categorieën hebben
Voorbeeld in de praktijk: Twee verschillende invoeren voor „New York” in de kolom city
Mogelijke oplossingen:
Verwijder rijen die zijn beïnvloed door inconsistente categorieën
Hermap inconsistente categorieën naar de juiste categorienaam
Leid categorieën af op basis van andere datapunten als het niet duidelijk is hoe ze moeten worden heringedeeld
2. Lengteovertreding voor tekstdata
Wat is het: Zorgen dat tekstkolommen die een specifieke standaard volgen, dezelfde stringlengte hebben
Voorbeeld in de praktijk: Een Amerikaanse kolom phone_number die 9 tekens is in plaats van 14
Mogelijke oplossingen:
Verwijder rijen die last hebben van lengteovertreding
Zet getroffen observaties op ontbrekend
3. Tekstdata met inconsistente opmaak
Wat is het: Zorgen dat tekstkolommen die een specifieke standaard volgen, dezelfde stringlengte hebben
Voorbeeld in de praktijk: Een Amerikaanse kolom phone_number die 9 tekens is in plaats van 14
Mogelijke oplossingen:
Verwijder rijen die last hebben van lengteovertreding
Zet getroffen observaties op ontbrekend
Problemen met uniformiteit van data
1. Eenheiduniformiteit voor numerieke kolommen
Wat is het: Zorgen dat numerieke kolommen dezelfde eenheden hebben (temperatuur is Celsius of Fahrenheit voor alle observaties. Dit is vooral relevant bij het samenvoegen van datasets uit verschillende landen of bronnen.)
Voorbeeld in de praktijk: Een temperatuurkolom in Celsius met absurd hoge of lage waarden
Mogelijke oplossingen:
Rijen verwijderen waarvoor geen context over eenheden beschikbaar is en die een sanity check niet doorstaan
De eenheden waar mogelijk standaardiseren
2. Eenheiduniformiteit voor datumkolommen
Wat is het: Zorgen dat datumkolommen hetzelfde datum-tijdformaat hebben
Voorbeeld in de praktijk: birthday-kolom met datums in dd-mm-yyyy en mm-dd-yyyy
Mogelijke oplossingen:
Datum-tijdformaten waar mogelijk standaardiseren
Rijen verwijderen waarvoor geen context over het datum-tijdformaat beschikbaar is en die een sanity check niet doorstaan
3. Kruisvelddvalidatie voor numerieke kolommen
Wat is het: Kruisveldvalidatie houdt in dat we meerdere velden in een dataset gebruiken om de geldigheid van een ander veld te waarborgen. Bijvoorbeeld controleren of deel-tot-geheel-kolommen optellen tot een relevant totaal.
Voorbeeld in de praktijk: Vluchtboekingen per klasse tellen op tot het totaal aantal geregistreerde boekingen
Mogelijke oplossingen:
Rijen verwijderen waar sanity checks mislukken
Regels toepassen uit domeinkennis op basis van kennis van de data
4. Kruisveldvalidatie voor datumkolommen
Wat is het: Zorgen dat datum- en tijdkolommen sanity checks doorstaan (bijvoorbeeld dat webinarregistraties altijd vóór de webinarbijwoning plaatsvinden)
Voorbeeld in de praktijk: Een kolom date_of_birth die niet overeenkomt met de kolom age
Mogelijke oplossingen:
Rijen verwijderen waar sanity checks mislukken
Regels toepassen uit domeinkennis op basis van kennis van de data
Problemen met ontbrekende data
1. Volledig willekeurig ontbrekend
Wat is het: Wanneer er geen systematisch verband is tussen ontbrekende waarden en andere waarden binnen de dataset
Voorbeeld in de praktijk: Er is geen waargenomen verband tussen ontbrekende data en andere waarden binnen de dataset
Mogelijke oplossingen:
Ontbrekende rijen verwijderen
Ontbrekende rijen imputeren met centrummaten zoals mediaan of gemiddelde
Ontbrekende rijen imputeren met algoritmische, machinelearning-gebaseerde benaderingen
Nieuwe datapunten en features verzamelen
2. Willekeurig ontbrekende data
Wat is het: Wanneer er een systematisch verband is tussen ontbrekende data en andere waargenomen waarden
Voorbeeld in de praktijk: Ontbrekende volkstellingsdata uit een specifiek gebied, omdat de postdienst daar geen volledige dekking heeft
Mogelijke oplossingen:
Ontbrekende rijen verwijderen
Ontbrekende rijen imputeren met centrummaten zoals mediaan of gemiddelde
Ontbrekende rijen imputeren met algoritmische, machinelearning-gebaseerde benaderingen
Nieuwe datapunten en features verzamelen
3. Niet-willekeurig ontbrekende data
Wat is het: Wanneer er een systematisch verband is tussen ontbrekende data en andere niet-waargenomen waarden
Voorbeeld in de praktijk: Temperatuurmetingen van een sensor ontbreken omdat de temperatuur te laag of te hoog was
Mogelijke oplossingen:
Ontbrekende rijen verwijderen
Ontbrekende rijen imputeren met centrummaten zoals mediaan of gemiddelde
Ontbrekende rijen imputeren met algoritmische, machinelearning-gebaseerde benaderingen
Leer hoe je vuile data kunt diagnosticeren en behandelen en ontwikkel de vaardigheden die nodig zijn om je ruwe data om te zetten in nauwkeurige inzichten!