5
A
回答
2
我的建議是使用sklearn.multioutput.MultiOutputRegressor作爲xgb.XGBRegressor
的包裝。 MultiOutputRegressor
爲每個目標培訓一個迴歸者,只需要迴歸者實施fit
和predict
,這是xgboost恰好支持的。
# get some noised linear data
X = np.random.random((1000, 10))
a = np.random.random((10, 3))
y = np.dot(X, a) + np.random.normal(0, 1e-3, (1000, 3))
# fitting
multioutputregressor = MultiOutputRegressor(xgb.XGBRegressor(objective='reg:linear')).fit(X, y)
# predicting
print np.mean((multioutputregressor.predict(X) - y)**2, axis=0) # 0.004, 0.003, 0.005
這可能是使用xgboost因爲你不會需要改變你的代碼的任何其他部分(如果原先使用sklearn
API)倒退多維目標的最簡單的方法。
但是,這種方法不利用目標之間的任何可能的關係。但是你可以嘗試設計一個customized objective函數來實現這一點。
相關問題
- 1. Keras迴歸多個輸出
- 2. R xgboost,gamma迴歸問題
- 3. 如何在沒有XGBoost庫的情況下生成XGBoost輸出?
- 4. Stata:用多個數據集將輸出迴歸輸出到Latex
- 5. 如何在R中使用XGBoost算法進行迴歸?
- 6. 在R中使用XGBoost進行迴歸模型
- 7. 在多變量多輸出迴歸之前進行縮放
- 8. stargazer()與Zelig迴歸輸出
- 9. R格式迴歸輸出
- 10. 在Python中使用XGBoost預測輸出變量基於多個輸入變量
- 11. 張量流中的多回歸輸出節點學習
- 12. xgboost中的泊松迴歸對於低頻失敗
- 13. 來自多個多元迴歸輸出的彙總數據幀
- 14. 如何在R中使用xgboost包來解釋多類分類的輸出?
- 15. Java - xgboost DMatrix輸入
- 16. R:從多個迴歸輸出到.csv或.xls的輸出係數
- 17. 在Tensorflow中進行多項式迴歸訓練的nan會話輸出
- 18. Lasagne LSTM迴歸生成零輸出
- 19. Tensorflow邏輯迴歸不同的輸出
- 20. R base vs plyr迴歸輸出
- 21. 解釋GLM的輸出泊松迴歸
- 22. 如何解釋邏輯迴歸輸出?
- 23. Scikit-learn的DecisionTreeRegressor做真正的多輸出迴歸嗎?
- 24. 結合迴歸和分類的多輸出神經網絡
- 25. libsvm是否適用於多輸出迴歸?
- 26. 支持稀疏矩陣和多標籤輸出的Logistic迴歸?
- 27. Xgboost在pythonAnywhere中給出導入錯誤
- 28. xgboost泊松迴歸:標籤必須是非負的
- 29. 如何使用xgboost提高迴歸模型的性能?
- 30. 遞歸輸出
如果輸出超過一個值,則需要像RNN(GRU,LSTM等)的序列模型。 [Keras](https://keras.io/)可以幫助您快速建立這些模型的原型。 – uyaseen
我知道RNN。我想知道這樣的事情在Xgboost中是否也有可能,因爲我已經知道提升樹木對我的問題空間表現很好。我還應該注意,我的輸出vecor大小可以固定。 – user1782011
如果輸出之間的關係是已知的,你應該能夠利用它來實現一個目標函數。它已經完成了[線性關係的隨機森林](https://cran.r-project.org/web/packages/MultivariateRandomForest/MultivariateRandomForest.pdf)。 XGBoost作者認爲[這是可行的](https://github.com/dmlc/xgboost/issues/680)。 –