AccueilBlogTest technique complet Data Scientist : stats, ML, production
Guide recrutement data

Test technique complet Data Scientist : stats, ML, production

Le Data Scientist est souvent le profil le plus difficile à évaluer correctement. Voici la structure complète d un test technique rigoureux, de la statistics au déploiement.

Data Builder·Juin 2025·8 min de lecture·Data Scientist
Sommaire
  1. Ce qu on évalue vraiment
  2. Fondations statistiques
  3. Épreuve Machine Learning
  4. Évaluation des modèles
  5. Cas métier
  6. Capacité à déployer
  7. Grille de décision

1Ce qu on évalue vraiment

Un Data Scientist qui ne peut déployer aucun modèle en production est un coût. Un Data Scientist qui déploie des modèles sans comprendre les statistiques sous-jacentes est un risque. On évalue les deux dimensions.

2Fondations statistiques : ce qu on teste

Question discriminante

Quelle est la différence entre précision (precision) et rappel (recall) ? Dans quel cas privilégiez-vous l un ou l autre ?

from sklearn.metrics import classification_report, confusion_matrix import numpy as np # La matrice de confusion # TP = vrais positifs, FP = faux positifs # FN = faux négatifs, TN = vrais négatifs # Précision = TP / (TP + FP) # Question : parmi les positifs prédits, combien sont vrais ? # À maximiser quand les faux positifs sont coûteux # Ex : détection de spam (envoyer un vrai email en spam = grave) # Rappel = TP / (TP + FN) # Question : parmi les vrais positifs, combien sont détectés ? # À maximiser quand les faux négatifs sont coûteux # Ex : détection de cancer (manquer un vrai cancer = grave) # F1 = 2 * (Précision * Rappel) / (Précision + Rappel) # Compromis entre précision et rappel

3Épreuve Machine Learning

Question discriminante

Comment choisissez-vous entre un Random Forest et un XGBoost ? Et entre l un et une régression logistique ?

AlgorithmeForcesFaiblessesQuand l utiliser
Régression LogistiqueInterprétable, rapide, base probabilisteLinéaire, peu performant sur données complexesBaseline, features peu corrélées, besoin d explication
Random ForestRobuste, peu de tuning, OOB errorLent sur gros volumes, peu interprétableDonnées tabulaires, baseline solide
XGBoost / LightGBMPerformances maximales, gère les nullsSurapprentissage facile, tuning complexeCompétitions, production, gros volumes
Réseaux de neuronesImages, texte, séries temporellesDonnées, compute, boîte noireDonnées non structurées, gros volumes

4Évaluation rigoureuse des modèles

Question discriminante

Qu est-ce que le data leakage dans l évaluation d un modèle ? Comment l évitez-vous ?

from sklearn.model_selection import cross_val_score, StratifiedKFold from sklearn.pipeline import Pipeline from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression # Pipeline : garantit que le prétraitement est fait # séparément sur chaque fold (pas de leakage) pipeline = Pipeline([ ('scaler', StandardScaler()), ('model', LogisticRegression()) ]) # Stratified K-Fold : respecte la proportion de classes cv = StratifiedKFold(n_splits=5, shuffle=True, random_state=42) scores = cross_val_score(pipeline, X, y, cv=cv, scoring='roc_auc') print(f'AUC: {scores.mean():.3f} (+/- {scores.std():.3f})') # Learning curve : détecter l overfitting from sklearn.model_selection import learning_curve train_sizes, train_scores, val_scores = learning_curve( pipeline, X, y, cv=cv, scoring='roc_auc' )

5Cas métier : la partie la plus discriminante

Question discriminante

Pourquoi les cas métiers sont-ils plus discriminants que les questions algorithmiques ?

6Capacité à déployer

Question discriminante

Quelles questions posez-vous pour évaluer la capacité de déploiement ?

7Grille de décision GO / NO-GO

CompétenceJunior DSConfirmé DSSenior DS
StatistiquesPrecision/Recall, bases probaTests stat, AUC-ROC, classes déséquilibréesStatistiques bayésiennes, tests A/B rigoureux
ML algorithmiquesklearn, RandomForest, régressionXGBoost tuning, feature engineering, SHAPAlgorithmes avancés, NLP/CV, deep learning
ÉvaluationTrain/test split, accuracyCV stratifiée, métriques adaptées, leakageLearning curves, production monitoring
ProductionNotion de déploiementFastAPI + Docker + MLflowMLOps complet, CI/CD ML, monitoring drift
CommunicationExplique son modèlePrésente les résultats aux métiersCadre et priorise les projets data science

Vous recrutez un Data Scientist ?

Premier entretien gratuit. Rapport GO/NO-GO sous 48h.