Xgboost

Origem: Wikipédia, a enciclopédia livre.


XGBoost
Logótipo
Xgboost
Desenvolvedor Colaboradores do XGBoost
Plataforma Multiplataforma
Lançamento 27 de março de 2014 (10 anos)
Versão estável 1.1.1[1] (7 de julho de 2019; há 4 anos)
Sistema operacional Linux, macOS, Windows
Gênero(s) Aprendizado de máquina
Licença Apache License 2.0
Página oficial xgboost.ai

XGBoost[2] é uma biblioteca de software de código aberto que fornece um framework de "gradient boosting" para C++, Java, Python,[3] R[4] e Julia,[5] Perl,[6] e Scala. Ele funciona em Linux, Windows,[7] e macOS.[8] De acordo com a descrição do projeto, seu ele visa proporcionar uma "biblioteca de reforço de gradiente escalável, portátil e distribuída (GBM, GBRT, GBDT)". Ele é executado em uma única máquina, bem como nos frameworks de processamento distribuído Apache Hadoop, Apache Spark e Apache Flink. Ele ganhou muita popularidade e a atenção recentemente como o algoritmo de escolha para muitas equipes vencedoras de competições de aprendizagem de máquina.[9]

História[editar | editar código-fonte]

XGBoost inicialmente começou como um projeto de pesquisa de Tianqi Chen[10] como parte da Comunidade de Aprendizado de Máquina Distribuída (DMLC). Inicialmente, ele começou como um aplicativo de terminal que podia ser configurado usando um arquivo de configuração libsvm. Tornou-se bem conhecido nos círculos de competições de aprendizagem de máquina depois de ser usado na solução vencedora do desafio Higgs de Aprendizado de Máquina. Logo depois, foram construídos os pacotes Python e R, e agora XGBoost tem implementações de pacotes para Java, Scala, Julia, Perl, entre outras linguagens. Isso levou a biblioteca a mais desenvolvedores e contribuiu para a sua popularidade na comunidade Kaggle, onde ele tem sido utilizado para um grande número de competições.[9]

Logo ele foi integrado a vários outros pacotes, tornando mais fácil usá-lo nas respectivas comunidades. Agora ele já foi integrado com o scikit-learn para usuários Python, e também com o pacote caret para usuários de R. Também pode ser integrado a frameworks de Fluxo de Dados como o Apache Spark, o Apache Hadoop, e o Apache Flink usando as abstrações Rabit[11] e XGBoost4J.[12] O XGBoost também está disponível em OpenCL para FPGAs.[13] Uma implementação eficiente e escalável do XGBoost foi publicada por Tianqi Chen e Carlos Guestrin.[14]

Funcionalidades[editar | editar código-fonte]

Entre os recursos importantes XGBoost que o tornam diferente de outros algoritmos de reforço de gradiente estão os seguintes:[15][16][17]

Prêmios[editar | editar código-fonte]

  • John Chambers Prêmio (2016)[18]
  • Física de altas Energias atende Aprendizado de Máquina prêmio (HEP atende ML) (2016)[19]

Referências[editar | editar código-fonte]

  1. «Release 1.1.1 Patch Release · dmlc/xgboost». GitHub (em inglês). Consultado em 8 de agosto de 2020 
  2. «Página do projeto no GitHub» 
  3. «Python Package Index PYPI: xgboost». Consultado em 1 de agosto de 2016 
  4. «CRAN package xgboost». Consultado em 1 de agosto de 2016 
  5. «Julia package listing xgboost». Consultado em 1 de agosto de 2016 
  6. «CPAN module AI::XGBoost». Consultado em 9 de fevereiro de 2020 
  7. «Installing XGBoost for Anaconda in Windows». Consultado em 1 de agosto de 2016 
  8. «Installing XGBoost on Mac OSX». Consultado em 1 de agosto de 2016 
  9. a b «XGBoost - ML winning solutions (incomplete list)». Consultado em 1 de agosto de 2016 
  10. «Story and Lessons behind the evolution of XGBoost». Consultado em 1 de agosto de 2016 
  11. «Rabit - Reliable Allreduce and Broadcast Interface» 
  12. «XGBoost4J». Consultado em 1 de agosto de 2016 
  13. «XGBoost em FPGAs». Consultado em 1 de agosto de 2019 
  14. Chen, Tianqi; Guestrin, Carlos (2016). «XGBoost: A Scalable Tree Boosting System». In: Krishnapuram, Balaji; Shah, Mohak; Smola, Alexander J.; Aggarwal, Charu C.; Shen, Dou; Rastogi, Rajeev. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, San Francisco, CA, USA, August 13-17, 2016. ACM. pp. 785–794. arXiv:1603.02754Acessível livremente. doi:10.1145/2939672.2939785 
  15. Gandhi, Rohith (24 de maio de 2019). «Gradient Boosting and XGBoost». Medium (em inglês). Consultado em 4 de janeiro de 2020 
  16. «Boosting algorithm: XGBoost». Towards Data Science (em inglês). 14 de maio de 2017. Consultado em 4 de janeiro de 2020 
  17. «Tree Boosting With XGBoost – Why Does XGBoost Win "Every" Machine Learning Competition?». Synced (em inglês). 22 de outubro de 2017. Consultado em 4 de janeiro de 2020 
  18. «John Chambers Award Previous Winners» 
  19. «HEP meets ML Award»