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

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

Scikit-Learn -集成學(xué)習(xí):boosting(3萬字詳解)

2022-03-15 09:58 作者:python風(fēng)控模型  | 我要投稿

在公眾號(hào)「python風(fēng)控模型」里回復(fù)關(guān)鍵字:學(xué)習(xí)資料?

QQ學(xué)習(xí)群:1026993837 領(lǐng)學(xué)習(xí)資料? ? ? ? ? ??

圖片


目錄?

  • 介紹

  • GradientBoostingRegressor

  • GradientBossting分類器

  • AdaBoost 回歸器

  • AdaBoost分類器

  • 參考



介紹?

Boosting 是一種集成學(xué)習(xí),我們按順序訓(xùn)練估計(jì)器,而不是并行訓(xùn)練所有估計(jì)器。我們嘗試創(chuàng)建一些快速簡單(弱但比隨機(jī)猜測更好)的模型,然后結(jié)合所有弱估計(jì)器的結(jié)果來做出最終預(yù)測。我們已經(jīng)在bagging & random forests教程中討論了另一種集成學(xué)習(xí)方法。如果您想了解它,請隨時(shí)瀏覽它。


Scikit-learn 為分類和回歸問題提供了兩種不同的增強(qiáng)算法:

  • 梯度樹提升(梯度提升決策樹)?- 它迭代地構(gòu)建學(xué)習(xí)器,弱學(xué)習(xí)器在預(yù)測錯(cuò)誤的樣本錯(cuò)誤上進(jìn)行訓(xùn)練。它最初從一個(gè)學(xué)習(xí)者開始,然后迭代地添加學(xué)習(xí)者。它試圖通過迭代地添加新樹來最小化損失。它使用決策樹是弱估計(jì)器。Scikit-learn 提供了兩個(gè)類,用于實(shí)現(xiàn)Gradient Tree Boosting分類和回歸問題。


    • 梯度提升分類器GradientBoostingClassifier

    • 梯度提升回歸器GradientBoostingRegressor


  • Adaptive Boost?- 它在修改后的數(shù)據(jù)上迭代地?cái)M合弱估計(jì)器列表。然后它根據(jù)加權(quán)投票組合所有估計(jì)器的結(jié)果以生成最終結(jié)果。在每次迭代中,將高權(quán)重分配給在前一次迭代中預(yù)測錯(cuò)誤的樣本,并為那些在前一次迭代中預(yù)測正確的樣本減少權(quán)重。這使模型能夠?qū)W⒂诔鲥e(cuò)的樣本。最初,所有樣本都被分配相同的權(quán)重(1/ n_samples)。它讓我們指定用于該過程的估計(jì)器。Scikit-learn 提供了兩個(gè)類,用于實(shí)現(xiàn)Adaptive Boosting分類和回歸問題。


    • AdaBoost分類器

    • AdaBoost 回歸器

這結(jié)束了我們對 Boosting 過程的簡短介紹。我們現(xiàn)在將從編碼部分開始。


我們將從導(dǎo)入必要的庫開始。


加載數(shù)據(jù)集?

為了我們的目的,我們將加載下面提到的兩個(gè)。

  • 數(shù)字?jǐn)?shù)據(jù)集:我們將使用具有數(shù)字大小圖像的數(shù)字?jǐn)?shù)據(jù)8x80-9。我們將在下面的分類任務(wù)中使用數(shù)字?jǐn)?shù)據(jù)。

  • 波士頓住房數(shù)據(jù)集:我們將使用波士頓住房數(shù)據(jù)集,其中包含有關(guān)各種房屋屬性的信息,例如平均房間數(shù)量、城鎮(zhèn)人均犯罪率等。我們將使用它進(jìn)行回歸任務(wù)。


Sklearn 提供這兩個(gè)數(shù)據(jù)集作為datasets模塊的一部分。我們可以通過調(diào)用load_digits()load_boston()方法來加載它們。它返回類似字典的對象BUNCH,可用于檢索特征和目標(biāo)。


GradientBoostingRegressor?

GradientBoostingRegressor??作為ensemblesklearn 模塊的一部分使用。我們將使用波士頓住房數(shù)據(jù)訓(xùn)練默認(rèn)模型,然后通過嘗試各種超參數(shù)設(shè)置來調(diào)整模型以提高其性能。我們還將它與其他回歸估計(jì)器進(jìn)行比較,以檢查其相對于其他機(jī)器學(xué)習(xí)模型的性能。


GradientBoostingRegressor的重要屬性

