使用精度以外的指标例如F1或AUC进行OOB评估

问题描述

我正在训练不平衡数据集上的随机森林,准确性不高。我想避免交叉验证,而是使用现成的(OOB)评估。可以在sklearn中(或通常在python中)评估袋装(OOB)F1或AUC而不是OOB的准确性吗?

在这页面上我找不到解决方法

https://scikit-learn.org/stable/auto_examples/ensemble/plot_ensemble_oob.html#sphx-glr-auto-examples-ensemble-plot-ensemble-oob-py https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html

或者我应该只为oob_decision_function_中的平均预测(或对分类的多数表决)计算f1和AUC?

解决方法

the source中,您可以看到准确度计算是经过硬编码的,因此您将无法仅通过设置一些参数来获得另一个分数。

但是,正如您所说的,oob预测是可用的,因此您自己进行最终计算并不困难。