Ga naar hoofdinhoud

29 beste interviewvragen voor data scientists voor alle niveaus

Ontdek de belangrijkste data science-interviewvragen met antwoorden voor afstuderende studenten en professionals die op zoek zijn naar een baan.
Bijgewerkt 2 okt 2026  · 15 min lezen

Verken met AI

ChatGPTClaudePerplexity

Header data science-sollicitatiegesprek.png

In deze gids heb ik de meest gestelde interviewvragen voor data scientists op een rij gezet over statistiek, machine learning, coderen (Python, SQL) en product sense. Het oefenen van deze vragen helpt je door alle technische interviewrondes heen—of je nu student bent op zoek naar een stage of een professional die zijn volgende rol op het oog heeft.

TL;DR

  • Interviews voor data scientists testen vijf gebieden: statistiek & kansrekening, machine learning, coderen (Python/SQL), gedrag en product sense.
  • Belangrijke technische onderwerpen: aannames van lineaire regressie, overfitting voorkomen, methoden voor featureselectie (filter, wrapper, embedded), dimensionaliteitsreductie en A/B-testen.
  • Voor coderondes: oefen Python (pandas, regex, lijstbewerking) en SQL (aggregaties, datumfiltering, vensterfuncties).
  • Bereid STAR-antwoorden voor op gedragsvragen over communicatie, conflictoplossing en omgaan met ambiguïteit.
  • Big Tech-bedrijven (Meta, Google, Amazon) testen naast kernvaardigheden ook metrische analyse, product sense en toegepaste statistiek.
  • Gebruik onzevoorbereidingsgids voor data science-interviewsom je studieplan voor alle fases te structureren.

Niet-technische interviewvragen voor data science 

Laten we beginnen met een aantal algemene competentievragen die je kunt krijgen in je interview. Deze testen enkele van de soft skills die je nodig hebt als data scientist: 

Vertel eens over een moment waarop je een complex dataconcept moest uitleggen aan iemand zonder technische achtergrond. Hoe zorgde je ervoor dat diegene het begreep?

Deze vraag beoordeelt je communicatieve vaardigheden en je vermogen om complexe onderwerpen te vereenvoudigen. Hier is een voorbeelduitspraak:

In mijn vorige rol moest ik het concept van machine learning uitleggen aan ons marketingteam. Ik gebruikte de analogie van een kind leren verschillende soorten fruit te herkennen. Net zoals je een kind veel voorbeelden laat zien om te leren, wordt een machinelearningmodel getraind met data. Deze analogie maakte een complex concept herkenbaarder en makkelijker te begrijpen.

Beschrijf een project waarbij je moest samenwerken met een lastig teamlid. Hoe ben je met de situatie omgegaan?

Dit onderzoekt je samenwerkingsvaardigheden en je vermogen om conflicten op te lossen. Je zou zoiets kunnen antwoorden: 

In een project werkte ik met een collega met een heel andere werkstijl. Om onze verschillen te overbruggen, plande ik een meeting om zijn perspectief te begrijpen. We vonden common ground in onze projectdoelen en spraken een gedeelde aanpak af. Deze ervaring leerde me het belang van open communicatie en empathie in teamwork.

Kun je een voorbeeld geven van een keer dat je onder hoge tijdsdruk moest werken? Hoe heb je je taken beheerd en toch op tijd opgeleverd?

Deze vraag gaat over timemanagement en prioriteren. Hier is een voorbeeldantwoord: 

Eens moest ik een analyse binnen een zeer strakke deadline opleveren. Ik gaf prioriteit aan de meest kritieke onderdelen van het project, communiceerde mijn plan met het team en focuste op efficiënte uitvoering. Door de taak op te delen en mini-deadlines te stellen, lukte het om op tijd af te ronden zonder in te leveren op kwaliteit.

Heb je ooit een grote fout gemaakt in je analyse? Hoe ging je daarmee om en wat heb je ervan geleerd?

Hier kijkt de interviewer naar je vermogen om fouten toe te geven en ervan te leren. Je zou kunnen antwoorden: 

In één geval interpreteerde ik de resultaten van een datamodel verkeerd. Toen ik mijn fout doorhad, informeerde ik meteen mijn team en analyseerde de data opnieuw. Deze ervaring leerde me hoe belangrijk het is om resultaten dubbel te checken en de waarde van transparantie op de werkvloer.

Dit toont je inzet voor continu leren en relevant blijven in je vakgebied. Een voorbeeldantwoord: 

Ik blijf bij door vakbladen te lezen, webinars te volgen en deel te nemen aan online fora. Ook plan ik wekelijks tijd in om met nieuwe tools en technieken te experimenteren. Dat helpt me niet alleen up-to-date te blijven, maar verbetert ook continu mijn vaardigheden.

