使用 R 中的 randomForest 包,我能够训练一个随机森林,从而最大限度地减少总体错误率。然而,我想做的是训练两个随机森林,一个首先最小化误报率(〜0),然后是总体错误率,另一个首先最大化灵敏度(〜1),然后是总体错误率。该问题的另一种构造是:给定误报率和敏感率,训练分别满足其中一个比率的两个不同的随机森林,然后最小化总体错误率。有谁知道是否有 r 包或 python 包,或任何其他软件可以执行此操作以及或如何执行此操作?感谢您的帮助。
最佳答案
这是一个可能值得尝试的解决方法。 (抱歉,我没有足够的声誉来将其作为评论。)
作为
- 灵敏度 = TP/(TP + FN)
- 特异性 = TN/(TN + FP)
- ER = (TP + TN)/(TP + FN + TN + FP)
(来自 Sensitivity_and_specificity 的符号)
如果您复制一些阳性/阴性样本(或增加权重),ER 将近似敏感性/特异性。
因此,如果您想最大限度地提高灵敏度,那么您可以将一些正样本采样/复制到数据集中,然后在其上训练 RF。为了最大限度地提高特异性,您可以对负样本执行相同的操作。
关于python - 具有指定误报和灵敏度的随机森林,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31711555/