xgboost相關(guān)

xgboost多線程預(yù)測的不安全問題

xgboost的predict_proba

官網(wǎng)上說了,predict_proba是一個多線程不安全的方法,主要是因為預(yù)測的一個C++代碼內(nèi)部調(diào)用的時候有一個PredLoopSpecalize,里面對openmp的thread_temp變量作為類成員變量,在多線程會被當(dāng)成公共變量修改。說白了就是有預(yù)測的內(nèi)部變量是公共變量。

xgboost特征重要性

如何獲取特征重要性:booster中有三種獲取方式:
Importance type can be defined as:
'weight' - the number of times a feature is used to split the data across all trees.
'gain' - the average gain of the feature when it is used in trees
'cover' - the average coverage of the feature when it is used in trees
默認是用weight來顯示,但是不一定準確
cover: the sum of second order gradient of training data classified to the leaf, if it is square loss, this simply corresponds to the number of instances in that branch. Deeper in the tree a node is, lower this metric will be

XGBoost函數(shù)筆記

XGBoost核心代碼基于C++開發(fā),訓(xùn)練和預(yù)測都是C++代碼,外部由Python封裝。
最常用的兩個類是:

  1. xgboost.XGBClassifier分類器
  2. xgboost.XGBRegressor回歸器
    兩個類都繼承了XGBModel,XGBModel實現(xiàn)了sklearn的接口
    其中分類和回歸都是基于booster來完成的,內(nèi)部有個Booster類,非常重要,每個booset都是一個單獨的模型,內(nèi)部有很多函數(shù),比如get_score,get_dump等函數(shù),都非常有用。booset里面很多函數(shù)也是和C代碼結(jié)合的部分。

booster類別初探

booster有三種選擇: gbtree, gblinear or dart.

  1. gbtree 梯度提升樹,常用,默認
  2. gblinear就是一個線性分類/回歸器
  3. dart 帶dropout的

gblinear

利用gblinear訓(xùn)練出的結(jié)果就是一個線性分類器

并行化

樹內(nèi)的部可以做并行,在一次分裂之后,子樹的分裂可以通過

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi閱讀 7,854評論 0 10
  • 一種緣分,結(jié)識了簡書這個平臺,也喚起了我多年不再記事隨便涂寫的那種欲望。幾年后的第一次書寫,還望笑納。 26歲的我...
    Aries_Ni閱讀 2,136評論 0 6
  • ---《舊作歸檔》2009年 此文寫于2004年12月24日,今天由此文紀念我的父親!那個堅強、忍耐、有力的可愛的...
    Andylee閱讀 286評論 3 4
  • 1、0801今日話題 2、0801晨讀感悟 1 0801今日話題 你最近和家人一起吃飯/娛樂是什么時候?你們有多...
    An_An閱讀 265評論 0 0

友情鏈接更多精彩內(nèi)容