Kun je ons vertellen over een keer dat je aan een project werkte met onduidelijke of constant veranderende requirements? Hoe heb je je aangepast?

Deze vraag beoordeelt aanpassingsvermogen en probleemoplossend vermogen. Als voorbeeld kun je zeggen: 

In een eerder project veranderden de requirements vaak. Ik paste me aan door open communicatie met stakeholders te onderhouden om hun behoeften te begrijpen. Ook gebruikte ik agile-methodieken om flexibeler te werken, wat hielp om veranderingen effectief op te vangen.

Beschrijf een situatie waarin je datagedreven besluitvorming moest afwegen tegen andere overwegingen (zoals ethiek, bedrijfsbehoeften, enz.).

Dit evalueert je vermogen om verder te kijken dan alleen de data. Een mogelijk antwoord: 

In mijn laatste rol moest ik de noodzaak van datagedreven beslissingen afwegen tegen ethische overwegingen. Ik zorgde dat alle datagebruik voldeed aan ethische standaarden en privacywetgeving, en presenteerde wanneer nodig alternatieven. Zo konden we weloverwogen beslissingen nemen binnen ethische grenzen.

Algemene interviewvragen voor data science

Wat zijn de aannames die nodig zijn voor een lineaire regressie?

De vier aannames van een lineaire regressie zijn:

  1. Lineariteit: er moet een lineaire relatie zijn tussen de onafhankelijke variabele x en de afhankelijke variabele y. 
  2. Onafhankelijkheid: er is geen correlatie tussen opeenvolgende residuen. Dit komt vooral voor bij tijdreeksdata. 
  3. Homoscedasticiteit: op elk niveau van x moet de variantie constant zijn. 
  4. Normaliteit: de residuen zijn normaal verdeeld.

Lineaire regressie.png

Afbeelding van Statology

Je kunt de concepten en toepassingen van lineaire modellen verkennen in onze cursus Introductie tot lineaire modellering in Python. 

Hoe ga je om met een dataset waarin meerdere waarden ontbreken?

Er zijn verschillende manieren om met missende data om te gaan. Je kunt:

  1. De rijen met ontbrekende waarden verwijderen.
  2. De kolommen met veel ontbrekende waarden verwijderen.
  3. De ontbrekende waarde invullen met een string of numerieke constante. 
  4. De ontbrekende waarden vervangen door het gemiddelde of de mediaan van de kolom. 
  5. Meervoudige regressie-analyses gebruiken om een ontbrekende waarde te schatten.
  6. Meerdere kolommen gebruiken om ontbrekende waarden te vervangen door gemiddeld gesimuleerde waarden met willekeurige fouten.

Leer hoe je missende data diagnosticeert, visualiseert en behandelt in de cursus Handling Missing Data with Imputations in R.

Hoe leg je technische aspecten van je resultaten uit aan stakeholders zonder technische achtergrond?

Allereerst moet je meer leren over de achtergrond van de stakeholder en deze informatie gebruiken om je bewoording aan te passen. Als iemand een finance-achtergrond heeft, verdiep je dan in veelgebruikte financiële termen en gebruik die om de complexe methodologie uit te leggen.  

Ten tweede: gebruik veel visualisaties en grafieken. Mensen zijn visuele leerders; met creatieve communicatiemiddelen leren ze aanzienlijk beter.

technische aspecten uitleggen.png

Afbeelding door auteur

Ten derde: spreek in termen van resultaten. Probeer de methodes of statistiek niet uit te leggen. Focus op hoe zij de informatie uit de analyse kunnen gebruiken om het bedrijf of de workflow te verbeteren.

Tot slot: moedig hen aan om vragen te stellen. Mensen zijn bang of zelfs beschaamd om vragen te stellen over onbekende onderwerpen. Creëer tweerichtingsverkeer door hen actief te betrekken bij het gesprek. 

Leer je eigen SQL-rapporten en dashboards bouwen met onze cursus Reporting in SQL.

Wat is een p-waarde en hoe interpreteer je die?

Een p-waarde meet de kans om resultaten te observeren die minstens zo extreem zijn als de verzamelde data, ervan uitgaande dat de nulhypothese waar is.

Een p-waarde onder je significantieniveau (meestal 0,05) geeft je aanleiding om de nulhypothese te verwerpen. Bijvoorbeeld: in een A/B-test met een p-waarde van 0,03 is er slechts 3% kans om deze uitkomst te zien onder de nulhypothese, wat suggereert dat de variant een echt effect had.

Een veelvoorkomend misverstand: een p-waarde meet niet de kans dat de nulhypothese waar is, alleen hoe compatibel de data daarmee is.

Wat is het verschil tussen een Type I- en een Type II-fout?

