Sélection des colonnes

Les ensembles de données modernes sont très riches en informations avec des données collectées à partir de millions d’appareils et de capteurs IoT. Cela rend les données de grande dimension et il est assez courant de voir des ensembles de données avec des centaines de fonctionnalités et il n’est pas inhabituel de les voir atteindre des dizaines de milliers.

La sélection des colonnes / fonctionnalités est un élément très critique dans le flux de travail d’un Data Scientist. Lorsqu’ils présentent des données avec une dimensionnalité très élevée, les modèles s’étouffent généralement parce que

  1. Le temps de formation augmente de manière exponentielle avec le nombre de fonctionnalités.
  2. Les modèles ont un risque croissant de surajustement avec un nombre croissant de fonctionnalités.
  3. Les méthodes de sélection de caractéristiques aident à résoudre ces problèmes en réduisant les dimensions sans grande perte de l’information totale. Cela aide également à donner un sens aux fonctionnalités et à leur importance.

sélection des colonnes

Dans cette page, je discute des techniques de sélection de fonctionnalités suivantes et de leurs caractéristiques.

  1. Méthodes de filtrage
  2. Méthodes d’emballage et
  3. Méthodes embarquées.

Méthodes de filtrage

Les méthodes de filtrage prennent en compte la relation entre les entités et la variable cible pour calculer l’importance des entités.

F Test

F-Test est un test statistique utilisé pour comparer les modèles et vérifier si la différence est significative entre les modèles.

F-Test fait un modèle de test d’hypothèse X et Y où X est un modèle créé uniquement par une constante et Y est le modèle créé par une constante et une fonctionnalité.

Les erreurs des moindres carrés dans les deux modèles sont comparées et vérifie si la différence d’erreurs entre les modèles X et Y est significative ou introduite par hasard.

F-Test est utile dans la sélection des fonctionnalités car nous apprenons à connaître l’importance de chaque fonctionnalité dans l’amélioration du modèle.

Scikit learn fournit les meilleures K fonctionnalités  à l’aide de F-Test.

sklearn.feature_selection.f_regression

Pour les colonnes de type classification :

sklearn.feature_selection.f_classif

L’utilisation de F-Test pour sélectionner vos fonctionnalités présente certains inconvénients. F-Test vérifie et ne capture que les relations linéaires entre les entités et les étiquettes. Une caractéristique hautement corrélée reçoit un score plus élevé et les caractéristiques moins corrélées reçoivent un score inférieur.

  1. La corrélation est très trompeuse car elle ne capture pas les relations non linéaires fortes.
  2. Utiliser des statistiques sommaires comme la corrélation peut être une mauvaise idée, comme l’illustre le quatuor d’Anscombe.

Sélection des colonnes sélection des colonnes

Francis Anscombe illustre comment quatre ensembles de données distincts ont la même moyenne, la même variance et la même corrélation pour souligner que les « statistiques récapitulatives » ne décrivent pas complètement les ensembles de données et peuvent être assez trompeuses.

Information mutuelle

L’information mutuelle entre deux variables mesure la dépendance d’une variable à une autre. Si X et Y sont deux variables, et

  1. Si X et Y sont indépendants, aucune information sur Y ne peut être obtenue en connaissant X ou vice versa. Par conséquent, leur information mutuelle est 0.
  2. Si X est une fonction déterministe de Y, alors nous pouvons déterminer X à partir de Y et Y à partir de X avec des informations mutuelles 1.
  3. Quand on a Y = f(X,Z,M,N), 0 < information mutuelle < 1

Nous pouvons sélectionner nos fonctionnalités à partir de l’espace des fonctionnalités en classant leurs informations mutuelles avec la variable cible.

L’avantage d’utiliser des informations mutuelles par rapport à F-Test est qu’il fonctionne bien avec la relation non linéaire entre la caractéristique et la variable cible.

Sklearn propose une sélection de fonctionnalités avec des informations mutuelles pour les tâches de régression et de classification.

sklearn.feature_selection.mututal_info_regression 
sklearn.feature_selection.mututal_info_classif
Sélection des colonnes sélection des colonnes
F-Test capture bien la relation linéaire. L’information mutuelle capture tout type de relation entre deux variables. http://scikit-learn.org/stable/auto_examples/feature_selection/plot_f_test_vs_mi.html
 

