Xgboost
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 ) |
Sistema operacional | Linux, macOS, Windows |
Gênero(s) | Aprendizado de máquina |
Licença | Apache License 2.0 |
Página oficial | xgboost |
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]
- Penalização inteligente de árvores
- Uma redução proporcional dos nós folha
- Reforço de Newton
- Parâmetro extra para aleatorização
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]- ↑ «Release 1.1.1 Patch Release · dmlc/xgboost». GitHub (em inglês). Consultado em 8 de agosto de 2020
- ↑ «Página do projeto no GitHub»
- ↑ «Python Package Index PYPI: xgboost». Consultado em 1 de agosto de 2016
- ↑ «CRAN package xgboost». Consultado em 1 de agosto de 2016
- ↑ «Julia package listing xgboost». Consultado em 1 de agosto de 2016
- ↑ «CPAN module AI::XGBoost». Consultado em 9 de fevereiro de 2020
- ↑ «Installing XGBoost for Anaconda in Windows». Consultado em 1 de agosto de 2016
- ↑ «Installing XGBoost on Mac OSX». Consultado em 1 de agosto de 2016
- ↑ a b «XGBoost - ML winning solutions (incomplete list)». Consultado em 1 de agosto de 2016
- ↑ «Story and Lessons behind the evolution of XGBoost». Consultado em 1 de agosto de 2016
- ↑ «Rabit - Reliable Allreduce and Broadcast Interface»
- ↑ «XGBoost4J». Consultado em 1 de agosto de 2016
- ↑ «XGBoost em FPGAs». Consultado em 1 de agosto de 2019
- ↑ 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.02754
. doi:10.1145/2939672.2939785
- ↑ Gandhi, Rohith (24 de maio de 2019). «Gradient Boosting and XGBoost». Medium (em inglês). Consultado em 4 de janeiro de 2020
- ↑ «Boosting algorithm: XGBoost». Towards Data Science (em inglês). 14 de maio de 2017. Consultado em 4 de janeiro de 2020
- ↑ «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
- ↑ «John Chambers Award Previous Winners»
- ↑ «HEP meets ML Award»