Dit zijn twee soorten fouten bij hypothesetoetsing:

  • Type I-fout (false positive): de nulhypothese verwerpen terwijl die in werkelijkheid waar is. Wordt gestuurd door je significantieniveau (α). Voorbeeld: concluderen dat een nieuw model beter presteert terwijl dat niet zo is.
  • Type II-fout (false negative): nalaten de nulhypothese te verwerpen terwijl die onwaar is. Wordt gestuurd door statistische power (1 − β). Voorbeeld: concluderen dat een model geen verbetering laat zien terwijl dat wel zo is.

Het verlagen van α verkleint Type I-fouten maar vergroot Type II-fouten. De juiste trade-off hangt af van de kosten van elke fout in jouw use case—cruciaal bij fraudedetectie, medische diagnose of A/B-beslissingen.

Leer meer in onze tutorial Hypothesis Testing Made Easy.

Technische interviewvragen voor data science

Wat zijn de methoden voor featureselectie om de juiste variabelen te kiezen?

Er zijn drie hoofdmethoden voor featureselectie: filter-, wrapper- en embedded-methoden.

Filtermethoden

Filtermethoden worden meestal gebruikt in de preprocessing-stappen. Deze methoden selecteren features uit een dataset onafhankelijk van machinelearningalgoritmen. Ze zijn snel, vragen weinig resources en verwijderen dubbele, gecorreleerde en redundante features.

Filtermethoden.png

Afbeelding door auteur

Enkele gebruikte technieken zijn:  

  • Variancedrempel
  • Correlatiecoëfficiënt
  • Chi-kwadraattoets
  • Wederzijdse afhankelijkheid

Wrappermethoden

Bij wrappermethoden trainen we het model iteratief met een subset van features. Op basis van de resultaten van het getrainde model worden meer features toegevoegd of verwijderd. Ze zijn computationeel duurder dan filtermethoden, maar leveren een betere modelnauwkeurigheid op. 

Wrappermethoden.png

Afbeelding door auteur

Enkele gebruikte technieken zijn:

  • Forward selection
  • Backward elimination
  • Bi-directional elimination
  • Recursieve eliminatie 

Embedded-methoden

Embedded-methoden combineren de kwaliteiten van filter- en wrappermethoden. Het featureselectie-algoritme is onderdeel van het leeralgoritme, waardoor het model een ingebouwde featureselectie krijgt. Deze methoden zijn sneller (zoals filtermethoden), nauwkeurig (zoals wrappermethoden) en houden ook rekening met combinaties van features.  

Embedded-methoden.png

Afbeelding door auteur

Enkele gebruikte technieken zijn:

  • Regularisatie
  • Boomgebaseerde methoden

Leer de meest getoetste technieken voor featureselectie in onze Python Feature Selection Tutorial.

Hoe kun je overfitting van je model voorkomen?

Overfitting verwijst naar een model dat té goed is getraind op de trainingsset maar faalt op de test- en validatieset.

Je kunt overfitting voorkomen door:

  1. Het model eenvoudig te houden door de complexiteit te verlagen, minder variabelen mee te nemen en het aantal parameters in neurale netwerken te verminderen.
  2. Crossvalidatietechnieken te gebruiken.
  3. Het model met meer data te trainen.
  4. Data-augmentatie toe te passen om het aantal samples te vergroten. 
  5. Ensembling te gebruiken (bagging en boosting).
  6. Regularisatietechnieken toe te passen die bepaalde modelparameters straffen als die waarschijnlijk tot overfitting leiden.

Voor een diepere gids over het voorkomen van overfitting, lees Wat is overfitting? en onze tutorial over regularisatie in machine learning.

Noem de verschillende soorten relaties in SQL

Er zijn vier hoofdtypen SQL-relaties:

  • One-to-one: dit bestaat wanneer ieder record in een tabel is gerelateerd aan slechts één record in een andere tabel. 
  • One-to-many en many-to-one:  dit is de meest voorkomende relatie, waarbij elk record in een tabel is gekoppeld aan meerdere records in een andere.  
  • Many-to-many: dit bestaat wanneer elk record van de eerste tabel is gerelateerd aan meer dan één record in de tweede tabel, en een enkel record in de tweede tabel aan meer dan één record in de eerste. 
  • Zelf-refererende relaties: dit treedt op wanneer een tabel een relatie met zichzelf moet definiëren.

Leer hoe je tabellen, de relaties ertussen en de daarin opgeslagen data verkent in onze cursusExploratory Data Analysis in SQL.

Wat is dimensionaliteitsreductie en wat zijn de voordelen?

Dimensionaliteitsreductie is een proces dat de dataset van meerdere dimensies omzet naar minder dimensies, terwijl vergelijkbare informatie behouden blijft. 

dimensionaliteitsreductie.png

Afbeelding door auteur | Grafieken door howecoresearch

