在XGboost模型中绘制MAE和RMSE

我试图从XGboost模型的结果中绘制MAE和RMSE。首先,我使用gridsearchcv来寻找参数,然后我拟合模型,并在拟合模型时设置eval_metrics以便输出结果:

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                      )#拟合模型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'

我如何访问这些值呢?


回答:

你可以创建一个结果字典,然后将其传递给fit函数

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

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注