Seuil de variance

Cette méthode supprime les entités présentant une variation inférieure à un certain seuil.

L’idée est que lorsqu’une fonctionnalité ne varie pas beaucoup en elle-même, elle a généralement très peu de pouvoir prédictif.

sklearn.feature_selection.VarianceThreshold

Le seuil de variance ne tient pas compte de la relation des caractéristiques avec la variable cible.

Méthodes d'emballage (wrapper)

Les méthodes wrapper génèrent des modèles avec un sous-ensemble de fonctionnalités et mesurent les performances de leurs modèles.

Forward Search

Cette méthode vous permet de rechercher la meilleure fonctionnalité par rapport aux performances du modèle et de les ajouter à votre sous-ensemble de fonctionnalités l’une après l’autre.

Sélection des colonnes sélection des colonnes

Méthode de sélection directe lorsqu’elle est utilisée pour sélectionner les 3 meilleures caractéristiques sur 5 caractéristiques, les caractéristiques 3, 2 et 5 comme meilleur sous-ensemble.

Pour les données avec n caractéristiques,

-> Au premier tour, « n » modèles sont créés avec une fonctionnalité individuelle et la meilleure fonctionnalité prédictive est sélectionnée.

-> Au second tour, des modèles « n-1 » sont créés avec chaque fonctionnalité et la fonctionnalité précédemment sélectionnée.

->Ceci est répété jusqu’à ce qu’un meilleur sous-ensemble de caractéristiques « m » soit sélectionné.

Recursive Feature Elimination

Comme son nom l’indique, cette méthode élimine les fonctionnalités les moins performantes sur un modèle particulier les unes après les autres jusqu’à ce que le meilleur sous-ensemble de fonctionnalités soit connu.

Sélection des colonnes sélection des colonnes

L’élimination récursive élimine les traits les moins explicatifs les uns après les autres. Les fonctionnalités 2, 3 et 5 sont le meilleur sous-ensemble de fonctionnalités arrivé par élimination récursive.

Pour les données avec n caractéristiques,

-> Au premier tour, les modèles « n-1 » sont créés avec une combinaison de toutes les fonctionnalités sauf une. La fonctionnalité la moins performante est supprimée

-> Au deuxième tour, les modèles « n-2 » sont créés en supprimant une autre fonctionnalité.

Wrapper Methods vous promet un meilleur ensemble de fonctionnalités avec une recherche gourmande étendue.

Mais le principal inconvénient des méthodes wrapper est la quantité de modèles qui doivent être entraînés. Il est très coûteux en calcul et est irréalisable avec un grand nombre de fonctionnalités.

Méthodes embarquées (embedded)

La sélection des fonctionnalités peut également être obtenue grâce aux informations fournies par certains modèles d’apprentissage automatique.

La régression linéaire LASSO peut être utilisée pour les sélections de fonctionnalités. La régression au lasso est effectuée en ajoutant un terme supplémentaire à la fonction de coût de la régression linéaire. Cela, en plus d’empêcher le surajustement, réduit également à zéro les coefficients des caractéristiques moins importantes.

Sélection des colonnes sélection des colonnes

Comme nous faisons varier ƛ dans la fonction de coût, les coefficients ont été tracés dans ce graphique. On observe que pour ƛ ~=0, les coefficients de la plupart des traits tendent vers zéro. Dans le graphique ci-dessus, nous pouvons voir que seuls « lcavol », « svi » et « lweight » sont les caractéristiques avec des coefficients non nuls lorsque ƛ = 0,4.

Les modèles basés sur l’arbre calculent l’importance des fonctionnalités car ils doivent conserver les fonctionnalités les plus performantes aussi près de la racine de l’arbre. Construire un arbre de décision implique de calculer la meilleure caractéristique prédictive.

Les arbres de décision conservent les caractéristiques les plus importantes près de la racine. Dans cet arbre de décision, nous constatons que le nombre de pattes est la caractéristique la plus importante, suivi de s’il se cache sous le lit et s’il est délicieux, etc.

L’importance des caractéristiques dans les modèles basés sur des arbres est calculée en fonction de l’indice de Gini, de l’entropie ou de la valeur du chi carré.