Faz sentido fazer o PCA antes de executar uma Classificação Florestal Aleatória?
Estou lidando com dados de texto de alta dimensão e quero reduzir os recursos para evitar a maldição da dimensionalidade, mas as florestas aleatórias já não têm algum tipo de redução de dimensão?
mtry
parâmetro) para construir cada árvore. Há também uma técnica de eliminação de recurso recursivo construída sobre o algoritmo de RF (consulte o pacote varSelRF R e as referências nele). No entanto, é certamente possível adicionar um esquema inicial de redução de dados, embora deva fazer parte do processo de validação cruzada. Portanto, a pergunta é: você deseja inserir uma combinação linear de seus recursos na RF?Respostas:
Leo Brieman escreveu que "a dimensionalidade pode ser uma bênção". Em geral, florestas aleatórias podem ser executadas em grandes conjuntos de dados sem problemas. Qual é o tamanho dos seus dados? Diferentes campos lidam com as coisas de maneiras diferentes, dependendo do conhecimento do assunto. Por exemplo, nos estudos de expressão gênica, os genes geralmente são descartados com base na baixa variação (sem espiar o resultado) em um processo às vezes chamado de filtragem não específica. Isso pode ajudar com o tempo de execução em florestas aleatórias. Mas isso não é obrigatório.
Seguindo o exemplo da expressão gênica, algumas vezes os analistas usam pontuações PCA para representar medições de expressão gênica. A idéia é substituir perfis semelhantes por uma pontuação que seja potencialmente menos confusa. Florestas aleatórias podem ser executadas tanto nas variáveis originais quanto nas pontuações do PCA (um substituto para as variáveis). Alguns relataram melhores resultados com essa abordagem, mas não há boas comparações com o meu conhecimento.
Em suma, não há necessidade de executar o PCA antes de executar o RF. Mas você pode. A interpretação pode mudar dependendo dos seus objetivos. Se tudo o que você quer fazer é prever, a interpretação pode ser menos importante.
fonte
Gostaria de acrescentar meus dois centavos a isso, pois achei que as respostas existentes estavam incompletas.
A execução do PCA pode ser especialmente útil antes de treinar uma floresta aleatória (ou LightGBM, ou qualquer outro método baseado em árvore de decisão) por uma razão específica que ilustrei na foto abaixo.
Basicamente, ele pode facilitar muito o processo de encontrar o limite de decisão perfeito, alinhando seu conjunto de treinamento ao longo das direções com maior variação.
As árvores de decisão são sensíveis à rotação dos dados, pois o limite de decisão que eles criam é sempre vertical / horizontal (ou seja, perpendicular a um dos eixos). Portanto, se seus dados se parecerem com a foto da esquerda, será necessária uma árvore muito maior para separar esses dois clusters (nesse caso, é uma árvore de 8 camadas). Mas se você alinhar seus dados ao longo de seus principais componentes (como na foto à direita), poderá obter uma separação perfeita com apenas uma camada!
Obviamente, nem todos os conjuntos de dados são distribuídos assim, portanto, o PCA nem sempre pode ajudar, mas ainda é útil tentar e verificar se existe. E apenas um lembrete, não esqueça de normalizar seu conjunto de dados para a variação da unidade antes de executar o PCA!
PS: Quanto à redução de dimensionalidade, eu concordo com o resto das pessoas, pois geralmente não é um problema tão grande para florestas aleatórias quanto para outros algoritmos. Ainda assim, isso pode ajudar a acelerar um pouco o seu treinamento. O tempo de treinamento da árvore de decisão é O (n m log (m)), onde n é o número de instâncias de treinamento, m - número de dimensões. E embora as florestas aleatórias selecionem aleatoriamente um subconjunto de dimensões para cada árvore a ser treinada, quanto menor a fração do número total de dimensões que você escolher, mais árvores você precisará treinar para obter um bom desempenho.
fonte
O PCA antes da floresta aleatória pode ser útil não para redução da dimensionalidade, mas para fornecer aos dados uma forma em que a floresta aleatória pode ter um desempenho melhor.
Tenho certeza absoluta de que, em geral, se você transformar seus dados com o PCA mantendo a mesma dimensionalidade dos dados originais, terá uma melhor classificação com floresta aleatória
fonte