python - 具有指定误报和灵敏度的随机森林

标签 python r machine-learning random-forest

使用 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/

相关文章:

r - 将矩阵拆分为 R 中的多对列

python - 如何在pytorch中进行渐变裁剪?

python - 将 Python 置于版本控制之下是否可行?

python - 如何只保留字母数字和空格,同时忽略非 ASCII?

r - 在 Shiny 的应用程序之外创建一个 react 函数

r - 网络 : Making Graph Object from Event-Node Data Using igraph

python - 列表中的 [...] (省略号)在 Python 中意味着什么?

python - 安装新版本的Python会不会和旧版本冲突

python - 机器学习: Getting error in Confusion Matrix

java - Spark : StringIndexer on sentences