Voordelen van dimensionaliteitsreductie:

  1. Data comprimeren en de opslagruimte verkleinen. 
  2. Rekentijd verminderen en snellere dataverwerking mogelijk maken.  
  3. Redundante features verwijderen, indien aanwezig. 

Begrijp het concept van dimensionaliteitsreductie en beheers de technieken met de cursus Dimensionality Reduction in Python.

Wat is het doel van A/B-testen?

A/B-testen.png

Afbeelding door auteur

A/B-testen haalt het giswerk weg en helpt ons datagedreven beslissingen te nemen om het product of de website te optimaliseren. Het wordt ook wel split testing genoemd, waarbij gerandomiseerde experimenten worden uitgevoerd om twee of meer versies van variabelen (webpagina, appfunctionaliteit, enz.) te analyseren en te bepalen welke versie het meeste verkeer en de beste businessmetric oplevert. 

Leer hoe je A/B-tests opzet, uitvoert en analyseert in onze cursus Customer Analytics and A/B Testing in Python.

Coding-interviewvragen voor data science

Gegeven een woordenlijst met veel wortels en een zin, breng alle woorden in de zin terug naar de stam waaruit ze gevormd zijn.

Stemming wordt veel gebruikt in tekst- en sentimentanalyse. In deze vraag schrijf je een Python-functie die bepaalde woorden uit de lijst omzet naar hun stamvorm - Interview Query.

Input:

De functie neemt twee argumenten: een lijst met stamwoorden en een zin.  

roots = ["cat", "bat", "rat"]
sentence = "the cattle was rattled by the battery"

Output:

Hij retourneert de zin met stamwoorden. 

"the cat was rat by the bat"

Voordat je code schrijft, moet je begrijpen dat we twee taken uitvoeren: checken of het woord een stam heeft en het vervangen. 

  1. Je splitst de zin in woorden.
  2. Je laat de buitenste lus over elk woord in de lijst lopen en de binnenste lus over de lijst met stamwoorden.
  3. Controleer of het woord begint met de stam. De Python-string biedt ons de functie `startswith()` om deze taak uit te voeren. 
  4. Als het woord met de stam begint, vervang je het woord door de stam met behulp van de lijstindex. 
  5. Voeg alle woorden samen om een zin te maken. 
roots = ["cat", "bat", "rat"]
sentence = "the cattle was rattled by the battery"


def replace_words(roots, sentence):
    words = sentence.split(" ")

    # looping over each word
    for index, word in enumerate(words):
        # looping over each root
        for root in roots:
            # checking if words start with root
            if word.startswith(root):
                # replacing the word with its root
                words[index] = root
    return " ".join(words)


replace_words(roots, sentence)


# 'the cat was rat by the bat'

Controleer of een string een palindroom is

Gegeven de string text, retourneer True als het een palindroom is, anders False.

Nadat alle letters zijn verlaagd en alle niet-alfanumerieke tekens zijn verwijderd, moet het woord voorwaarts en achterwaarts hetzelfde lezen.

String is Palindrome.png

Afbeelding door auteur

Python biedt makkelijke manieren om deze uitdaging op te lossen. Je kunt de string behandelen als iterabel en omkeren met text[::-1] of de ingebouwde methode reversed(text) gebruiken.

  1. Eerst verlaag je de tekst.
  2. Maak de tekst schoon door niet-alfanumerieke tekens te verwijderen met regex. 
  3. Draai de tekst om met [::-1].
  4. Vergelijk de opgeschoonde tekst met de omgekeerde tekst.  
import re

def is_palindrome(text):
    # lowering the string
    text = text.lower()
   
    # Cleaning the string
    rx = re.compile('\W+')
    text = rx.sub('',text).strip()
   
    # Reversing and comparing the string
    return text == text[::-1]

In de tweede methode vervang je het omkeren van de tekst door ''.join(reversed(text)) en vergelijk je deze met de opgeschoonde tekst. 

Beide methoden zijn rechttoe rechtaan. 

def is_palindrome(text):
    # lowering the string
    text = text.lower()
   
    # Cleaning the string
    rx = re.compile('\W+')
    text = rx.sub('',text).strip()
   
    # Reversing the string
    rev = ''.join(reversed(text))
    return text == rev

Resultaten:

We geven de lijst met woorden door aan de functie is_palindrome() en printen de resultaten. Zoals je ziet, heeft de functie zelfs met speciale tekens “Level” en “Radar” als palindromen herkend. 

# Test cases
test_words = ['Anna', '**Radar****', 'Abid', '(Level)', 'Data']

for text in test_words:
    print(f"Is {text} a palindrome? {is_palindrome(text)}")


# Is Anna a palindrome? True
# Is **Radar**** a palindrome? True
# Is Abid a palindrome? False
# Is (Level) a palindrome? True
# Is Data a palindrome? False

