Data-analyse
Bij data-analyse onderzoek je datasets om patronen, afwijkingen en inzichten te ontdekken die belangrijk zijn voor het bouwen van betrouwbare AI-modellen. je hebt een goed begrip van de onderliggende data nodig voordat je begint met modelleren.
Begrippen en concepten
Bias in data
Demografische bias ontstaat wanneer bepaalde groepen (op basis van geslacht, leeftijd, etniciteit, etc.) systematisch anders worden gerepresenteerd in de data. Dit kan leiden tot modellen die oneerlijke of discriminerende voorspellingen maken.
Oververtegenwoordiging betekent dat een specifieke groep of categorie vaker voorkomt in de dataset dan in de werkelijke populatie. Zelfs zonder ethische bezwaren kan dit problematisch zijn: het model leert vooral van de oververtegenwoordigde groep en presteert mogelijk slecht op ondervertegenwoordigde groepen. Dit is niet per se "bias" in de ethische zin, maar beïnvloedt wel de voorspelkracht van je model.
!!! tip "Praktijkvoorbeeld" Stel je traint een model op medische data waarbij 90% van de patiënten ouder is dan 60 jaar. Het model zal waarschijnlijk minder accuraat zijn voor jongere patiënten, simpelweg omdat het te weinig voorbeelden heeft gezien.
Datatypes
Bij data-analyse werk je met verschillende soorten datatypes. Het is belangrijk om het verschil te begrijpen:
Statistische datatypes
| Type | Omschrijving | Voorbeeld |
|---|---|---|
| Nominaal | Categorieën zonder rangorde | Kleur (rood, blauw, groen), land |
| Ordinaal | Categorieën mét rangorde | Opleidingsniveau (laag, midden, hoog), klanttevredenheid (1-5 sterren) |
| Interval | Numeriek met gelijke afstanden, geen absoluut nulpunt | Temperatuur in Celsius, jaartallen |
| Ratio | Numeriek met absoluut nulpunt | Leeftijd, gewicht, inkomen |
Programmeertypes
| Type | Omschrijving | Voorbeeld |
|---|---|---|
| String | Tekstuele data | "Amsterdam", "Jan Jansen" |
| Integer (int) | Gehele getallen | 42, -7 |
| Float / Double | Decimale getallen | 3.14, 0.001 |
| Char | Enkel karakter | 'A', '9' |
| Boolean | Waar/onwaar | True, False |
!!! note "Let op" Het statistisch datatype bepaalt welke analyses je kunt uitvoeren, terwijl het programmeertype bepaalt hoe de data in het geheugen wordt opgeslagen en verwerkt.
Synthetische vs. echte data
| Aspect | Echte data | Synthetische data |
|---|---|---|
| Herkomst | Verzameld uit de echte wereld | Kunstmatig gegenereerd |
| Privacy | Bevat mogelijk gevoelige informatie | Geen privacyrisico's |
| Realisme | Bevat ruis en complexiteit van de werkelijkheid | Kan te "schoon" of simplistisch zijn |
| Beschikbaarheid | Soms beperkt of duur om te verzamelen | Onbeperkt te genereren |
| Bias | Kan bestaande maatschappelijke bias bevatten | Kan bias-vrij worden ontworpen (of juist bias introduceren) |
Synthetische data wordt vaak gebruikt voor:
- Privacy-behoud: wanneer echte data te gevoelig is
- Data-augmentatie: om ondervertegenwoordigde klassen aan te vullen
- Testen en ontwikkeling: om modellen te testen zonder echte data
Ontbrekende waarden (NaN values)
NaN staat voor "Not a Number" en representeert ontbrekende of ongeldige waarden in je dataset. Het correct omgaan met NaN-waarden is verplicht voor betrouwbare analyses.
Oorzaken van NaN-waarden
- Niet-ingevulde velden in enquêtes of formulieren
- Fouten bij dataverzameling of -overdracht
- Waarden die niet van toepassing zijn
- Technische fouten (sensoren die uitvallen)
Strategieën voor het omgaan met NaN-waarden
| Strategie | Wanneer toepassen |
|---|---|
| Verwijderen | Wanneer slechts een klein percentage ontbreekt en willekeurig verdeeld is |
| Invullen (gemiddelde/mediaan) | Bij numerieke data met willekeurig ontbrekende waarden |
| Invullen (modus) | Bij categorische data |
| Voorspellende Invulling | Wanneer patronen in de data kunnen helpen ontbrekende waarden te schatten |
| Aparte categorie | Wanneer het ontbreken zelf informatief is |
!!! warning "Belangrijk" Analyseer altijd waarom waarden ontbreken. Als data niet willekeurig ontbreekt (bijvoorbeeld: mensen met een laag inkomen vullen die vraag vaker niet in), kan het verwijderen of Invullen van waarden je analyse vertekenen.