1
我在插入符號上使用GBM的這兩個派生詞。 我在同一個數據集上嘗試了兩種算法,它們返回不同的準確度並在不同的時間執行。通過名稱,我可以認爲第一個在某處使用線性函數,而另一個使用樹。 無論如何,我不明白它在哪裏使用線性而不是樹。 我知道GBM算法使用樹作爲預測器,可以說第一種情況下使用不同的結構像訓練? 我在哪裏可以找到關於此主題的一些文檔?插頁xgbLinear和xgbTree
感謝
我在插入符號上使用GBM的這兩個派生詞。 我在同一個數據集上嘗試了兩種算法,它們返回不同的準確度並在不同的時間執行。通過名稱,我可以認爲第一個在某處使用線性函數,而另一個使用樹。 無論如何,我不明白它在哪裏使用線性而不是樹。 我知道GBM算法使用樹作爲預測器,可以說第一種情況下使用不同的結構像訓練? 我在哪裏可以找到關於此主題的一些文檔?插頁xgbLinear和xgbTree
感謝
你可以找到其中的車型中的所有代碼位於尖號GitHub的頁面上獨立models更多細節。插入符號文檔位於here。
但是你應該意識到這一點是在2個模型之間使用參數的差異:
xgbLinear
用途:nrounds,λ,α,ETAxgbTree
用途:nrounds,MAX_DEPTH,ETA, gamma,colsample_bytree, min_child_weight這些選擇會影響模型的結果,並會導致不同的預測結果。因此也有不同的準確度。 xgboost中提供的其他選項將與xgboost的默認設置一起使用。
插入模型包含dotdotdot(...)選項。所以如果你想訓練gamma
與xgbLinear
,你可以在火車功能中指定。但不在網格參數中。其他xgboost參數也一樣。
(非常糟糕)例如:
grid = expand.grid(nrounds = c(10,20), lambda= c(0.1), alpha = c(1), eta = c(0.1))
train(Species ~ ., data = iris, method = "xgbLinear", tuneGrid = grid, gamma = 0.5)