Bereid je voor op je volgende coding-interviews door coding-interviewvragen in Python te oefenen met onze interactieve cursus. Voor diepere Python-codingvoorbereiding, zie onze 41 beste Python-interviewvragen & antwoorden voor 2026.

Zoek het op één na hoogste salaris

Het is makkelijk om de hoogste en laagste waarde te vinden, maar lastig om de op één na hoogste of n-de hoogste waarde te vinden. 

In de vraag krijg je de databasetabel met id en base_salary. Je schrijft de SQL-query om het op één na hoogste salaris te vinden. 

SQL-query.png

Afbeelding door auteur

In deze query zoek je de unieke waarden en sorteer je ze van hoog naar laag. Vervolgens gebruik je LIMIT 1 om alleen de hoogste waarde te tonen. Tot slot verschuif je de waarde met 1 om het op één na hoogste getal te tonen. 

Je kunt de waarde van OFFSET ook veranderen om het n-de hoogste salaris te krijgen. 

SELECT DISTINCT base_salary AS "Second Highest Salary"
FROM employee
ORDER BY base_salary DESC
LIMIT 1
OFFSET 1;

Het op één na hoogste basissalaris is 8.500.

sql salaris.png

Zoek de dubbele e-mails

In deze vraag schrijf je een query om alle dubbele e-mails weer te geven. 

Tabel met dubbele e-mails.png

Afbeelding door auteur

In deze query toon je een email-kolom en groepeer je de tabel op email. Daarna gebruiken we de HAVING-clausule om e-mails te vinden die meer dan eens voorkomen. 

HAVING wordt gebruikt als vervanging van de WHERE-clausule in combinatie met aggregaties.

SELECT email
FROM employee_email
GROUP BY email
HAVING COUNT(email) > 1;

Alleen “matt@hotmail.com” komt meer dan eens voor.

sql e-mail.png

Schrijf onderhoudbare SQL-code om zakelijke vragen te beantwoorden met de cursusApplying SQL to Real-World Problems. 

Interviewvragen voor data science bij Big Tech

Meta Data Science-interviewvragen

De Facebook-composer, de tool om te posten, is gedaald van 3% posts per gebruiker vorige maand naar 2,5% posts per gebruiker vandaag. Hoe zou je onderzoeken wat er is gebeurd?

Abids Facebook-composer.png

Afbeelding door auteur

Het aandeel posts van een maand geleden is gedaald van 3% naar 2,5% vandaag. Voordat je conclusies trekt, moet je de context rond het probleem verduidelijken. 

Je moet vragen stellen:

  • Is het vandaag een doordeweekse dag?
  • Was het een maand geleden vanaf vandaag een weekend?
  • Zijn er speciale gelegenheden, events of seizoenseffecten? 
  • Is er een geleidelijke neerwaartse trend of een eenmalige gebeurtenis?

In het tweede deel moet je toelichten waardoor de daling is gedreven. Is het aantal gebruikers toegenomen, of is het aantal posts afgenomen? Daarna zal de interviewer vragen om het gesprek op te starten met één of beide redeneringen. 

Hoe denk je dat de verdeling van de bestede tijd per dag op Facebook eruitziet? Welke metrics zou je gebruiken om die verdeling te beschrijven?

Voor de verdeling van de bestede tijd per dag op Facebook kun je aannemen dat er twee groepen zijn:

  1. Mensen die snel door de feed scrollen zonder veel tijd te besteden.
  2. Superusers die veel tijd op Facebook doorbrengen.

Voor het tweede deel moet je statistische termen gebruiken om de verdeling te beschrijven, zoals:

  1. Centrum: gemiddelde, mediaan en modus
  2. Spreiding: standaardafwijking, interkwartielafstand en range
  3. Vorm: scheefheid, kurtosis en uni- of bimodaal
  4. Uitschieters

Gegeven een dataset met toetscijfers: schrijf pandas-code die het cumulatieve percentage retourneert van studenten die scores ontvingen binnen de buckets <50, <75, <90, <100.

In deze vraag schrijf je pandas-code om eerst de score in verschillende buckets te verdelen en vervolgens het percentage studenten te berekenen dat in die klassen valt. 

Input:

Onze dataset heeft de kolommen user_id, grade en test_score. 

Dataset toetscijfers.png

Afbeelding door auteur 

Output:

Je schrijft de functie die de kolommen grade en test_score gebruikt. En je toont de dataframe met grades, bucketscores en het cumulatieve percentage studenten dat bucketscores behaalt.  

dataset grades.png

