当我使用 hyperopt 库调整我的随机森林分类器时,我得到以下结果:
Hyperopt 估计最优 {'max_depth': 10.0, 'n_estimators': 300.0}
但是,当我使用其默认 超参数训练模型时,与调整后的模型相比,所有评估指标(Precision、Recall、F1、iba、AUC)都返回更高的值。我还应该遵循调整后的参数吗?或者忽略调整过程的结果,因为它无助于改善结果?
当我使用 hyperopt 库调整我的随机森林分类器时,我得到以下结果:
Hyperopt 估计最优 {'max_depth': 10.0, 'n_estimators': 300.0}
但是,当我使用其默认 超参数训练模型时,与调整后的模型相比,所有评估指标(Precision、Recall、F1、iba、AUC)都返回更高的值。我还应该遵循调整后的参数吗?或者忽略调整过程的结果,因为它无助于改善结果?
根据我的说法,您的过采样方法(如评论中所述)不正确。 当您在每个 FOLD 上应用 SMOTE 时(假设 K-FOLD),它将对少数类进行过度采样。而且你总是会得到 K-FOLD 的混合响应,这不是 K-FOLD 验证的目的。
让我试着用一个例子来解释你:
注意:这可能是原因之一。
My suggestion:
1. Shuffle the whole data set.
2. Divide into training and test data.
3. Apply SMOTE on training data.
4. Follow other steps of Model training, without manipulating the data at this stage.
5. Evaluate model on the actual test data.