XGBoost é uma biblioteca de software de código aberto que fornece um framework de "gradient boosting" para C++, Java, Python, R e Julia, Perl, e Scala. Ele funciona em Linux, Windows, e macOS. 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.
História XGBoost inicialmente começou como um projeto de pesquisa de Tianqi Chen 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.
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 e XGBoost4J. O XGBoost também está disponível em OpenCL para FPGAs. Uma implementação eficiente e escalável do XGBoost foi publicada por Tianqi Chen e Carlos Guestrin.
Funcionalidades Entre os recursos importantes XGBoost que o tornam diferente de outros algoritmos de reforço de gradiente estão os seguintes:
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
John Chambers Prêmio (2016) Física de altas Energias atende Aprendizado de Máquina prêmio (HEP atende ML) (2016)
Referências
Categoria:Software de 2014