Régression : sélection de variables

S’entraîner aux questions d’entretien en Machine Learning avec Python

Lisa Stuart

Data Scientist

Choisir les bonnes variables :

  • Réduit le surapprentissage
  • Améliore la précision
  • Accroît l'interprétabilité
  • Réduit le temps d'entraînement

Étapes de sélection de variables

1 https://www.analyticsindiamag.com/what-are-feature-selection-techniques-in-machine-learning/
S’entraîner aux questions d’entretien en Machine Learning avec Python

Méthodes de sélection de variables

  • Filtre : classer les variables selon leurs performances statistiques
  • Enveloppe : utiliser une méthode ML pour évaluer la performance
  • Intégrée : entraînement itératif du modèle pour extraire des variables
  • Importance des variables : modèles ML basés sur les arbres
S’entraîner aux questions d’entretien en Machine Learning avec Python

Comparer les méthodes

Méthode Utilise un modèle ML Sélectionne le meilleur sous-ensemble Peut surapprendre
Filtre Non Non Non
Enveloppe Oui Oui Parfois
Intégrée Oui Oui Oui
Importance des variables Oui Oui Oui
S’entraîner aux questions d’entretien en Machine Learning avec Python

Tests statistiques du coefficient de corrélation

Variable/Réponse Continue Catégorielle
Continue Corrélation de Pearson LDA
Catégorielle ANOVA Khi-deux
S’entraîner aux questions d’entretien en Machine Learning avec Python

Fonctions de filtre

Fonction renvoie
df.corr() matrice de corrélation de Pearson
sns.heatmap(corr_object) carte thermique
abs() valeur absolue
S’entraîner aux questions d’entretien en Machine Learning avec Python

Méthodes enveloppe

  1. Sélection avant (LARS – least angle regression)
    • Démarre sans variable, ajoute une à la fois
  2. Élimination arrière
    • Démarre avec toutes les variables, en retire une à la fois
  3. Mixte sélection avant/élimination arrière (élimination bidirectionnelle)
  4. Élimination récursive de variables
    • RFECV
S’entraîner aux questions d’entretien en Machine Learning avec Python

Méthodes intégrées

  1. Régression Lasso
  2. Régression Ridge
  3. ElasticNet

Lasso, Ridge et ElasticNet

S’entraîner aux questions d’entretien en Machine Learning avec Python

Importance des variables basée sur les arbres

  • Random Forest --> sklearn.ensemble.RandomForestRegressor
  • Extra Trees --> sklearn.ensemble.ExtraTreesRegressor
  • Après l'ajustement du modèle --> tree_mod.feature_importances_
S’entraîner aux questions d’entretien en Machine Learning avec Python
Fonction renvoie
sklearn.svm.SVR estimateur de régression à vecteurs de support
sklearn.feature_selection.RFECV élimination récursive avec validation croisée
rfe_mod.support_ tableau booléen des variables retenues
ref_mod.ranking_ rang des variables, sélectionnées = 1
sklearn.linear_model.LinearRegression estimateur de modèle linéaire
sklearn.linear_model.LarsCV least angle regression avec validation croisée
LarsCV.score score R²
LarsCV.alpha_ paramètre de régularisation estimé
S’entraîner aux questions d’entretien en Machine Learning avec Python

Passons à la pratique !

S’entraîner aux questions d’entretien en Machine Learning avec Python

Preparing Video For Download...