【问题标题】:Finding the optimal cutpoint using 'OptimalCutpoints' package使用“OptimalCutpoints”包找到最佳切点
【发布时间】:2018-07-08 10:10:10
【问题描述】:

我使用OptimalCutpoints 包来确定不平衡二元分类问题中概率预测的最佳切点。我选择NO 类作为健康类(大部分因变量是NO)。通过代码,我尝试提取最佳切点以平衡预测的敏感性和特异性。我的问题是,我是否应该假设模型预测的概率应该大于或小于最佳切点以将其分类为YES。这可能是一个简单的问题,但是,在我使用不同模型的数据集上,我观察到有时我通过使用 >= 和其他时间获得更好的结果。

optimal_cutpoint <- optimal.cutpoints(
        X = "score",
        status = "true",
        tag.healthy = 'NO',
        methods = "MaxSpSe",
        data = data.frame(score = predict(model, df_train, type="prob")$YES
                          , true = df_train$y),
        control = control.cutpoints()
    )
optimal_cutpoint <- optimal_cutpoint$MaxSpSe$Global$optimal.cutoff$cutoff[1]

【问题讨论】:

    标签: r machine-learning confusion-matrix


    【解决方案1】:

    说明:

    您发现使用条件 &gt;=&lt;= 之间的区别只是逻辑上的区别。有条件的&lt;= 也等价于严格的&gt;

    示例:

    If(a &gt;= 2)then "non-healthy"
    If(a &lt;= 2)then "healthy",也相当于说if@ 987654332@then "non-healhty"

    【讨论】:

      【解决方案2】:

      来自包文档:

      “...测试值低于临界值的个体被分类为健康(阴性测试),而测试值大于(或等于)临界值的患者被分类为患病(阳性测试)。”

      因此,在您的示例中,低于临界点的概率应归类为“否”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-14
        • 1970-01-01
        • 2014-08-22
        • 2019-06-11
        • 2016-07-13
        • 2014-01-08
        • 1970-01-01
        • 2011-01-02
        相关资源
        最近更新 更多