簡單看了一下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物件 ...