首页 > 解决方案 > 有没有办法提取预测值,XGBoost 使用它计算训练/评估错误(存储在 evals_results 中)?

问题描述

我希望更好地了解我的模型如何学习特定数据集。我想通过将实际的训练/评估数据与模型预测一起绘制来可视化学习的训练和评估阶段。

我通过观察一些 Matlab 代码得到了这个想法,它允许用户绘制上述值。不幸的是,我不再能够访问 Matlab 代码,并且想在 Python 中重新创建相同的代码。

使用下面的代码:

model = xgb.train(params, dtrain,evals=watchlist,evals_result=results,verbose_eval=False)

我可以得到一个结果字典,它保存训练和评估 rmse 值,如下所示:

{'eval': {'rmse': [0.557375, 0.504097, 0.449699, 0.404737, 0.364217, 0.327787, 0.295155, 0.266028, 0.235819, 0.212781]}, 'train': {'rmse': [0.405989, 0.370338, 0.337915, 0.308605, 0.281713, 0.257068, 0.234662, 0.214531, 0.195993, 0.179145]}}

虽然输出显示了 rmse 值,但我想知道是否有一种方法可以获取训练集和 eval 集的预测值,使用它来计算这些 rmse 值。

标签: python-3.xxgboost

解决方案


推荐阅读