从系列:应用机器学习
使用ROC曲线评价分类模型。ROC曲线绘制的真阳性率与假阳性 不同值的阈值
这个视频走过几个例子说明广泛ROC曲线是什么,为什么你会使用它们。它还概述了有趣的场景时,你可能会遇到使用ROC曲线。
ROC曲线评价的一个重要工具分类模型。他们也有点抽象,所以我们首先回顾一些简单的方法来评估模型。
让我们用一个示例,与心脏的声音。给71个不同的特性从一个录音的心,我们试着分类如果心音正常或不正常。
容易理解的指标之一是一个模型的准确性——或者,换句话说,频率是正确的。准确性是有用的因为它是一个数字,制作比较简单。我看现在的分类器的精度86.3%。
精度不告诉你是模型是对还是错。,有混淆矩阵,它显示了诸如真阳性率。在这种情况下,它是74%,这意味着正确分类器预测异常心音74%的时间。我们也有9%的假阳性率。这是分类器预测的速度异常心音时实际上是正常的。
单个模型的混淆矩阵给出了结果。但大多数机器学习模型不只是分类事物,他们实际上计算概率。这个模型显示了结果的混淆矩阵分类有> = 0.5的概率不正常,和任何正常的概率< 0.5。0.5,但不一定是固定的,事实上我们可以阈值在概率的范围在0和1之间。
这就是ROC曲线。ROC曲线情节真阳性率与假阳性率不同的值的阈值。
让我们更详细地看看这个。
这是我的模型,我将运行它在我的测试数据异常心音的概率。现在让我们开始通过阈值概率为0.5。如果我这样做,我得到一个真正的积极率为74%,假阳性率为9%。
但如果我们想要非常保守,所以即使被异常心音的概率仅为10%,我们将把它归类为不正常。
如果我们这样做,我们得到这一点。
如果我们想要真正确定,只有分类听起来有90%的概率是不正常?那么我们就会得到这一点,假阳性率低得多,但也真阳性率较低。
现在,如果我们要创建一个堆值阈值0和1之间,说1000次试验等间距的,我们会得到很多这些民国点,这就是我们得到的ROC曲线。ROC曲线告诉我们真阳性的权衡速度和假阳性率的不同值的阈值。
总是会有一个点在ROC曲线(0,0)在我们的例子中,一切都归类为“正常”。,总是会有一个点1逗号的地方一切都归类为“不正常”。
曲线下的面积是度量我们的分类器是多好。一个完美的分类器的AUC 1。在这个例子中,AUC是0.926。
在MATLAB中,您不需要做所有这些用手像我在这里完成。你可以得到ROC曲线的AUC perfcurve函数。
现在我们已经下来,让我们看看一些有趣的情况下进行ROC曲线:
·如果曲线的左边,有一个分类器,对于一些阈值完全标记每一个点的测试数据,和你的AUC是1。你有一个很好的分类器,或者你可能想要担心你没有足够的数据或你的分类器是overfit。
·如果曲线是一条直线从左下角到右上角,你有一个分类器,没有比随机猜测(AUC是0.5)。你可能想尝试一些其他类型的模型或者回到你的训练数据,看看你可以工程师一些更好的特性。
·如果一种曲线是锯齿状的,有时是由于不同类型的分类器的行为。例如,一个决策树只有有限数量的决策节点,每个节点都有一个特定的概率。阈值时的粗糙度来自我们前面谈到过的概率的一个节点。粗糙度还常常来自测试数据的空白。
从这些例子可以看出,ROC曲线可以是一个简单,但微妙的评估分类器性能的工具。
如果你想了解更多关于机器学习模型评估,看看下面的链接描述。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。