从系列:应用机器学习
赛斯迪兰MathWorks公司
使用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曲线显示了我们在真阳性率和改变该阈值的值,假阳性率的权衡。
总是会有的ROC曲线上的点在0 0逗号在我们的情况下,一切都被归类为“正常”。而且总是会有一个点,在1个逗号1,这里的一切被归类为“不正常”。
曲线下面积是我们的分类有多好是一个度量。一个完美的分类将有1的AUC在这个例子中,AUC为0.926。
在MATLAB中,你不需要手动像我在这里所做的做到了这一切。你可以得到ROC曲线,并从perfcurve功能AUC。
现在我们已经下来,让我们来看看一些有趣的情况下,对于ROC曲线:
·如果曲线一路向上,向左,你有一个分类,对于一些门槛完美标示每一个点的测试数据,而你的AUC为1。要么你有一个很好的分类,或者你可能想be concerned that you don’t have enough data or that your classifier is overfit.
·如果曲线是由左右上角的底部一条直线,你有一个分类,做并不比随机猜测(AUC其为0.5)。您可能会想尝试一些其他类型的模型,或者回到你的训练数据,看看是否可以设计一些更好的功能。
·如果曲线看起来有点锯齿,这有时是由于不同类型的分类行为。例如,决策树仅具有判决节点的有限数,并且每个这些节点的具有特定的概率。参差来自我们前面谈到的阈值跨越的节点之一的概率。锯齿也通常来自于测试数据的差距。
正如你可以从这些例子看,ROC曲线可以是简单的,但细致入微的评估分类器性能的工具。
如果您想了解更多关于机器学习模型评估,看看在下面的描述中的链接。
您还可以选择从下面的列表中的网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。
本网站使用Cookies来改善您的用户体验,个性化的内容和广告,并分析网站流量。通过继续使用本网站,您同意我们使用Cookie。请参阅我们的隐私政策要了解更多关于cookie和如何更改设置。