Afbeelding door auteur

  1. Je gebruikt de functie pandas.cut() om scores om te zetten naar buckets met behulp van bins en labels van buckets. 
  2. Bereken de grootte van elke groep (grade en test_score).
  3. Voor het berekenen van het percentage hebben we een teller (cumulatieve som) en noemer (som van alle waarden) nodig.
  4. Zet de breuk om naar een echt percentage door te vermenigvuldigen met 100 en “%” toe te voegen.
  5. Reset de index en hernoem de kolom naar "percentage".
def bucket_test_scores(df):
    bins = [0, 50, 75, 90, 100]
    labels = ["<50", "<75", "<90", "<100"]

    # converting the scores into buckets
    df["test_score"] = pd.cut(df["test_score"], bins, labels=labels, right=False)

    # Calculate size of each group, by grade and test score
    df = df.groupby(["grade", "test_score"]).size()

    # Calculate numerator and denominator for percentage
    NUM = df.groupby("grade").cumsum()
    DEN = df.groupby("grade").sum()

    # Calculate percentage, multiply by 100, and add %
    percentage = (NUM / DEN).map(lambda x: f"{int(100*x):d}%")

    # reset the index
    percentage = percentage.reset_index(name="percentage")
    return percentage


bucket_test_scores(df)

Je hebt het perfecte resultaat met een bucket-toetscore en het percentage. 

dataset grades.png

Leer hoe je data opschoont, statistieken berekent en visualisaties maakt met de cursus Data Manipulation with pandas. Voor een diepere duik, zie onze gids met de Top 35 machine learning-interviewvragen voor 2026.

Amazon Data Science-interviewvraag

Leg betrouwbaarheidsintervallen uit

Het betrouwbaarheidsinterval is een bereik met schattingen voor een onbekende parameter waarvan je verwacht dat die een bepaald percentage van de tijd valt wanneer je het experiment opnieuw uitvoert of de populatie op een vergelijkbare manier hersampelt.

betrouwbaarheidsintervallen.png

Afbeelding van omnicalculator

Het 95%-betrouwbaarheidsniveau wordt vaak gebruikt in statistische experimenten, en het is het percentage keren dat je verwacht de geschatte parameter te reproduceren. Betrouwbaarheidsintervallen hebben een boven- en ondergrens, ingesteld door de alfawaarde.

Je kunt betrouwbaarheidsintervallen gebruiken voor verschillende statistische schattingen, zoals proporties, populatiegemiddelden, verschillen tussen populatiegemiddelden of -proporties en schattingen van variatie tussen groepen.

Bouw je statistische basis op met onze cursus Statistical Thinking in Python (Part 1).

Hoe ga je om met een ongebalanceerde dataset?

In een ongebalanceerde dataset zijn klassen ongelijk verdeeld. In een fraudedetectieset zijn er bijvoorbeeld slechts 400 fraudegevallen tegenover 300.000 niet-fraudegevallen. De ongebalanceerde data zorgt ervoor dat het model slechter presteert bij het detecteren van fraude. 

ongebalanceerde dataset.png

Afbeelding door auteur

Om met ongebalanceerde data om te gaan, kun je gebruiken:

  1. Undersampling
  2. Oversampling
  3. Synthetische data creëren
  4. Combinatie van under- en oversampling

Undersampling

Hierbij wordt de meerderheidsklasse teruggesampeld om gelijk te worden aan de minderheidsklasse. 

In de fraudedetectieset worden beide klassen gelijk aan 400 samples. Je kunt imblearn.under_sampling gebruiken om je dataset eenvoudig te resamplen.

from imblearn.under_sampling import RandomUnderSampler
RUS = RandomUnderSampler(random_state=1)
X_US, y_US = RUS.fit_resample(X_train, y_train)

Oversampling

Hierbij wordt de minderheidsklasse opgesampeld om gelijk te worden aan de meerderheidsklasse. Herhaling of gewogen herhaling van de minderheidsklasse zijn veelgebruikte methoden om de data te balanceren. Kortom, beide klassen hebben 300K samples. 

from imblearn.over_sampling import RandomOverSampler

ROS = RandomOverSampler(random_state=0)
X_OS, y_OS = ROS.fit_resample(X_train, y_train)

Synthetische data creëren

Het probleem met herhaling is dat het geen extra informatie toevoegt, wat kan leiden tot slechtere modelprestaties. Om dat te ondervangen kunnen we SMOTE (Synthetic Minority Oversampling Technique) gebruiken om synthetische datapunten te creëren. 

from imblearn.over_sampling import SMOTE

SM = SMOTE(random_state=1)
X_OS, y_OS = SM.fit_resample(X_train, y_train)

Combinatie van under- en oversampling

Om vooroordelen in het model en prestaties te verbeteren, kun je een combinatie van over- en undersampling gebruiken. We gebruiken SMOTE voor oversampling en EEN (Edited Nearest Neighbours) voor opschoning. 

