AccueilBlogTest technique régression logistique : fondations statistiques pour Data Scientist
Guide recrutement data

Test technique régression logistique : fondations statistiques pour Data Scientist

La régression logistique est souvent le premier algorithme demandé en entretien. Mais la maîtriser vraiment — coefficients, régularisation, hypothèses — différencie les profils solides.

Data Builder·Juin 2025·6 min de lecture·Data Scientist
Sommaire
  1. Pourquoi la régression logistique
  2. Fonction sigmoïde et log-odds
  3. Interpréter les coefficients
  4. Régularisation L1 et L2
  5. Hypothèses et diagnostics
  6. Extension multiclasse
  7. Grille

1Pourquoi la régression logistique plutôt que linéaire

Question discriminante

Pourquoi ne peut-on pas utiliser une régression linéaire pour prédire une probabilité ?

2Fonction sigmoïde et odds ratio

Question discriminante

Qu est-ce qu un odds ratio ? Comment l interprétez-vous dans le contexte d un modèle de churn ?

import numpy as np from sklearn.linear_model import LogisticRegression import pandas as pd model = LogisticRegression(C=1.0, solver='lbfgs') model.fit(X_train, y_train) # Odds ratios : exp(coeff) odds_ratios = pd.Series( np.exp(model.coef_[0]), index=X_train.columns ).sort_values(ascending=False) print(odds_ratios) # age: 0.95 -> +1 an d age = probabilite churn * 0.95 # jours_inactif: 1.12 -> +1 jour inactif = probabilite churn * 1.12 # nb_achats_12m: 0.88 -> +1 achat = probabilite churn * 0.88

3Interpréter les coefficients

Question discriminante

Comment les coefficients d une régression logistique sont-ils affectés par le scaling des features ?

4Régularisation L1 (Lasso) et L2 (Ridge)

Question discriminante

Quelle est la différence entre L1 et L2 dans sklearn LogisticRegression ? Quand utilisez-vous l un ou l autre ?

# sklearn : parametre C = 1/lambda (inverse de la regularisation) # C petit -> forte regularisation, C grand -> faible regularisation # L2 (Ridge) : penalty='l2' - par defaut # Réduit les coefficients sans les mettre à zéro model_l2 = LogisticRegression(penalty='l2', C=0.1, solver='lbfgs') # L1 (Lasso) : penalty='l1' # Met les coefficients non importants à zéro = sélection de features model_l1 = LogisticRegression(penalty='l1', C=0.1, solver='liblinear') # ElasticNet : combinaison L1 + L2 model_en = LogisticRegression(penalty='elasticnet', l1_ratio=0.5, solver='saga')

5Hypothèses et limites

Question discriminante

Quelles sont les hypothèses de la régression logistique ? Quand échouent-elles ?

6Extension multiclasse

Question discriminante

Comment la régression logistique gère-t-elle plusieurs classes ?

7Grille par niveau

NiveauMaitriseSignal GONO-GO
JuniorComprend la sigmoïde, train/predict/proba, métriquesExplique pourquoi on utilise sigmoïde, sait interpréter predict_probaPense que la régression logistique est toujours linéaire
ConfirméOdds ratios, L1/L2, C parameter, hypothèsesInterprète les odds ratios, sait tuner C, connaît L1 vs L2Ne sait pas ce qu est un odds ratio
SeniorCalibration, diagnostics de multicolinéarité, GLMsVérifie la calibration, sait quand la régression logistique est meilleure qu XGBoostUtilise toujours XGBoost sans justifier

Vous recrutez un Data Scientist ?

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