以下是一些重要屬性,GradientBoostingRegressor一旦模型經(jīng)過訓(xùn)練,這些屬性就可以提供重要信息。

  • feature_importances_- 它返回一個(gè)浮點(diǎn)數(shù)組,表示數(shù)據(jù)集中每個(gè)特征的重要性。

  • estimators_- 它返回訓(xùn)練有素的估計(jì)器。

  • oob_improvement_- 它返回大小數(shù)組 (n_estimators,)。數(shù)組中的每個(gè)值都表示袋外樣本相對于前一次迭代的損失有所改善。

  • loss_- 它返回?fù)p失函數(shù)作為對象。


通過對各種超參數(shù)進(jìn)行網(wǎng)格搜索來微調(diào)模型?

以下是需要調(diào)整以獲得最適合我們數(shù)據(jù)的常見超參數(shù)列表。我們將嘗試對訓(xùn)練/測試數(shù)據(jù)的各種拆分進(jìn)行各種超參數(shù)設(shè)置,以找出最佳擬合,這對于訓(xùn)練和測試數(shù)據(jù)集具有幾乎相同的精度,或者在精度之間的差異非常小。

  • learning_rate?- 它縮小了每棵樹的貢獻(xiàn)。learning_rate 和 n_estimatros 之間存在權(quán)衡。

  • n_estimators?- 其結(jié)果將被組合以產(chǎn)生最終預(yù)測的基本估計(jì)器的數(shù)量。?default=100

  • max_depth?- 單個(gè)樹的最大深度。我們需要找到最佳價(jià)值。default=3

  • min_samples_split?- 拆分內(nèi)部節(jié)點(diǎn)所需的樣本數(shù)。它接受int(0-n_samples),float(0.0-0.5]值。Float 采用 ceil(min_samples_split * n_samples) 特征。default=2

  • min_samples_leaf?- 葉節(jié)點(diǎn)所需的最小樣本數(shù)。它接受int(0-n_samples),float(0.0-0.5]值。Float 采用 ceil(min_samples_leaf * n_samples) 特征。default=1

  • 標(biāo)準(zhǔn)- 我們算法試圖最小化的成本函數(shù)。目前它支持 mse(均方誤差)和 mae(平均絕對誤差)。default=friedman_mse

  • max_features?- 進(jìn)行拆分時(shí)要考慮的特征數(shù)。它接受int(0-n_features),?float(0.0-0.5],string(sqrt, log2, auto) or None作為值。default=None

    • None?- 如果提供 None,則 n_features 用作值。

    • sqrt?- sqrt(n_features) 特征用于分割。

    • auto?- sqrt(n_features) 特征用于分割。

    • log2?- log2(n_features) 特征用于分割。


  • validation_fraction?- 它是指用于早期停止驗(yàn)證的訓(xùn)練數(shù)據(jù)的比例。它接受float(0.0,1.0)?default=0.1

我們將在下面嘗試上述超參數(shù)的各種值,通過對數(shù)據(jù)進(jìn)行 3 折交叉驗(yàn)證來找到我們數(shù)據(jù)集的最佳估計(jì)器。






輸出前幾個(gè)交叉驗(yàn)證結(jié)果?

圖片

比較梯度提升與 Bagging、隨機(jī)森林、額外樹、決策樹和額外樹的性能



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

GradientBossting分類器

GradientBosstingClassifier??作為ensemblesklearn 模塊的一部分使用。我們將使用數(shù)字?jǐn)?shù)據(jù)訓(xùn)練默認(rèn)模型,然后通過嘗試各種超參數(shù)設(shè)置來調(diào)整模型以提高其性能。我們還將它與其他分類估計(jì)器進(jìn)行比較,以檢查其相對于其他機(jī)器學(xué)習(xí)模型的性能。




GradientBoostingClassifier重要屬性

GradientBoostingClassifier具有與 相同的屬性集GradientBoostingRegressor。








通過對各種超參數(shù)進(jìn)行網(wǎng)格搜索來微調(diào)模型?

GradientBoostingClassifier幾乎所有參數(shù)都與GradientBoostingRegressor






輸出前幾個(gè)交叉驗(yàn)證結(jié)果?


圖片


比較梯度提升與 Bagging、隨機(jī)森林、額外樹、決策樹和額外樹的性能?




AdaBoost 回歸器?

AdaBoostRegressor??作為ensemblesklearn 模塊的一部分使用。我們將使用波士頓住房數(shù)據(jù)訓(xùn)練默認(rèn)模型,然后通過嘗試各種超參數(shù)設(shè)置來調(diào)整模型以提高其性能。我們還將它與其他回歸估計(jì)器進(jìn)行比較,以檢查其相對于其他機(jī)器學(xué)習(xí)模型的性能。