Het pakket imblearn.combine biedt verschillende functies die beide samplingstappen automatisch uitvoeren. 

from imblearn.combine import SMOTEENN

SMTN = SMOTEENN(random_state=0)
X_OUS, y_OUS = SMTN.fit_resample(X_train, y_train)

Schrijf een query die het totaal aantal verkopen per product retourneert voor de maand maart 2022.

Als data scientist schrijf je vaak dit soort queries om data te extraheren en te analyseren. In deze uitdaging gebruik je ofwel de WHERE-clausule met vergelijkingsoperatoren of WHERE met de BETWEEN-clausule om te filteren.

Tabel: orders

orders SQL-tabel.png

Afbeelding door auteur

Voorbeelduitvoer:

Voorbeelduitvoer.png

Afbeelding door auteur

  1. Je toont het product-id en de som van de hoeveelheid uit de orders-tabel. 
  2. Filter de data van datum ‘2022-03-01’  tot '2022-04-01' met WHERE en AND. Je kunt ook BETWEEN gebruiken om iets soortgelijks te doen. 
  3. Groepeer op product_id om het totale aantal verkopen per product te krijgen.
SELECT product_id,
      SUM(qty)
FROM orders
WHERE order_dt >= '2022-03-01'
  AND order_dt < '2022-04-01'
GROUP BY product_id;

Google Data Science-interviewvraag

Als de labels bekend zijn in een clusteringproject, hoe zou je de performance van het model evalueren?

In unsupervised learning kan het lastig zijn om de performance van een clusteringproject te bepalen. Criteria voor goede clustering zijn onderscheiden groepen met weinig onderlinge gelijkenis. 

Er is geen accuracymetric in clusteringmodellen, dus we gebruiken ofwel gelijkenis ofwel onderscheid tussen groepen om de modelprestatie te evalueren.  

clusteringprestatie.png

Afbeelding uit de scikit-learn-documentatie

De drie veelgebruikte metrics zijn:

  • Silhouette Score
  • Calinski-Harabasz-index
  • Davies-Bouldin-index

Silhouette Score

Deze wordt berekend met de gemiddelde intra-clusterafstand en de gemiddelde afstand tot de dichtstbijzijnde andere cluster. 

We kunnen scikit-learn gebruiken om de metric te berekenen. De Silhouette Score ligt tussen -1 en 1; hogere scores betekenen minder gelijkenis tussen groepen en meer onderscheidende clusters. 

from sklearn import metrics


model = KMeans().fit(X)
labels = model.labels_

metrics.silhouette_score(X, labels)

Calinski-Harabasz-index

Deze berekent onderscheid tussen groepen met between-cluster dispersion en within-cluster dispersion. De metric heeft geen bovengrens en, net als de Silhouette Score, betekent een hogere score een betere modelprestatie. 

metrics.calinski_harabasz_score(X, labels)

Davies-Bouldin-index

Deze berekent de gemiddelde gelijkenis van elke cluster met zijn meest vergelijkbare cluster. In tegenstelling tot andere metrics betekent een lagere score een betere modelprestatie en betere scheiding tussen clusters.   

metrics.davies_bouldin_score(X, labels)


Leer hoe je hiërarchische en k-means-clustering toepast met de cursus Cluster Analysis in R.

Er zijn vier mensen in een lift en vier verdiepingen in een gebouw. Wat is de kans dat elke persoon op een andere verdieping uitstapt?

4 mensen en 4 verdiepingen—kansprobleem.png

Afbeelding door auteur

We gebruiken:

kansrekening.png

  • F = aantal verdiepingen
  • P = aantal personen

Om dit op te lossen, vinden we eerst het totale aantal manieren waarop men kan uitstappen: 44 = 4x4x4x4 = 256 manieren.

Daarna berekenen we het aantal manieren waarop iedereen op een andere verdieping uitstapt: 4! = 24.

Om de kans te berekenen dat iedereen op een andere verdieping uitstapt, delen we het aantal gunstige manieren door het totaal aantal manieren. 

24/256 = 3/32

Leer strategieën om lastige kansvragen te beantwoorden met R in onze cursus Probability Puzzles in R.

Schrijf een functie om N steekproeven te genereren uit een normale verdeling en plot het histogram.

Om N steekproeven te genereren uit de normale verdeling kun je Numpy gebruiken (np.random.randn(N)) of SciPy (sp.stats.norm.rvs(size=N)). 

Om een histogram te plotten kun je Matplotlib of Seaborn gebruiken. 

  1. Je genereert willekeurige normaal verdeelde samples met de Numpy-functie randn. 
  2. Plot het histogram met KDE met Seaborn. 
  3. Plot het histogram voor 10K samples en retourneer de Numpy-array. 
import numpy as np
import seaborn as sns

N = 10_000

