Estou trabalhando em um conjunto de dados com mais de 200.000 amostras e aproximadamente 50 recursos por amostra: 10 variáveis contínuas e as outras ~ 40 são variáveis categóricas (países, idiomas, campos científicos etc.). Para essas variáveis categóricas, você tem, por exemplo, 150 países diferentes, 50 idiomas, 50 campos científicos, etc.
Até agora, minha abordagem é:
Para cada variável categórica com muitos valores possíveis, pegue apenas a que possui mais de 10000 amostras que recebem esse valor. Isso reduz para 5 a 10 categorias em vez de 150.
Crie uma variável fictícia para cada uma das categorias (se 10 países, em seguida, para cada amostra, adicione um vetor binário de tamanho 10).
Alimente um classificador de floresta aleatório (valide cruzadamente os parâmetros etc ...) com esses dados.
Atualmente, com essa abordagem, eu só consigo obter 65% de precisão e sinto que mais pode ser feito. Especialmente, não estou satisfeito com o meu 1), pois sinto que não deveria remover arbitrariamente os "valores menos relevantes" de acordo com o número de amostras que eles têm, porque esses valores menos representados poderiam ser mais discriminatórios. Por outro lado, minha RAM não pode permitir adicionar 500 colunas * 200000 linhas aos dados, mantendo todos os valores possíveis.
Você teria alguma sugestão para lidar com tantas variáveis categóricas?