最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

機(jī)器學(xué)習(xí)的 XGBoost 算法簡介

2021-08-24 10:40 作者:python風(fēng)控模型  | 我要投稿

XGBoost 是一種最近在應(yīng)用機(jī)器學(xué)習(xí)和 Kaggle 結(jié)構(gòu)化或表格數(shù)據(jù)競賽中占據(jù)主導(dǎo)地位的算法。

XGBoost 是為速度和性能而設(shè)計(jì)的梯度提升決策樹的實(shí)現(xiàn)。

在這篇文章中,您將了解 XGBoost 并簡要介紹它是什么、它來自哪里以及如何了解更多信息。

看完這篇文章你會知道:

  • XGBoost 是什么以及項(xiàng)目的目標(biāo)。

  • 為什么 XGBoost 必須成為您的機(jī)器學(xué)習(xí)工具包的一部分。

  • 您可以在這里了解更多信息,以便在您的下一個(gè)機(jī)器學(xué)習(xí)項(xiàng)目中開始使用 XGBoost。


什么是 XGBoost?


——陳天啟在 Quora,回答“?R gbm(梯度提升機(jī))和xgboost(極限梯度提升)有什么區(qū)別?” 時(shí)解釋道:“

XGBoost全稱是eXtreme?Gradient?Boosting

不過,xgboost 這個(gè)名字實(shí)際上是指推動提升樹算法計(jì)算資源極限的工程目標(biāo)。這就是許多人使用 xgboost 的原因。”


XGBoost是由陳天奇創(chuàng)建的梯度提升機(jī)的實(shí)現(xiàn),現(xiàn)在有許多開發(fā)人員的貢獻(xiàn)。它屬于分布式機(jī)器學(xué)習(xí)社區(qū)或DMLC保護(hù)下的更廣泛的工具集合,他們也是流行的mxnet 深度學(xué)習(xí)庫的創(chuàng)建者。

陳天啟在 XGBoost進(jìn)化背后的故事和教訓(xùn)一文中,提供了一個(gè)簡短而有趣的關(guān)于 XGBoost 創(chuàng)建的背景故事。

XGBoost 是一個(gè)軟件庫,您可以下載并安裝在您的機(jī)器上,然后從各種界面訪問。具體來說,XGBoost 支持以下主要接口:

  • 命令行界面 (CLI)。

  • C++(編寫庫的語言)。

  • Python 接口以及 scikit-learn 中的模型。

  • R 接口以及 caret 包中的模型。

  • Julia。

  • Java 和 JVM 語言(如 Scala)和平臺(如 Hadoop)。


XGBoost 功能

該庫專注于計(jì)算速度和模型性能,因此幾乎沒有多余的裝飾。盡管如此,它確實(shí)提供了許多高級功能。

模型特點(diǎn)

該模型的實(shí)現(xiàn)支持 scikit-learn 和 R 實(shí)現(xiàn)的功能,并添加了正則化等新功能。支持三種主要形式的梯度提升:

  • 梯度提升算法也稱為梯度提升機(jī),包括學(xué)習(xí)率。

  • 隨機(jī)梯度提升,在每個(gè)分割級別的行、列和列進(jìn)行子采樣。

  • 具有 L1 和 L2 正則化的正則化梯度提升。

系統(tǒng)特點(diǎn)

該庫提供了一個(gè)用于各種計(jì)算環(huán)境的系統(tǒng),尤其是:

  • 在訓(xùn)練期間使用所有 CPU 內(nèi)核并行化樹構(gòu)建。

  • 使用一組機(jī)器訓(xùn)練非常大的模型的分布式計(jì)算。

  • 不適合內(nèi)存的超大數(shù)據(jù)集的核外計(jì)算。

  • 緩存優(yōu)化數(shù)據(jù)結(jié)構(gòu)和算法以充分利用硬件。

算法特點(diǎn)

該算法的實(shí)現(xiàn)旨在提高計(jì)算時(shí)間和內(nèi)存資源的效率。設(shè)計(jì)目標(biāo)是充分利用可用資源來訓(xùn)練模型。一些關(guān)鍵的算法實(shí)現(xiàn)特性包括:

  • 具有自動處理缺失數(shù)據(jù)值的稀疏感知實(shí)現(xiàn)。

  • 支持樹構(gòu)建并行化的塊結(jié)構(gòu)。

  • 繼續(xù)訓(xùn)練,以便您可以在新數(shù)據(jù)上進(jìn)一步提升已經(jīng)擬合的模型。

XGBoost 是免費(fèi)的開源軟件,可在 Apache-2 許可下使用。


為什么要使用 XGBoost?

使用 XGBoost 的兩個(gè)理由也是項(xiàng)目的兩個(gè)目標(biāo):

  1. 執(zhí)行速度。

  2. 模型性能。

1. XGBoost 執(zhí)行速度

通常,XGBoost 速度很快。與梯度提升的其他實(shí)現(xiàn)相比,速度非???。

Szilard Pafka執(zhí)行了一些客觀的基準(zhǔn)測試,將 XGBoost 的性能與梯度提升和袋裝決策樹的其他實(shí)現(xiàn)進(jìn)行了比較。他于 2015 年 5 月在題為“基準(zhǔn)隨機(jī)森林實(shí)現(xiàn)”的博客文章中寫下了他的結(jié)果。

