Régression : sélection des variables

S'exercer aux questions d'entrevue 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 des variables

1 https://www.analyticsindiamag.com/what-are-feature-selection-techniques-in-machine-learning/
S'exercer aux questions d'entrevue en Machine Learning avec Python

Méthodes de sélection des variables

  • Filtre : classer les variables selon la performance statistique
  • Enveloppe : utiliser une méthode ML pour évaluer la performance
  • Intégrée : entraînement itératif pour extraire les variables
  • Importance des variables : modèles ML à arbres
S'exercer aux questions d'entrevue 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'exercer aux questions d'entrevue en Machine Learning avec Python

Tests statistiques de corrélation

Variable/Réponse Continue Catégorielle
Continue Corrélation de Pearson LDA
Catégorielle ANOVA Khi carré
S'exercer aux questions d'entrevue en Machine Learning avec Python

Fonctions de filtrage

Fonction renvoie
df.corr() matrice de corrélation de Pearson
sns.heatmap(corr_object) carte thermique
abs() valeur absolue
S'exercer aux questions d'entrevue en Machine Learning avec Python

Méthodes par enveloppe

  1. Sélection progressive (LARS – least angle regression)
    • Commence sans variables, en ajoute une à la fois
  2. Élimination régressive
    • Commence avec toutes les variables, en retire une à la fois
  3. Combinaison sélection progressive/élimination régressive (élimination bidirectionnelle)
  4. Élimination récursive de variables
    • RFECV
S'exercer aux questions d'entrevue 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'exercer aux questions d'entrevue en Machine Learning avec Python

Importance des variables basée sur des arbres

  • Random Forest --> sklearn.ensemble.RandomForestRegressor
  • Extra Trees --> sklearn.ensemble.ExtraTreesRegressor
  • Après l'ajustement du modèle --> tree_mod.feature_importances_
S'exercer aux questions d'entrevue 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_ classement des variables, retenue=1
sklearn.linear_model.LinearRegression estimateur de modèle linéaire
sklearn.linear_model.LarsCV least angle regression avec validation croisée
LarsCV.score coefficient de détermination R carré
LarsCV.alpha_ paramètre de régularisation estimé
S'exercer aux questions d'entrevue en Machine Learning avec Python

Passons à la pratique !

S'exercer aux questions d'entrevue en Machine Learning avec Python

Preparing Video For Download...