Xgboost: É necessário se livrar de recursos inúteis na tarefa de classificação no xgboost?

Criado em 14 mar. 2017  ·  3Comentários  ·  Fonte: dmlc/xgboost

Tenho mais de 650 recursos e uso o xgboost para classificar a importância desses recursos. A função é get_score () que retorna a ocorrência de recursos ao construir árvores.

Quando eu verifico o resultado, há quase 150 recursos cuja pontuação está abaixo de 20. alguns deles é zero. Eu me livrei desses recursos e vejo se o modelo terá um melhor desempenho. Mas o resultado é quase o mesmo com o anterior. Então, é necessário se livrar desses recursos que não são importantes?

No resultado do experimento, a nova ordem de importância dos recursos não é como a ordem anterior. Alguns não eram tão importantes que se tornaram importantes. Quero dizer, a ordem de importância do recurso não é estável. Por que não está estável?

Comentários muito úteis

Na maioria dos algoritmos de aprendizado de máquina, é importante fazer seleções de recursos para evitar o sobreajuste.

No boosting, e especialmente no xgboost, o treinamento é feito de modo que você generalize o máximo possível (aluno fraco, aproximação de Taylor, aprendizado estocástico, ...) o que o torna robusto para superajuste (dito isto, você pode super- cabe se você realmente quiser :) -> alto número de iterações, alta taxa de aprendizagem, sem aprendizagem estocástica ...). Para responder às suas perguntas, livrar-se de recursos irrelevantes pode ter uma importância em um ponto. Digamos que você tenha valores discrepantes, você pode começar a usar esses recursos irrelevantes para classificar os valores discrepantes durante o processo de aprendizagem e isso não é bom.

Para a sua segunda pergunta, não há apenas uma maneira de combinar os alunos fracos para obter bons resultados. entretanto, para obter diferentes combinações (e diferentes importâncias de recursos), você deve usar alguma aleatoriedade durante o processo de treinamento, como subamostra, max_features ... Outra possibilidade é que você tenha recursos redundantes. Você deve verificar a correlação entre eles.

Em resumo, se você sabe que um recurso é inútil: remova-o. Se você não sabe, diga a eles, é sempre bom remover recursos irrelevantes, pois isso tornará o treinamento do seu modelo mais lento.

Todos 3 comentários

Na maioria dos algoritmos de aprendizado de máquina, é importante fazer seleções de recursos para evitar o sobreajuste.

No boosting, e especialmente no xgboost, o treinamento é feito de modo que você generalize o máximo possível (aluno fraco, aproximação de Taylor, aprendizado estocástico, ...) o que o torna robusto para superajuste (dito isto, você pode super- cabe se você realmente quiser :) -> alto número de iterações, alta taxa de aprendizagem, sem aprendizagem estocástica ...). Para responder às suas perguntas, livrar-se de recursos irrelevantes pode ter uma importância em um ponto. Digamos que você tenha valores discrepantes, você pode começar a usar esses recursos irrelevantes para classificar os valores discrepantes durante o processo de aprendizagem e isso não é bom.

Para a sua segunda pergunta, não há apenas uma maneira de combinar os alunos fracos para obter bons resultados. entretanto, para obter diferentes combinações (e diferentes importâncias de recursos), você deve usar alguma aleatoriedade durante o processo de treinamento, como subamostra, max_features ... Outra possibilidade é que você tenha recursos redundantes. Você deve verificar a correlação entre eles.

Em resumo, se você sabe que um recurso é inútil: remova-o. Se você não sabe, diga a eles, é sempre bom remover recursos irrelevantes, pois isso tornará o treinamento do seu modelo mais lento.

obrigado. Removi quase 150 recursos que não são importantes. Mas o auc do novo experimento não é alterado. Portanto, não encontrei nenhum benefício em removê-los.

O benefício, se não melhorar a medida de desempenho, será o tempo de treinamento. As árvores de decisão usam uma abordagem gananciosa para encontrar a melhor divisão, portanto, mais recursos = mais divisões para tentar.

Esta página foi útil?
0 / 5 - 0 avaliações