亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

我翻閱了CatBoost的文檔之后,我被這個強大的框架震驚了。CatBoost不僅在你提供給它的任何數(shù)據(jù)集上構(gòu)建了一個最精確的模型,其中只需要最少的數(shù)據(jù)準(zhǔn)備。它還提供了迄今為止最好的開源解釋工具,以及快速生成模型的方法。

CatBoost引發(fā)了機器學(xué)習(xí)革命。學(xué)習(xí)使用它會提高你的技能。但更有趣的是,CatBoost對數(shù)據(jù)科學(xué)家(比如我自己)的現(xiàn)狀構(gòu)成了威脅,因為我認(rèn)為在給定數(shù)據(jù)集的情況下,建立一個高精度的模型是很乏味的。但是CatBoost正在改變這種狀況。它使得每個人都可以使用高度精確的模型。

深度學(xué)習(xí)框架 CatBoost 介紹

 

以極快的速度建立高精度模型

安裝

你試過在筆記本電腦上安裝XGBoost嗎?那你肯定知道有多麻煩。但是在另一端安裝運行CatBoost卻是小菜一碟。

pip install catboost

這樣就安裝好了。

數(shù)據(jù)準(zhǔn)備

與目前大多數(shù)可用的機器學(xué)習(xí)模型不同,CatBoost只需要最少的數(shù)據(jù)準(zhǔn)備。它能處理:

  • 數(shù)值變量的缺失值
  • 沒有編碼的分類變量 注意:對于分類變量,必須事先處理缺失值。替換為新類別“missing”或最其他常用的類別。
  • 對于GPU用戶,它也能處理文本變量。

不幸的是,我無法測試這個功能,因為我正在一臺沒有GPU的筆記本電腦上工作。

構(gòu)建模型

與XGBoost一樣,你擁有熟悉的sklearn語法和一些特定于CatBoost的附加功能。

from catboost import CatBoostClassifier # 或者 CatBoostRegressor
model_cb = CatBoostClassifier()
model_cb.fit(X_train, y_train)

或者,如果你想要一個關(guān)于模型如何學(xué)習(xí)以及是否開始過擬合的可視化界面,請使用plot=True并在eval_set參數(shù)中插入測試集:

from catboost import CatBoostClassifier # 或者 CatBoostRegressor
model_cb = CatBoostClassifier()
model_cb.fit(X_train, y_train, plot=True, eval_set=(X_test, y_test))
深度學(xué)習(xí)框架 CatBoost 介紹

 

注意,你可以同時顯示多個度量,甚至更人性化的度量,如準(zhǔn)確度或精確度。此處列出了支持的指標(biāo):https://catboost.ai/docs/concepts/loss-functions-classification.html。

請參見下面的示例:

深度學(xué)習(xí)框架 CatBoost 介紹

 

你甚至可以使用交叉驗證,在不同的分割上觀察模型準(zhǔn)確度的平均和標(biāo)準(zhǔn)偏差:

深度學(xué)習(xí)框架 CatBoost 介紹

 

微調(diào)

