XGBoost[1] é uma biblioteca de software de código aberto que fornece "gradient boosting" para C++, Java, Python[2], R[3] e Julia[4]. Ele funciona em Linux, Windows[5], e macOS[6]. O projeto visa proporcionar uma "Biblioteca eficiente, flexível e portátil de Gradiente de Reforço (GBM, GBRT, GBDT)". Além de executado em uma única máquina, ele também oferece suporte a processamento distribuído com frameworks Apache Hadoop, Apache Spark, e Apache Flink. Ele ganhou muita popularidade e a atenção recentemente pois foi o algoritmo de escolha para muitas equipes vencedoras de um número de competições de aprendizagem de máquina.[7]

Xgboost

HistóriaEditar

XGBoost inicialmente começou como um projeto de pesquisa por Tianqi Chen[8] como parte da Comunidade de Aprendizado de Máquina Distribuída (DMLC). Inicialmente, ele começou como um aplicativo de terminal que pode ser configurado usando um arquivo de configuração libsvm. Depois de vencer desafio Higgs de Aprendizado de Máquina, tornou-se bem conhecido no círculo ML. Logo depois, os pacotes Python e R foram construídas e agora tem pacotes para muitos outros idiomas, como Julia, Scala, Java, etc. Isso trouxe mais desenvolvedores a biblioteca, e se tornou popular entre a comunidade Kaggle onde ele tem sido utilizado para um grande número de competições.

Logo, tornou-se usado com vários outros pacotes, tornando mais fácil para usar nas respectivas comunidades. Ele agora tem integrações com scikit-learn para usuários Python, e também o pacote para R. Também pode ser integrado no Fluxo de Dados de frameworks como o Apache Spark, o Apache Hadoop, e o Apache Flink usando as abstrações Rabit[9] e XGBoost4J.[10] O trabalho de XGBoost também foi publicado por Tianqi Chen e Carlos Guestrin.[11]

PrémiosEditar

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

ReferênciasEditar