我正在Python中使用XGBoost(PyPl上最新版本:0.6)的預測模型,並且已經開發了大約一半數據的訓練。現在我有了最後的模型,但是我得到了所有數據的訓練結果,但是得到了以前從未見過的信息:在Python中爲XGBoost指定tree_method參數
樹方法自動選擇爲「近似」以獲得更快的速度。 使用舊的行爲(單臺機器上確切貪婪算法),設置 tree_method到「精確」」
作爲reproduceable例如,下面的代碼也產生我的機器上的消息:
import numpy as np
import xgboost as xgb
rows = 10**7
cols = 20
X = np.random.randint(0, 100, (rows, cols))
y = np.random.randint(0,2, size=rows)
clf = xgb.XGBClassifier(max_depth=5)
clf.fit(X,y)
我試過在初始化和fit()
步我的模型的設定既要tree_method「精確」,但每個引發錯誤:
import xgboost as xgb
clf = xgb.XGBClassifier(tree_method = 'exact')
clf
> __init__() got an unexpected keyword argument 'tree_method'
my_pipeline.fit(X_train, Y_train, clf__tree_method='exact')
> self._final_estimator.fit(Xt, y, **fit_params) TypeError: fit() got an
> unexpected keyword argument 'tree_method'
如何在Python中使用XGBoost指定tree_method ='exact'?
綜觀[Python文檔](https://xgboost.readthedocs.io/en/latest/python/python_api.html# module-xgboost.core),我找不到任何名爲'tree_method'的參數。 –