【问题标题】:ROC curves from confusion matrix in MATLABMATLAB中混淆矩阵的ROC曲线
【发布时间】:2016-01-15 15:10:27
【问题描述】:

我正在努力寻找二元结果的最佳预测指标。

对于每种情况,对于 C = Z%,A Y%。 A 和 B 是相关的变量(剂量 X 与体积 Y%)。 C 是在每种情况下出现这种情况的频率。

然后,我可以使用不同的 C 阈值来预测二元结果 (P)。 我也有 (O) - 真正的结果(二进制)。

我正在查看与 P 和 O 最匹配的多个 X、Y 和 C 值。

因此,对于 X(4 个离散点)和 Y(10-90%,间隔为 10%)的每种组合,我有一个结果 C(%)。对于不同的 C 阈值(10-90%,间隔为 10%),我有正确预测的案例数量以及 2x2 混淆矩阵以及敏感性和(1-特异性)。

在统计方面,我认为我可以使用 ROC 曲线来找到最佳预测变量?但我不确定这是否属实,或者我是否可以简单地比较 all 组合或只是每个 X、Y 的 C 的不同阈值?还是 C 的相同阈值的不同 X,Y?或者我是否应该进行不同的统计测试?

但假设我正在做 ROC 曲线。我绘制了 MATLAB 中的所有点(散点图)和线 y=x(refline = (1,0))。所以我知道重要的点是对角线上方的点,但是我该如何拟合实际的 ROC 曲线来计算 AUC?

我知道这很令人困惑,所以我希望它是有道理的!

编辑:我目前的想法是我需要一个 ROC 曲线,用于每个 X、Y 组合的 C 的不同阈值。在每种情况下,最佳 C 阈值是最接近 1,0 的点(我如何找到它?几何上最接近?)。然后我比较每个 X,Y 组合的 AUC,面积最大的那个是最好的?

【问题讨论】:

  • 你的帖子确实有点难读,但是慢慢看我想我已经明白了。也许如果您发布代码的某些部分,会更容易。您关于 ROC 的第一个问题:您可以使用它来设置分类结果的阈值,但这与 C 无关,如果我理解正确,这是您的功能之一。 ROC 可帮助您直观地决定分类结果的折衷方案:如果您将阈值设置得较低,则会得到更多的假阴性,而将其设置得较高则相反。我明白了什么吗?和C有什么关系?
  • 我正在调整两个功能(A(剂量)和 B(体积))。将 A 和 B 应用于数据的组合产生结果 C。即我检查 A = 10,B = 20。在每种情况下,我都有一个结果 C=Z%。然后我阈值 C 以预测我的二元结果。因此,请检查 C 是否有
  • 到目前为止,我所做的是为 A 和 B 的所有组合以及 C 的所有阈值绘制(使用散点图)每个 sens 与(1-spec)的图。首先一个简单的问题:从各个点,如何在其上添加实际曲线,还是应该将其绘制为阶跃函数?

标签: matlab statistics roc


【解决方案1】:

我在这些链接上回答了类似的问题: ROC curve and libsvmMATLAB - generate confusion matrix from classifier
请通过它,让我知道您的疑问。

【讨论】:

    猜你喜欢
    • 2018-12-26
    • 2019-12-26
    • 2018-09-23
    • 2022-06-15
    • 2016-11-28
    • 2017-08-29
    • 1970-01-01
    • 2013-03-18
    相关资源
    最近更新 更多