Para uma competição recente do Kaggle, eu (manualmente) defini 10 recursos adicionais para o meu conjunto de treinamento, que seriam usados para treinar um classificador de florestas aleatórias. Decidi executar o PCA no conjunto de dados com os novos recursos, para ver como eles se comparavam. Eu descobri que ~ 98% da variação foi realizada pelo primeiro componente (o primeiro vetor próprio). Treinei o classificador várias vezes, adicionando um recurso por vez e usei a validação cruzada e o erro RMS para comparar a qualidade da classificação. Descobri que as classificações melhoravam com cada recurso adicional e que o resultado final (com todos os 10 novos recursos) era muito melhor do que a primeira execução com (digamos) 2 recursos.
Dado que o PCA alegou que ~ 98% da variação estava no primeiro componente do meu conjunto de dados, por que a qualidade das classificações melhorou tanto?
Isso seria válido para outros classificadores? A escala de RF em vários núcleos, portanto, é muito mais rápido treinar do que (digamos) SVM.
E se eu tivesse transformado o conjunto de dados no espaço "PCA" e executado o classificador no espaço transformado. Como meus resultados mudariam?
fonte
Respostas:
Ao fazer a modelagem preditiva, você está tentando explicar a variação na resposta, não a variação nos recursos. Não há razão para acreditar que colocar tanto da variação de recurso em um único novo recurso capturará uma grande quantidade do poder preditivo dos recursos como um todo.
Isso geralmente é explicado como a diferença entre a regressão do componente principal em vez dos mínimos quadrados parciais.
fonte
Boruta
. Também não os achei úteis. Acho irracional acreditar que um determinado recurso não tem efeito. Acredito que enfatizar certos recursos em detrimento de outros poderia ser útil, mas o algoritmo randomForest básico já faz isso muito bem. Se você gosta tanto de modelagem e quer mais desempenho, sugiro empilhar outros algoritmos, alguns como algumas árvores aprimoradas, com sua randomForest.O primeiro componente principal é uma combinação linear de todos os seus recursos. O fato de explicar quase toda a variabilidade significa apenas que a maioria dos coeficientes das variáveis no primeiro componente principal é significativa.
Agora, as árvores de classificação que você gera também são um animal diferente. Eles fazem divisões binárias em variáveis contínuas que melhor separam as categorias que você deseja classificar. Isso não é exatamente o mesmo que encontrar combinações lineares ortogonais de variáveis contínuas que fornecem a direção da maior variância. De fato, discutimos recentemente um artigo sobre CV em que o PCA foi usado para análise de agrupamentos e os autores descobriram que existem situações em que a melhor separação é encontrada não nos primeiros componentes principais, mas nos últimos.
fonte