Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 拟合参数不';t使用XGBoost和剪刀学习多输出分离器_Python_Scikit Learn_Xgboost - Fatal编程技术网

Python 拟合参数不';t使用XGBoost和剪刀学习多输出分离器

Python 拟合参数不';t使用XGBoost和剪刀学习多输出分离器,python,scikit-learn,xgboost,Python,Scikit Learn,Xgboost,我想使用scikit中的多输出回归器学习如何训练XGB解决多输出回归问题。但是我不能将fit_params字典传递给多输出分离器的.fit方法。看起来它无法识别里面的参数 我收到这个错误: from sklearn.multioutput import MultiOutputRegressor from xgboost.sklearn import XGBRegressor XGB = XGBRegressor(n_jobs=1, max_depth=10, n_estimators=100,

我想使用scikit中的
多输出回归器
学习如何训练XGB解决多输出回归问题。但是我不能将
fit_params
字典传递给
多输出分离器的
.fit
方法。看起来它无法识别里面的参数

我收到这个错误:

from sklearn.multioutput import MultiOutputRegressor
from xgboost.sklearn import XGBRegressor
XGB = XGBRegressor(n_jobs=1, max_depth=10, n_estimators=100, learning_rate=0.2)  
fit_params = {'early_stopping_rounds':5,
                'eval_set':[(X_holdout,Y_holdout)],
                'eval_metric':'mae',
                'verbose':False}
multi = MultiOutputRegressor(XGB, n_jobs=-1)    
multi.fit(X_train,Y_train,**fit_params) 

Traceback (most recent call last):

  File "<ipython-input-16-e245db56e1be>", line 9, in <module>
    multi.fit(X_train,Y_train,**fit_params)

TypeError: fit() got an unexpected keyword argument 'early_stopping_rounds'

似乎您已经安装了scikit学习包版本,其中没有为MultiOutputRegressor实现**fit_params param of fit方法。您可以使用以下命令检查已安装软件包的版本:

import sklearn
print(sklearn.__version__)
将scikit学习包升级到版本0.23.1后,您可以在MultiOutputRegressor对象的fit方法中使用**fit_参数。您可以通过以下方式进行升级:

pip install --upgrade scikit-learn
pip install --upgrade scikit-learn