CatBoost與XGBoost非常相似。要對模型進(jìn)行適當(dāng)?shù)奈⒄{(diào),首先將early_stopping_rounds進(jìn)行設(shè)置(如10或50),然后開始調(diào)整模型的參數(shù)。

訓(xùn)練速度

無GPU

從他們的基準(zhǔn)測試中,你可以看到CatBoost比XGBoost更快,并且與LightGBM相對類似。眾所周知,LightGBM的訓(xùn)練速度很快。

有GPU

不過,說到GPU,真正的魔力就來了。

深度學(xué)習(xí)框架 CatBoost 介紹

 

即使使用相對較老的GPU,如K40(2013年發(fā)布),訓(xùn)練時間也將被至少快4倍,而其他更新的CPU最多能快40倍。

模型的解釋

CatBoost的作者們明白的一件事是,這不僅僅是一個玩精確度的游戲。為什么在XGBoost和LightGBM可用時要使用CatBoost呢。所以,在可解釋性方面,CatBoost提供了開箱即用的函數(shù)。

特征重要性

CatBoost提供了3種不同的方法:PredictionValuesChange、LossFunctionChange和InternalFeatureImportance。這里有詳細(xì)的文檔:https://catboost.ai/docs/concepts/fstr.html

局部可理解性

對于局部可理解性,CatBoost附帶SHAP,SHAP通常被認(rèn)為是唯一可靠的方法。

shap_values = model.get_feature_importance(Pool(X, y), type='ShapValues')

官方也提供了教程:https://github.com/catboost/tutorials/blob/master/model_analysis/shap_values_tutorial.ipynb。你可以使用進(jìn)行局部可理解性操作以及獲取特征重要性。

深度學(xué)習(xí)框架 CatBoost 介紹

 

邊際效應(yīng)

到目前為止,這是我最喜歡的東西。隨著高精度的商品化(特別是隨著AutoML的興起),當(dāng)今從更深層次上了解這些高精度模型變得越來越重要。

根據(jù)經(jīng)驗,以下圖表已成為模型分析的標(biāo)準(zhǔn)。CatBoos在它的包中直接提供它。

深度學(xué)習(xí)框架 CatBoost 介紹

 

在這個圖標(biāo)上你觀察到

  1. 綠色的是數(shù)據(jù)分布
  2. 藍(lán)色的是每個箱子的平均目標(biāo)值
  3. 橙色的是每個箱子的平均預(yù)測值
  4. 紅色的是部分依賴圖( Partial Dependence

在生產(chǎn)中使用CatBoost模型

在生產(chǎn)中實現(xiàn)你的模型變得非常容易。下面是如何導(dǎo)出CatBoost模型。

使用.save_model()方法可以獲得以下幫助文檔:

深度學(xué)習(xí)框架 CatBoost 介紹

 

Python和C++的導(dǎo)出

model_cb.save_model(‘model_CatBoost.py’, format=’python’, pool=X_train)

執(zhí)行后在你的repo中會有一個生成好的.py文件,如下所示:

深度學(xué)習(xí)框架 CatBoost 介紹

 

這時候模型已經(jīng)準(zhǔn)備好生產(chǎn)了!而且你不需要在機器上設(shè)置一個特定的環(huán)境來獲得新的分?jǐn)?shù)。只需要Python 3就可以了!

二進(jìn)制文件輸出

二進(jìn)制顯然是獲得新數(shù)據(jù)的最快選擇。代碼中改成輸出.cbm文件。

載入時使用以下代碼重新加載模型:

from catboost import CatBoost
model = CatBoost()model.load_model('filename', format='cbm')

其他有用的提示

Verbose = 50

大多數(shù)模型中通常都有詳細(xì)的輸入,以便查看你過程的進(jìn)展情況。CatBoost也有,但比其他的稍好一點。例如,使用verbose=50將每50次迭代顯示一次訓(xùn)練錯誤,而不是每次迭代顯示一次,因為如果有許多次迭代,這可能會很煩人。

深度學(xué)習(xí)框架 CatBoost 介紹

 

使用verbose=10訓(xùn)練同一模型。檢查起來好多了。

深度學(xué)習(xí)框架 CatBoost 介紹

 

注意,剩余時間也會顯示出來。

模型比較

微調(diào)模型需要時間。通常,你可能有幾個好的參數(shù)列表。為了將其提升結(jié)果你甚至可以使用不同的參數(shù)集學(xué)習(xí)模型來比較,以便幫助你對要選擇的參數(shù)的最終列表做出決定。

深度學(xué)習(xí)框架 CatBoost 介紹

 

訓(xùn)練時保存模型

你有一個大數(shù)據(jù)集,你害怕訓(xùn)練太久?你可以隨時保存模型,這樣你過程中的任何中斷都不必意味著對模型進(jìn)行重新擬合!以下是相關(guān)文檔:https://catboost.ai/docs/features/snapshots.html#snapshots

學(xué)習(xí)資料

Catboost的文檔非常有用,即使你認(rèn)為你對很多模型了如指掌,他們的文檔也可以幫助你。

分享到:
標(biāo)簽:深度 學(xué)習(xí)
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達(dá)人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定