在公眾號「python風控模型」回復關鍵字:學習資料,免費領取學習資料。
XGBoost 是一種最近在應用機器學習和 Kaggle 結構化或表格數據競賽中佔據主導地位的算法。
XGBoost 是為速度和性能而設計的梯度提升決策樹的實現。
在這篇文章中,您將了解 XGBoost 並簡要介紹它是什麼、它來自哪裡以及如何了解更多信息。
看完這篇文章你會知道:
——陳天啟在 Quora,回答「 R gbm(梯度提升機)和xgboost(極限梯度提升)有什麼區別?」 時解釋道:「
XGBoost全稱是eXtreme Gradient Boosting
不過,xgboost 這個名字實際上是指推動提升樹算法計算資源極限的工程目標。這就是許多人使用 xgboost 的原因。」
XGBoost是由陳天奇創建的梯度提升機的實現,現在有許多開發人員的貢獻。它屬於分布式機器學習社區或DMLC保護下的更廣泛的工具集合,他們也是流行的mxnet 深度學習庫的創建者。
陳天啟在 XGBoost進化背後的故事和教訓一文中,提供了一個簡短而有趣的關於 XGBoost 創建的背景故事。
XGBoost 是一個軟體庫,您可以下載並安裝在您的機器上,然後從各種界面訪問。具體來說,XGBoost 支持以下主要接口:
該庫專注於計算速度和模型性能,因此幾乎沒有多餘的裝飾。儘管如此,它確實提供了許多高級功能。
模型特點該模型的實現支持 scikit-learn 和 R 實現的功能,並添加了正則化等新功能。支持三種主要形式的梯度提升:
系統特點該庫提供了一個用於各種計算環境的系統,尤其是:
在訓練期間使用所有 CPU 內核並行化樹構建。
使用一組機器訓練非常大的模型的分布式計算。
不適合內存的超大數據集的核外計算。
緩存優化數據結構和算法以充分利用硬體。
算法特點該算法的實現旨在提高計算時間和內存資源的效率。設計目標是充分利用可用資源來訓練模型。一些關鍵的算法實現特性包括:
XGBoost 是免費的開源軟體,可在 Apache-2 許可下使用。
為什麼要使用 XGBoost?使用 XGBoost 的兩個理由也是項目的兩個目標:
執行速度。
模型性能。
1. XGBoost 執行速度通常,XGBoost 速度很快。與梯度提升的其他實現相比,速度非常快。
Szilard Pafka執行了一些客觀的基準測試,將 XGBoost 的性能與梯度提升和袋裝決策樹的其他實現進行了比較。他於 2015 年 5 月在題為「基準隨機森林實現」的博客文章中寫下了他的結果。
他還提供了 GitHub 上的所有代碼以及更廣泛的帶有硬數字的結果報告。
他的結果表明,XGBoost 幾乎總是比來自 R、Python Spark 和 H2O 的其他基準實現更快。
從他的實驗中,他評論道:
我還嘗試了 xgboost,這是一個流行的 boosting 庫,它也能夠構建隨機森林。它速度快,內存效率高,準確度高
— Szilard Pafka,對隨機森林實現進行基準測試。
2. XGBoost 模型性能XGBoost 在分類和回歸預測建模問題上主導結構化或表格數據集。
證據是它是 Kaggle 競賽數據科學平臺上競賽獲勝者的首選算法。
例如,有一個不完整的一、二、三等獎獲獎名單,標題為: XGBoost: Machine Learning Challenge Winning Solutions。
為了使這一點更加具體,以下是 Kaggle 競賽獲勝者的一些有見地的引述:
作為越來越多的 Kaggle 比賽的獲勝者,XGBoost 再次向我們展示了它是一種出色的全能算法。
——拿督優勝者訪談:第一名,瘋狂教授
如有疑問,請使用 xgboost。
— Avito 優勝者訪談:第一名,Owen Zhang
我喜歡表現良好的單個模型,我最好的單個模型是 XGBoost,它可以單獨獲得第 10 名。
—卡特彼勒獲獎者訪談:第一名
我只用過 XGBoost。
— Liberty Mutual Property Inspection,優勝者訪談:第一名,王清臣
我使用的唯一監督學習方法是梯度提升,在優秀的 xgboost 中實現。
— Recruit Coupon Purchase 優勝者訪談:第二名,Halla Yang
XGBoost 使用什麼算法?XGBoost 庫實現了梯度提升決策樹算法。
該算法有很多不同的名稱,例如梯度提升、多重加性回歸樹、隨機梯度提升或梯度提升機。
Boosting 是一種集成技術,其中添加新模型以糾正現有模型所造成的錯誤。模型按順序添加,直到無法進行進一步改進。一個流行的例子是AdaBoost 算法,它對難以預測的數據點進行加權。
梯度提升是一種創建新模型的方法,用於預測先前模型的殘差或誤差,然後將它們相加以進行最終預測。之所以稱為梯度提升,是因為它使用梯度下降算法來最小化添加新模型時的損失。
xgboost支持回歸和分類預測建模問題。
官方 XGBoost 資源XGBoost 的最佳信息來源是該項目的官方 GitHub 庫。
https://github.com/dmlc/xgboost
還有一個官方文檔頁面,其中包括一系列不同語言的入門指南、教程、操作指南等。
有一些關於 XGBoost 的更正式的論文值得一讀,以了解有關該庫的更多背景信息:
使用 Boosted Trees 發現希格斯玻色子,2014 年。
http://proceedings.mlr.press/v42/chen14.pdf
XGBoost:可擴展的樹提升系統,2016 年。
https://arxiv.org/abs/1603.02754
xgboost就為大家介紹到這裡了,歡迎各位同學報名<python風控建模實戰lendingclub>,學習更多集成樹算法相關知識
(微信二維碼掃一掃報名)