Ma compréhension est que dans l'apprentissage automatique, cela peut être un problème si votre ensemble de données a des fonctionnalités hautement corrélées, car elles codent efficacement les mêmes informations.
Récemment, quelqu'un a souligné que lorsque vous effectuez un codage à chaud sur une variable catégorielle, vous vous retrouvez avec des fonctionnalités corrélées, vous devez donc en supprimer une comme "référence".
Par exemple, encoder le genre en deux variables is_male
et is_female
produit deux caractéristiques qui sont parfaitement corrélées négativement, alors ils ont suggéré d'utiliser simplement l'une d'entre elles, de définir efficacement la ligne de base pour dire masculin, puis de voir si la colonne is_female est importante dans l'algorithme prédictif .
Cela avait du sens pour moi, mais je n'ai rien trouvé en ligne pour suggérer que cela pourrait être le cas, est-ce que c'est faux ou est-ce que je manque quelque chose?
Duplicata possible (sans réponse): la colinéarité des fonctionnalités codées à chaud importe-t-elle pour SVM et LogReg?
you end up with correlated features, so you should drop one of them as a "reference"
Les variables fictives ou variables indicatrices (ce sont les deux noms utilisés en statistique, synonyme de "codage à chaud" dans l'apprentissage automatique) sont de toute façon corrélées de manière paire, qu'il s'agisse de variables k ou k-1. Ainsi, le meilleur mot est "redondant statistiquement / informationnellement" au lieu de "corrélé".Does keeping all k values theoretically make them weaker features
. Non (même si je ne suis pas sûr à 100% de ce que vous entendez par "plus faible").using something like PCA
Notez, juste au cas où, l'ACP sur un ensemble de variables muettes représentant une même variable catégorielle a peu de point pratique parce que les corrélations à l'intérieur de l'ensemble de variables muettes reflètent simplement les relations entre les fréquences de catégorie (donc si toutes les fréquences sont égales toutes les corrélations sont égales à 1 / (k-1)).is_male
variable plutôt que les deux options? Peut-être que cela n'a pas de sens dans ce contexte, et cela pourrait ne poser problème que si deux variables différentes codent réellement les mêmes informations (par exemple, la hauteur en pouces et la hauteur en cm).Réponses:
lm
glm
Avec d'autres modèles, utilisez les mêmes principes. Si les prédictions obtenues dépendent des colonnes que vous omettez, ne le faites pas. Sinon ça va.
Jusqu'à présent, cette réponse ne mentionne que des modèles linéaires (et certains modèles légèrement non linéaires). Mais qu'en est-il des modèles très non linéaires, comme les arbres et les forêts aléatoires? Les idées sur le codage catégoriel, comme le one-hot, proviennent principalement de modèles linéaires et d'extensions. Il y a peu de raisons de penser que les idées dérivées de ce contexte devraient s'appliquer sans modification aux arbres et aux forêts! pour quelques idées, voir Random Forest Regression avec des données clairsemées en Python .
la source