AdaBoostRegressor的重要屬性

以下是一些重要屬性,AdaBoostRegressor一旦模型經(jīng)過訓(xùn)練,這些屬性就可以提供重要信息。

  • base_estimator_- 它返回基估計(jì)器,從中創(chuàng)建由弱估計(jì)器組成的整個(gè)強(qiáng)估計(jì)器。

  • feature_importances_- 它返回一個(gè)浮點(diǎn)數(shù)組,表示數(shù)據(jù)集中每個(gè)特征的重要性。

  • estimators_- 它返回訓(xùn)練有素的估計(jì)器。








通過對各種超參數(shù)進(jìn)行網(wǎng)格搜索來微調(diào)模型?

以下是需要調(diào)整以最適合我們的數(shù)據(jù)的常見超參數(shù)列表。我們將對訓(xùn)練/測試數(shù)據(jù)的各種拆分嘗試各種超參數(shù)設(shè)置,以找出最佳擬合,這對于訓(xùn)練和測試數(shù)據(jù)集具有幾乎相同的準(zhǔn)確度,或者準(zhǔn)確度之間的差異非常小。

  • base_estimator?- 它讓我們指定將創(chuàng)建集成的基本估計(jì)器。它可以是任何其他機(jī)器學(xué)習(xí)估計(jì)器,例如 KNearestNeighbors、DecisionTree 等。默認(rèn)是最大深度為 3 的決策樹。

  • learning_rate?- 它縮小了每棵樹的貢獻(xiàn)。learning_rate 和 n_estimatros 之間存在權(quán)衡。

  • n_estimators?- 其結(jié)果將被組合以產(chǎn)生最終預(yù)測的基本估計(jì)器的數(shù)量。?default=100

我們將在下面嘗試上述超參數(shù)的各種值,通過對數(shù)據(jù)進(jìn)行 3 折交叉驗(yàn)證來找到我們數(shù)據(jù)集的最佳估計(jì)器。




輸出前幾個(gè)交叉驗(yàn)證結(jié)果?


圖片


比較 Ada Boost 與 Gradient Boosting、Bagging、隨機(jī)森林、額外樹、決策樹和額外樹的性能?



AdaBoost分類器?

AdaBoostClassifier?可作為ensemblesklearn 模塊的一部分使用。我們將使用數(shù)字?jǐn)?shù)據(jù)訓(xùn)練默認(rèn)模型,然后通過嘗試各種超參數(shù)設(shè)置來調(diào)整模型以提高其性能。我們還將它與其他分類估計(jì)器進(jìn)行比較,以檢查其相對于其他機(jī)器學(xué)習(xí)模型的性能。



AdaBoostClassifier的重要屬性

AdaBoostClassifier所有屬性都與 AdaBoostRegressor相同。







通過對各種超參數(shù)進(jìn)行網(wǎng)格搜索來微調(diào)模型?

AdaBoostClassifier幾乎所有參數(shù)都與AdaBoostRegressor




輸出前幾個(gè)交叉驗(yàn)證結(jié)果?

圖片


比較 Ada Boost 與 Gradient Boosting、Bagging、隨機(jī)森林、額外樹、決策樹和額外樹的性能?





歡迎關(guān)注《python金融風(fēng)控評(píng)分卡模型和數(shù)據(jù)分析(加強(qiáng)版)》,學(xué)習(xí)評(píng)分卡,集成樹,神經(jīng)網(wǎng)絡(luò)算法等系統(tǒng)化風(fēng)控建模內(nèi)容。

入口1(推薦)

https://ke.qq.com/course/package/43071

入口2

https://study.163.com/series/1202915601.htm?share=2&shareId=400000000398149




Scikit-Learn -集成學(xué)習(xí):boosting(3萬字詳解)的評(píng)論 (共 條)

分享到微博請遵守國家法律
特克斯县| 津市市| 江西省| 临猗县| 马公市| 咸宁市| 灌南县| 万安县| 剑河县| 灵台县| 裕民县| 上犹县| 崇礼县| 蒲城县| 郑州市| 嘉善县| 阜南县| 普格县| 金乡县| 阿克陶县| 永城市| 梨树县| 嘉善县| 高邑县| 上虞市| 庄河市| 东至县| 巴里| 本溪市| 陆河县| 宁乡县| 许昌县| 九台市| 介休市| 西吉县| 昆明市| 横峰县| 织金县| 乌兰察布市| 东阿县| 朔州市|