Eu estava tentando usar as importâncias de recursos da Random Forests para executar alguma seleção empírica de recursos para um problema de regressão em que todos os recursos são categóricos e muitos deles têm muitos níveis (da ordem de 100-1000). Dado que a codificação one-hot cria uma variável dummy para cada nível, as importâncias dos recursos são para cada nível e não para cada recurso (coluna). Qual é uma boa maneira de agregar essas importâncias de recursos?
Pensei em somar ou obter a importância média para todos os níveis de um recurso (provavelmente o primeiro será direcionado para os recursos com mais níveis). Há alguma referência sobre esse problema?
O que mais se pode fazer para diminuir o número de recursos? Estou ciente do laço do grupo, não encontrei nada fácil de usar para o scikit-learn.
Respostas:
Depende de como você os codifica. Muitas soluções automatizadas para isso nomearão todos os booleanos convertidos com um padrão para que uma variável categórica chamada "letra" com valores AZ acabe da seguinte forma:
letra_A, letra_B, letra_C, letra_D, ....
Se, depois de descobrir a importância do recurso, você tiver uma matriz de características e o peso / importância associado, eu analisaria a matriz e talvez resumisse os pesos de importância da característica para qualquer coisa que comece com "letra%".
fonte