Novos padrões do xgboost | R-bloggers

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


[Esteartigofoipublicadopelaprimeiravezem[Thisarticlewasfirstpublishedon Philipp Probst, e gentilmente contribuiu para os R-blogueiros]. (Você pode relatar um problema sobre o conteúdo desta página aqui)


Deseja compartilhar seu conteúdo com R-blogueiros? clique aqui se você tiver um blog ou aqui se não tiver.

xgboost é o pacote R mais famoso para aumentar o gradiente e está no mercado há muito tempo.
Em uma das minhas publicações, criei uma estrutura para fornecer padrões (e medidas de ajuste)
e um dos pacotes que eu usei lá foi xgboost. Os resultados forneceram um padrão com
o parâmetro nrounds= 4168, o que leva a longos tempos de execução.

Por isso, eu queria usar os dados usados ​​no artigo para definir nrounds para 500 e otimizar o outro
parâmetros para obter padrões ideais.

Usei o mesmo método mencionado no artigo com os 38 conjuntos de dados de classificação e obtive os seguintes padrões (arredondados):

nrounds —Eta –Subsample –Booster -profundidade máxima –Min_child_weight
500 0,052 0,87 gbtree 11 1,75
–Colsample_bytree –Colsample_bylevel
0,71 0,64

Desempenho em 29 conjuntos de dados de regressão

Agora eu queria saber o desempenho desses padrões em outras tarefas. Então, eu fiz uma coleção de 29 tarefas de regressão de diferentes
coletados de diferentes fontes, como o OpenML, e comparamos meus
padrões contra os padrões de xgboost com nrounds= 500. O código pode ser visto aqui

Os resultados não foram realmente impressionantes. Aqui você pode ver gráficos de desempenho para duas medidas diferentes (R-Squared e Spearman’s Rho)
usando CV 5 vezes:

gráfico

gráfico

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

É visível que meus padrões têm um desempenho melhor do que os padrões do pacote na maioria dos casos em relação a R $ ^ 2 $ e também em relação a
Rho de Spearman (uma medida não paramétrica).

Leia Também  Modelos de previsão de tendências e sazonalidade com séries temporais

Os valores médios podem ser vistos na tabela a seguir:

–Xgboost_old_default –Xgboost_my_default
R-quadrado 0,614 0,645
Spearman Rho 0,775 0,780

A porcentagem de conjuntos de dados em que meus novos padrões são melhores que os antigos é de 66% para R $ ^ 2 $ e 62% para o Rho de Spearman.

Portanto, apesar de todos os meus novos padrões, não há um ganho de desempenho muito grande (em média 0,03 ou R $ ^ 2 $), mas parece ser melhor
que os padrões do pacote.

No meu artigo, pude obter uma melhoria média de 0,029 na AUC
para os conjuntos de dados de classificação com meus padrões. Também não é uma diferença muito grande, então isso não é muito surpreendente.

Tempo de execução

O tempo de execução foi um pouco mais longo com meus padrões, mas não muito mais. Você pode ver o tempo de execução abaixo:

gráfico

Todos os conjuntos de dados que eu usei eram bastante pequenos, portanto, conjuntos de dados maiores forneceriam resultados mais interessantes.

Trabalho adicional

Na minha próxima entrada no blog, falarei um pouco sobre catboost e lightGBM.
Especialmente o primeiro promete fornecer desempenhos padrão muito melhores do que xgboost e vou comparar com a floresta aleatória
implementação guarda e a implementação da máquina de vetores de suporte liquidSVM em seu estado padrão.



Se você chegou até aqui, por que não inscreva-se para atualizações do site? Escolha seu sabor: e-mail, Twitter, RSS ou facebook …



cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br