他還提供了 GitHub 上的所有代碼以及更廣泛的帶有硬數(shù)字的結(jié)果報(bào)告。

圖片


他的結(jié)果表明,XGBoost 幾乎總是比來自 R、Python Spark 和 H2O 的其他基準(zhǔn)實(shí)現(xiàn)更快。

從他的實(shí)驗(yàn)中,他評論道:

我還嘗試了 xgboost,這是一個(gè)流行的 boosting 庫,它也能夠構(gòu)建隨機(jī)森林。它速度快,內(nèi)存效率高,準(zhǔn)確度高

— Szilard Pafka,對隨機(jī)森林實(shí)現(xiàn)進(jìn)行基準(zhǔn)測試。


2. XGBoost 模型性能

XGBoost 在分類和回歸預(yù)測建模問題上主導(dǎo)結(jié)構(gòu)化或表格數(shù)據(jù)集。

證據(jù)是它是 Kaggle 競賽數(shù)據(jù)科學(xué)平臺上競賽獲勝者的首選算法。

例如,有一個(gè)不完整的一、二、三等獎獲獎名單,標(biāo)題為:??XGBoost: Machine Learning Challenge Winning Solutions。

為了使這一點(diǎn)更加具體,以下是 Kaggle 競賽獲勝者的一些有見地的引述:

作為越來越多的 Kaggle 比賽的獲勝者,XGBoost 再次向我們展示了它是一種出色的全能算法。

——拿督優(yōu)勝者訪談:第一名,瘋狂教授

如有疑問,請使用 xgboost。

—?Avito 優(yōu)勝者訪談:第一名,Owen Zhang

我喜歡表現(xiàn)良好的單個(gè)模型,我最好的單個(gè)模型是 XGBoost,它可以單獨(dú)獲得第 10 名。

—卡特彼勒獲獎?wù)咴L談:第一名

我只用過 XGBoost。

—?Liberty Mutual Property Inspection,優(yōu)勝者訪談:第一名,王清臣

我使用的唯一監(jiān)督學(xué)習(xí)方法是梯度提升,在優(yōu)秀的 xgboost 中實(shí)現(xiàn)。

—?Recruit Coupon Purchase 優(yōu)勝者訪談:第二名,Halla Yang


XGBoost 使用什么算法?

XGBoost 庫實(shí)現(xiàn)了梯度提升決策樹算法。

該算法有很多不同的名稱,例如梯度提升、多重加性回歸樹、隨機(jī)梯度提升或梯度提升機(jī)。

Boosting 是一種集成技術(shù),其中添加新模型以糾正現(xiàn)有模型所造成的錯誤。模型按順序添加,直到無法進(jìn)行進(jìn)一步改進(jìn)。一個(gè)流行的例子是AdaBoost 算法,它對難以預(yù)測的數(shù)據(jù)點(diǎn)進(jìn)行加權(quán)。

梯度提升是一種創(chuàng)建新模型的方法,用于預(yù)測先前模型的殘差或誤差,然后將它們相加以進(jìn)行最終預(yù)測。之所以稱為梯度提升,是因?yàn)樗褂锰荻认陆邓惴▉碜钚』砑有履P蜁r(shí)的損失。

xgboost支持回歸和分類預(yù)測建模問題。


官方 XGBoost 資源

XGBoost 的最佳信息來源是該項(xiàng)目的官方 GitHub 庫。

https://github.com/dmlc/xgboost

圖片


還有一個(gè)官方文檔頁面,其中包括一系列不同語言的入門指南、教程、操作指南等。

有一些關(guān)于 XGBoost 的更正式的論文值得一讀,以了解有關(guān)該庫的更多背景信息:

  • 使用 Boosted Trees 發(fā)現(xiàn)希格斯玻色子,2014 年。

    http://proceedings.mlr.press/v42/chen14.pdf

  • XGBoost:可擴(kuò)展的樹提升系統(tǒng),2016 年。

    https://arxiv.org/abs/1603.02754

xgboost就為大家介紹到這里了,歡迎各位同學(xué)報(bào)名<python風(fēng)控建模實(shí)戰(zhàn)lendingclub>,學(xué)習(xí)更多集成樹算法相關(guān)知識

版權(quán)聲明:文章來自公眾號(python風(fēng)控模型),未經(jīng)許可,不得抄襲。遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。

? ? ? ? ? ? ? ? ? ? ? ? ? ??


機(jī)器學(xué)習(xí)的 XGBoost 算法簡介的評論 (共 條)

分享到微博請遵守國家法律
东台市| 开平市| 忻州市| 盘山县| 嘉善县| 筠连县| 许昌县| 益阳市| 罗源县| 平乐县| 郯城县| 达日县| 临洮县| 阿坝县| 眉山市| 江陵县| 逊克县| 景德镇市| 尚义县| 广河县| 嘉义市| 九寨沟县| 罗定市| 金寨县| 大田县| 巢湖市| 郧西县| 台南县| 茶陵县| 海兴县| 米易县| 喀喇沁旗| 连山| 涪陵区| 闵行区| 平陆县| 乌拉特前旗| 师宗县| 安吉县| 彭泽县| 通化县|