Je travaille sur un ensemble de données comprenant plus de 200 000 échantillons et environ 50 caractéristiques par échantillon: 10 variables continues et les 40 autres valeurs sont des variables catégorielles (pays, langues, domaines scientifiques, etc.). Pour ces variables catégorielles, vous avez par exemple 150 pays différents, 50 langues, 50 domaines scientifiques etc ...
Jusqu'ici, mon approche est la suivante:
Pour chaque variable catégorielle comportant de nombreuses valeurs possibles, prenons uniquement celle ayant plus de 10 000 échantillons prenant cette valeur. Cela réduit à 5-10 catégories au lieu de 150.
Construisez une variable muette pour chaque catégorie (si 10 pays ajoutez un vecteur binaire de taille 10 pour chaque échantillon).
Nourrir un classifieur de forêt aléatoire (valider les paramètres, etc.) avec ces données.
Actuellement, avec cette approche, je ne parviens qu'à obtenir une précision de 65% et j'estime qu'il est possible de faire plus. En particulier, je ne suis pas satisfait de mon 1) car j'estime que je ne devrais pas supprimer arbitrairement les "valeurs les moins pertinentes" en fonction du nombre d'échantillons dont ils disposent, car ces valeurs moins représentées pourraient être plus discriminantes. D'autre part, ma RAM ne peut pas permettre d'ajouter 500 colonnes * 200 000 lignes aux données en conservant toutes les valeurs possibles.
Auriez-vous une suggestion pour faire face à ces variables beaucoup plus catégoriques?