ComputingComputer ScienceData ScienceBig Data AnalyticsData MiningMachine LearningCachingCaching StrategiesData CompressionDecision TreesMemory Hierarchy OptimizationScalable Machine LearningBoostingCache Access PatternsGradient BoostingMemory Access PatternsSparsity ConstraintsXgboost
Tree boosting is a highly effective and widely used machine learning method. In this paper, we describe a scalable end-to-end tree boosting system called XGBoost, which is used widely by data scientists to achieve state-of-the-art results on many machine learning challenges. We propose a novel sparsity-aware algorithm for sparse data and weighted quantile sketch for approximate tree learning. More importantly, we provide insights on cache access patterns, data compression and sharding to build a scalable tree boosting system. By combining these insights, XGBoost scales beyond billions of examples using far fewer resources than existing systems.
15
Leo Breiman · Machine Learning · 2001 · 126.2K citations · Full text
Greedy function approximation: A gradient boosting machine.
Jerome H. Friedman · The Annals of Statistics · 2001 · 29K citations · Full text
Scikit-learn: Machine Learning in Python
PedregosaFabian, VaroquauxGaël, GramfortAlexandre et al. · Journal of Machine Learning Research · 2011 · 8.2K citations
Jerome H. Friedman · Computational Statistics & Data Analysis · 2002 · 7.1K citations