我为我的分类问题训练了一个 XGBClassifier,并使用 optuna 对巨大的网格进行了超参数调整(可能调整了每个可能的参数)。在测试时,random_state 的变化会改变模型性能指标(roc_auc/recall/precision)、feature_importance 甚至模型预测(predict_prob)。
- 这告诉我关于我的数据的什么信息?
由于我必须在生产中使用这个模型,我应该如何解决这个问题以使模型更健壮?
- 使用我们在 cross_validation 期间使用的一个 random_state(例如默认值 0)并在样本外使用它。
- 在 cross_validation 期间,在每个 param_combination 之上,运行一些 random_state(比如 10)并获取 avg 模型性能。