R

xgboost 如何在算法中使用權重

  • January 31, 2018

將權重作為參數傳遞給 xgb.DMatrix 是否與將我們的預測變量(例如 y)乘以權重相同?

更詳細地說,我有一個數據集,其中包含 3 個可能值 0、1、2 的事故編號。我想按用戶每年駕駛的天數對其進行加權,其值類似於 1/ 365、2/365 … 364/365 和 365/365。

y = [0, 1, 0, 0, 2, 0, 0,1] 重量 = [1/365, 31/365, 60/365, 20/365, 3/365, 50/365, 32/365 ]我的問題是,如果我將 y 轉換為 y/weight,並在沒有任何權重的情況下傳遞給 xgboost,是否與僅通過 weight 傳遞 y 相同?

請注意,我的目標 = 計數:泊松

它不會是一樣的。檢查 XGBoost 如何處理權重:

https://github.com/dmlc/xgboost/issues/144

加權意味著增加一個例子(或一個類)對損失函數的貢獻。這意味著該示例的梯度的貢獻也將更大。這就是為什麼(正如您將在我上面鏈接的討論中看到的那樣)xgboost 將梯度和粗麻布乘以權重,而不是目標值。

引用自:https://stats.stackexchange.com/questions/326110

comments powered by Disqus