sklearn中的gbdt原始碼分析

2021-09-19 04:46:43 字數 793 閱讀 5305

簡單看了一下sklearn中的gbdt原始碼

在這裡記錄一下,目前來說還不能把gbdt的所有理論都搞清楚

sklearn有兩個類似於gbdt的實現

gradientboostingclassifier

gradientboostingregressor

乙個用於分類,另乙個用於回歸

這兩個類其實區別只在於mixin上,下面是類繼承關係

gradientboostingregressor繼承了

basegradientboosting

regressormixin

gradientboostingclassifier繼承了

basegradientboosting

classifiermixin

classifiermixin和rgressormixin的區別:

classifiermixin使用的是準確率來計算誤差

而回歸的是使用r_square來計算誤差

實際上這兩個模型的差距是很小的,就是計算一下擬合度

然後是整個訓練的過程

訓練的過程會先設定一些引數

設定n_estimators是要訓練的分類器資料

如果損失函式是loss的話,那麼就比較簡單了

每次訓練弱分類器都會根據上一次的結果來

上次生成的y - y_pred會作為新的y傳進去

這樣來訓練直到n_estimators足夠

不過在predict結果的時候有點看不懂**

後面看了再補充

sklearn中gbdt原始碼解讀筆記

這周已經過去了3天,主要精力都是集中在sklearn的gbdt 解讀上,進展肯定是有,但是感覺阻力比較大,但是這又有什麼辦法呢?人一能之,我十之!但是感覺有時候多花時間的情況下效率很低很低,但是可能也是自己內心浮躁,想回去玩造成了這種效率低下,要看這個演算法,只有不到黃河心不死的決心,即便我被迫需要...

ConcurrentHashMap的原始碼分析

put final v putval k key,v value,boolean onlyifabsent 在上一步的else if中 f 不為null時,則判斷f的hash值是否為moved,即 1,如果為 1,表示正在擴容 else if fh f.hash moved 協助資料遷移 tab h...

DispatcherServlet的原始碼和流程分析

1 自動配置dispatcherservlet和dispatcherservletregistry 2 註冊dispatcherservlet到servletcontext 3 初始化mvc的元件 handler執行完成後,向dispatcherservlet 返回乙個modelandview物件 ...