def norm_dist_hist(N):
    # Generating Random normal distribution samples
    x = np.random.randn(N)
    # Plotting histogram
    sns.histplot(x, bins = 20, kde=True);
    return x
   
X = norm_dist_hist(N)

distributiehistogram.png

Leer in enkele seconden informatieve en aantrekkelijke visualisaties maken met de cursus Introduction to Data Visualization with Seaborn.

Hoe bereid je je voor op het data science-interview

Data Science Interview-wegingsfactoren.png

Afbeelding door auteur

Data science-interviews zijn verdeeld in vier tot vijf fases. Je krijgt vragen over statistiek en machine learning, coderen (Python, R, SQL), gedrag, product sense en soms leiderschap. 

Je kunt je op alle fases voorbereiden door:

  1. Het bedrijf en de functie-eisen te onderzoeken: dit helpt je om je inspanning te prioriteren in een bepaald deel van data science. 
  2. Je eerdere portfolio-projecten te reviewen: de hiring manager beoordeelt je skills door vragen te stellen over je projecten. 
  3. De fundamenten van data science te herhalen: kansrekening, statistiek, hypothesetoetsing, beschrijvende en Bayesiaanse statistiek en dimensionaliteitsreductie. Cheatsheets zijn de beste manier om de basis snel te leren. 
  4. Coding te oefenen: maak assessmenttests, los online code challenges op en bekijk de meest gestelde codeervragen. 
  5. End-to-end projecten te oefenen: fris je skills op in data opschonen, manipulatie, analyse en visualisatie. 
  6. De meest voorkomende interviewvragen te lezen:  product sense-, statistische, analytische, gedrags- en leiderschapsvragen. 
  7. Een mock-interview te doen: oefen een interview met een vriend, verbeter je statistische woordenschat en bouw zelfvertrouwen op. 

Lees deData Science Interview Preparation-blog om te leren wat je kunt verwachten en hoe je het interview aanpakt.

Veelgestelde vragen over data science-interviews

Wat zijn de vier belangrijkste componenten van data science?

De vier belangrijkste componenten van data science zijn:

  • Zakelijk begrip en datastrategie.
  • Datavoorbereiding (opschonen, imputeren, valideren).
  • Data-analyse en modelleren.
  • Datavisualisatie en operationaliseren.

Zijn data science-interviews moeilijk?

Meestal wel. Om te slagen voor een data science-interview moet je vaardigheid tonen in meerdere gebieden, zoals statistiek & kansrekening, coderen, data-analyse, machine learning, product sense en rapportage. Zie onze gids met interviewvragen voor data scientists ter ondersteuning van je voorbereiding!

Is data science een stressvolle baan?

Dat hangt ervan af. Je hele team/bedrijf kan op jou rekenen voor analyses en actiegerichte informatie. In sommige gevallen draag je meerdere petten, zoals data engineer, data-analist, machine learning engineer, MLOps-engineer, datamanager en teamleider. Sommigen vinden dit spannend en uitdagend, terwijl anderen het soms stressvol en overweldigend vinden.

Is één jaar leren genoeg voor data science?

Misschien. Het hangt af van je achtergrond. Als je als software engineer werkt en wilt overstappen, kun je het meeste in een jaar leren. Maar als je vanaf nul begint, is het lastig om binnen een jaar job-ready te zijn. Start je traject als Data Scientist met Python en leer alle basis in 6 maanden. 

Is data science wiskunde-intensief?

Ja. Je moet statistiek, kansrekening, wiskunde, data-analyse, datavisualisatie en het bouwen en evalueren van machinelearningmodellen leren.

Biedt een carrière in data science een goed salaris?

Ja. Volgens Glassdoor ligt het mediane totale salaris voor een data scientist in de VS in 2026 rond de $130.000–$145.000 per jaar, waarbij senior rollen bij grote techbedrijven daar ruim bovenuit komen. Salarissen variëren sterk per bedrijf, locatie en ervaringsniveau. Zie onze gids How to Become a Data Scientist in 2026 voor meer over carrièrepaden en beloning.

Hoe kan ik mijn kennis van data science aantonen aan werkgevers?

Naast het volgen van cursussen en werken aan realistische data science-projecten is onze Data Scientist Certification de beste manier om je expertise aan werkgevers te bewijzen. Deze door de industrie erkende certificering test je vaardigheden via twee getimede examens en daarna een praktijkexamen.

Onderwerpen
Data Science
Loopbaandiensten

Data Science-cursussen

Cursus

Python voor gemiddeld niveau

4 uur
1.4M
Maak je data science skills sterker: creëer visualisaties met Matplotlib en bewerk DataFrames met pandas.
Bekijk detailsRight Arrow
Start Cursus
Meer bekijkenRight Arrow
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer BekijkenMeer Bekijken