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 在XGboost模型中绘制MAE、RMSE_Python_Machine Learning_Scikit Learn_Xgboost_Grid Search - Fatal编程技术网

Python 在XGboost模型中绘制MAE、RMSE

Python 在XGboost模型中绘制MAE、RMSE,python,machine-learning,scikit-learn,xgboost,grid-search,Python,Machine Learning,Scikit Learn,Xgboost,Grid Search,我试图根据XGboost模型的结果绘制MAE和RMSE。 首先,我使用gridsearchcv查找参数 然后,我拟合模型,并在拟合模型时设置要打印的评估指标: myModel = GridSearchCV(estimator=XGBRegressor( learning_rate=0.01, n_estimators=500, max_depth=5,

我试图根据XGboost模型的结果绘制MAE和RMSE。 首先,我使用gridsearchcv查找参数 然后,我拟合模型,并在拟合模型时设置要打印的评估指标:

myModel = GridSearchCV(estimator=XGBRegressor(
                        learning_rate=0.01,
                        n_estimators=500,
                        max_depth=5,
                        min_child_weight=5,
                        gamma=0,
                        subsample=0.8,
                        colsample_bytree=0.8, 
                        eval_metric ='mae',
                        reg_alpha=0.05
                        ),
                       param_grid = param_search,
                       cv = TimeSeriesSplit(n_splits=5),n_jobs=-1
                      )

#Fit model
eval_set = [(X_train, y_train), (X_test, y_test)]
eval_metric = ["rmse","mae"]
history=myModel.fit(X_train, y_train, eval_metric=eval_metric, eval_set=eval_set)
我获得了此拟合的正确结果:

[0] validation_0-rmse:7891  validation_0-mae:7791.42    validation_1-rmse:6465.99   validation_1-mae:6465.52
[1] validation_0-rmse:7813.98   validation_0-mae:7714.55    validation_1-rmse:6398.87   validation_1-mae:6398.4
但是,我尝试访问这些值以创建绘图,但出现以下错误:

myModel.evals_result()

AttributeError: 'GridSearchCV' object has no attribute 'evals_result'

如何访问这些值?

您可以创建一个结果dict,然后将其传递给fit

progress = dict()

history=myModel.fit(X_train, y_train, evals_result=progress eval_metric=eval_metric, eval_set=eval_set)

print(progress)