主要内容

ROC曲线与绩效指标

本主题描述了用于分类的性能指标,包括接收者工作特征(ROC)曲线和ROC曲线下的面积(AUC),并介绍了统计和机器学习工具箱™对象rocmetrics,您可以使用它来计算二进制和多类分类问题的性能指标。

ROC曲线简介

训练后的分类模型,如ClassificationNaiveBayesClassificationEnsemble,您可以在特定的测试数据集上检查算法的性能。一种常见的方法是计算性能的总体度量,如二次损失或精度,在整个测试数据集上取平均值。通过绘制ROC曲线和计算性能指标,可以更仔细地检查分类器的性能。例如,您可以找到最大化分类准确率的阈值,或者评估分类器在高灵敏度和高特异性区域的表现。

受试者工作特征(ROC)曲线

ROC曲线显示了不同分类评分阈值的真阳性率(TPR,或灵敏度)与假阳性率(FPR,或1-specificity)的比值。

ROC曲线上的每个点对应于一个特定阈值的一对TPR和FPR值。您可以通过改变阈值来找到不同的TPR和FPR值对,然后使用这些对创建一个ROC曲线。

对于多类分类问题,可以使用one-versus-all编码设计,找出每个类的ROC曲线。单对全编码设计将多类分类问题视为一组二进制分类问题,并假设每个二进制问题中有一类为正,其余为负。

二进制分类器通常将观察结果分类为产生较大分数的类,这对应于正调整分这是一个一元对全二元分类问题。也就是说,分类器通常使用0作为阈值,并确定观察结果是正的还是负的。例如,如果一个观察值的调整分数是0.2,那么阈值为0的分类器将该观察值分配给阳性类。通过对所有观测值应用阈值,可以找到一对TPR和FPR值,并将这对值用作ROC曲线上的一个单点。现在,假设您使用一个新的阈值0.25。然后,阈值为0.25的分类器将调整后得分为0.2的观察值分配给负类。通过对所有观察结果应用新的阈值,您可以找到一对新的TPR和FPR值,并在ROC曲线上有一个新的点。通过对各种阈值重复此过程,您可以找到TPR和FPR值对,并使用这些对创建一个ROC曲线。

ROC曲线下面积

ROC曲线下的面积(AUC)对应于ROC曲线(TPR值)相对于FPR的积分玻璃钢0玻璃钢1

AUC提供了跨越所有可能阈值的综合性能度量。AUC值在此范围内01, AUC值越大,分类器性能越好。

  • 一个完美的分类器总是正确地将积极的类观察值分配给积极的类,并具有真正的积极率1对于任何阈值。因此,线通过(0,0)[0, 1],[1]表示完美分类器,AUC值为1

  • 随机分类器返回随机评分值,并且对于任何阈值的假阳性率和真阳性率具有相同的值。因此,随机分类器的ROC曲线位于对角线上,AUC值为0.5

性能曲线与MATLAB

您可以通过创建一个rocmetrics对象。的rocmetricsObject支持二进制和多类分类问题,并提供以下对象函数:

  • 情节-绘制ROC曲线或其他分类器性能曲线。情节返回一个ROCCurve每个曲线的图形对象。您可以修改对象的属性来控制每个曲线的外观。有关详细信息,请参见ROCCurve属性

  • 平均-计算多类问题的平均ROC曲线的性能指标。

  • addMetrics-计算额外的分类性能指标。

您还可以通过提供交叉验证的输入或通过引导输入数据来计算性能曲线的置信区间。

在训练分类器之后,使用性能曲线来评估测试数据上的分类器性能。各种度量(如均方误差、分类错误或指数损失)可以将分类器的预测能力总结为一个数字。但是,性能曲线提供了更多的信息,因为它允许您在分类分数的一系列阈值范围内探索分类器的性能。

绘制二元分类器的ROC曲线

为二元分类问题计算性能指标(FPR和TPR)rocmetrics对象,绘制ROC曲线情节函数。

加载电离层数据集。该数据集有34个预测因子(X)和351个二进制响应(Y)的雷达回波,或坏(“b”)或好(‘g’).

负载电离层

将数据划分为训练集和测试集。使用大约80%的观测值来训练支持向量机(SVM)模型,并使用20%的观测值在新数据上测试训练模型的性能。对数据进行分区cvpartition

rng (“默认”分区的可重复性c = cvpartition (Y,坚持= 0.20);trainingIndices =培训(c);训练集的%索引testIndices =测试(c);测试集的%索引XTrain = X (trainingIndices:);YTrain = Y (trainingIndices);XTest = X (testIndices:);欧美= Y (testIndices);

训练支持向量机分类模型。

Mdl = fitcsvm (XTrain YTrain);

计算测试集的分类分数。

[~,分数]=预测(Mdl XTest);大小(分数)
ans =1×270 2

输出分数矩阵的大小70——- - - - - -2.的列顺序分数按照类的顺序Mdl.中存储的类顺序Mdl。ClassNames

Mdl。ClassNames
ans =2 x1细胞{b} {' g '}

创建一个rocmetrics对象的真实标签欧美分类分数在分数.的列顺序分数使用Mdl。ClassNames

rocObj = rocmetrics(欧美,分数,Mdl.ClassNames);

rocObj是一个rocmetrics对象中每个类的AUC值和性能指标AUC而且指标属性。显示AUC财产。

rocObj。AUC
ans =1×20.8587 - 0.8587

对于二元分类问题,AUC值是相等的。

的表指标包含两个类的性能度量值,根据类的顺序垂直连接。找到表中第一个类的行,并显示前8行。

idx = strcmp (rocObj.Metrics.ClassName Mdl.ClassNames (1));头(rocObj.Metrics (idx:))
ClassName阈值FalsePositiveRate TruePositiveRate  _________ _________ _________________ ________________ {' b '} 15.545 0 0 0 0.04 15.545 {b} {b} 15.105 0 0.08 11.424 0 0.16 {b} {b} 10.079 0 0.2 {b} 9.9745 0 0.24 {b} 9.9409 0 0 0.32 0.28 9.035 {b}

绘制每个类的ROC曲线情节函数。

情节(rocObj)

图中包含一个axes对象。标题为ROC Curve的坐标轴对象包含5个roccurve、scatter、line类型的对象。这些对象表示b (AUC = 0.8587), b模型工作点,g (AUC = 0.8587), g模型工作点。

对于每个类,情节函数绘制ROC曲线,并在模型工作点处显示一个填充圆标记。图例显示了每条曲线的类名和AUC值。

注意,在二元分类问题中,不需要检查两个类的ROC曲线。两条ROC曲线对称,AUC值相同。一个类别的TPR是另一个类别的真负率(TNR), TNR是1-FPR。因此,一个职业的TPR vs . FPR图与另一个职业的1-FPR vs . 1-TPR图是相同的。

绘制第一类的ROC曲线仅通过指定一会名称-值参数。

情节(rocObj一会= Mdl.ClassNames (1))

图中包含一个axes对象。标题为ROC Curve的坐标轴对象包含roccurve、scatter、line类型的3个对象。这些对象表示b (AUC = 0.8587), b模型工作点。

绘制多类分类器ROC曲线

为一个多类分类问题计算性能指标(FPR和TPR)rocmetrics对象,并绘制每个类的ROC曲线情节函数。指定AverageROCType名称-值参数情节创建多类问题的平均ROC曲线。

加载fisheriris数据集。矩阵包含150种不同花朵的花朵尺寸。向量物种列出每种花的种类。物种包含三种不同的花名。

负载fisheriris

训练一个分类树,将观察结果分类为三个标签中的一个。使用10倍交叉验证交叉验证模型。

rng (“默认”%的再现性Mdl = fitctree(量、物种,Crossval =“上”);

计算验证倍数观察的分类分数。

[~,分数]= kfoldPredict (Mdl);大小(分数)
ans =1×2150年3

输出分数矩阵的大小150——- - - - - -3..的列顺序分数按照类的顺序Mdl.中存储的类顺序Mdl。ClassNames

Mdl。ClassNames
ans =3 x1细胞{'setosa'} {'versicolor'} {'virginica'}

创建一个rocmetrics对象的真实标签物种分类分数在分数.的列顺序分数使用Mdl。ClassNames

rocObj = rocmetrics(物种,分数,Mdl.ClassNames);

rocObj是一个rocmetrics对象中每个类的AUC值和性能指标AUC而且指标属性。显示AUC财产。

rocObj。AUC
ans =1×31.0000 0.9636 0.9636

的表指标包含所有三个类的性能度量值,根据类的顺序垂直连接。查找并显示表中第二个类的行。

idx = strcmp (rocObj.Metrics.ClassName Mdl.ClassNames (2));rocObj.Metrics (idx:)
ans =13×4表ClassName阈值false posiicverate trueposiicverate ______________ _________ _________________ ________________ {'versicolor'} 1 0 0 {'versicolor'} 0.95455 0.02 0.8 {'versicolor'} 0.91304 0.03 0.9 {'versicolor'} -0.2 0.04 0.9 {'versicolor'} -0.33333 0.06 0.9 {'versicolor'} -0.86957 0.12 0.92 {'versicolor'} -0.91111 0.16 0.96 {'versicolor'} -0.95238 0.38 0.98 {'versicolor'} -0.95349 0.44 0.98{'versicolor'} -1 1 1

绘制每个类的ROC曲线。指定AverageROCType = "微"使用微平均方法计算平均ROC曲线的性能指标。

情节(rocObj AverageROCType =“微观”

图中包含一个axes对象。标题为ROC Curve的坐标轴对象包含8个roccurve、scatter、line类型的对象。这些对象分别代表了settosa (AUC = 1), settosa模型工作点,versicor (AUC = 0.9636), versicor模型工作点,virginica (AUC = 0.9636), virginica模型工作点,Micro-average (AUC = 0.9788)。

填充的圆标记表示模型操作点。图例显示了每条曲线的类名和AUC值。

多类分类ROC曲线

对于多类分类器,则rocmetrics函数计算每个类的单对全ROC曲线的性能指标平均函数计算ROC曲线平均值的度量。您可以使用情节函数绘制每个类的ROC曲线和平均ROC曲线。

一对全(OVA)编码设计

OVA编码设计将多类分类问题简化为一组二进制分类问题。在这种编码设计中,每个二进制分类将一个类视为正类,其余类视为负类。rocmetrics采用OVA编码设计进行多类分类,并采用类为正的二进制分类对每个类进行性能评估。

例如,三个类的OVA编码设计制定了三个二进制分类:

二进制1 二进制 2 二进制3 类1 1 1 1 二班 1 1 1 第 3 类 1 1 1

每一行对应一个类,每一列对应一个二进制分类问题。第一个二元分类假设类1是一个正类,其余的类是负类。rocmetrics利用第一个二元分类问题来评估第一个类的性能。

rocmetrics如果将分类分数指定为双列矩阵,则OVA编码设计也适用于二进制分类问题。rocmetrics提出了两个“一对所有”的二元分类问题,每个问题都将一个类视为正类,另一个类视为负类,并且rocmetrics发现两条ROC曲线。你可以用其中一个来计算二元分类问题。

平均绩效指标

方法可以计算平均ROC曲线的度量平均函数。或者,您也可以使用情节函数计算指标并绘制平均ROC曲线。有关示例,请参见求平均ROC曲线(例子平均),绘制多类分类器的平均ROC曲线(例子情节).

平均而且情节支持三种计算平均假阳性率(FPR)和平均真阳性率(TPR)的算法,求出平均ROC曲线:

  • 微平均-软件结合所有one-versus-all将二元分类问题分解为一个二元分类问题,计算平均性能指标如下:

    1. 中的值进行转换标签财产的rocmetrics对象为逻辑值,其中logical1真正的)表示每个二进制问题的正类。

    2. 将转换后的标签向量(每个二进制问题中的一个向量)堆叠成单个向量。

    3. 转换包含调整值的分类分数(分数属性)通过叠加矩阵的列变成一个向量。

    4. 的分量计算混淆矩阵对于组合二值问题的每个阈值(调整分数的每个不同值)。混淆矩阵包含真阳性(TP)、假阴性(FN)、假阳性(FP)和真阴性(TN)的实例数。

    5. 根据混淆矩阵的分量计算平均FPR和TPR。

  • 宏平均-该软件计算FPR和TPR的平均值,通过对所有一对一对所有二元分类问题的平均值。

    该软件使用三个指标-阈值,FPR和tpr -计算平均值如下:

    1. 确定一个固定的度量。如果您指定FixedMetricrocmetrics作为“FalsePositiveRate”“TruePositiveRate”,则函数保持指定的度量固定。否则,该函数保持固定的阈值。

    2. 中所有不同的值指标属性的固定度量。

    3. 为每个二进制问题找到其他两个度量的对应值。

    4. 求所有二元问题的FPR和TPR值的平均值。

  • 加权宏观平均——该软件使用宏观平均算法计算FPR和TPR的加权平均值,并使用先验类概率之前财产)作为权重。

性能指标

rocmetrics对象支持这些内置性能指标:

  • 真阳性数(TP)

  • 假阴性数(FN)

  • 假阳性数(FP)

  • 真阴性数(TN)

  • TP和FP的和

  • 正面预测率(RPP)

  • 负面预测率(RNP)

  • 精度

  • 真阳性率(TPR)、回忆或敏感性

  • 误报率(FNR)或漏报率

  • 假阳性率(FPR),沉降物,或1-特异性

  • 真阴性率(TNR),或特异性

  • 正预测值(PPV),或精度

  • 阴性预测值(NPR)

  • 预期成本

rocmetrics还支持指定为函数句柄的自定义度量。详细信息请参见AdditionalMetrics的名称-值参数rocmetrics函数。

rocmetrics计算每种阈值的性能度量值one-versus-all使用混淆矩阵、尺度向量和误分类代价矩阵的二元分类问题。每个性能指标都是混淆矩阵和尺度向量的函数。预期成本也是错误分类成本矩阵的函数,自定义度量也是如此。

  • 混淆矩阵——混淆矩阵包含真阳性(TP)、假阴性(FN)、假阳性(FP)和真阴性(TN)的实例数。rocmetrics为每个二进制问题计算各种阈值的混淆矩阵。

  • 比例向量——比例向量由先验类概率和真实标签中的类数量定义。rocmetrics类指定的先前类概率中查找每个二进制问题的概率和类数量之前参数指定的真标签标签输入参数。

  • 错误分类成本矩阵rocmetrics控件指定的错误分类代价矩阵成本名称-值参数为每个二进制问题的值。

默认情况下,rocmetrics使用所有不同的调整分值作为每个二进制问题的阈值。有关阈值的详细信息,请参见阈值、固定度量和固定度量值

混淆矩阵

混淆矩阵定义为

T P F N F P T N

在哪里

  • P代表“积极的”。

  • N代表“负面”。

  • T代表“true”。

  • F代表“false”。

例如,混淆矩阵的第一行定义了分类器如何识别阳性类的实例:TP是正确识别的阳性实例的计数,FN是错误识别为阴性的阳性实例的计数。

rocmetrics为每一个一元对全二元分类计算各种阈值的混淆矩阵。一元对全二元分类模型将观测值的得分大于或等于阈值的观测值归为正类。

前类概率

默认情况下,rocmetrics使用经验概率,它是真实标签中的类频率。

rocmetrics可实现1——- - - - - -K先验概率向量π到一个1——- - - - - -2为每一对所有二元分类的向量,其中K是类的数量。

先验概率k一种二进制分类,其中正数类是kth类 π k 1 π k ,在那里πk是类的先验概率吗k在多类问题中。

尺度向量

rocmetrics定义一个比例向量年代k的大小2——- - - - - -1对于每一个一元对全二元分类问题:

年代 k 1 π k N + 1 π k P π k N 1 π k P

在哪里P而且N分别表示正类和负类的实例总数。也就是说,P是TP和FN的和,和N是FP和TN的和。年代k(1)(第一个元素年代k),年代k(2)(第二个元素年代k)是正面类的量表(k第类)和负类(其余)分别。

rocmetrics将刻度值作为乘数因子应用于对应类的计数。也就是说,函数将正类的计数乘以年代k(1)从负类开始计数年代k(2).例如,要计算正预测值(PPV = TP / (TP + FP))kth二元问题,rocmetrics尺度PPV如下:

P P V 年代 k 1 T P 年代 k 1 T P + 年代 k 2 F P

误分类代价矩阵

默认情况下,rocmetrics使用一个K——- - - - - -K成本矩阵C,在那里Cj) =1如果~ =j,Cj) =0如果jC (i, j)将一个点分类到类的成本是多少j如果它真正的阶级是(也就是说,行对应真正的类,列对应预测的类)。

rocmetrics可实现K——- - - - - -K成本矩阵C到一个2——- - - - - -2每一个二元分类的矩阵:

C k 0 成本 k N | P 成本 k P | N 0

Ck成本矩阵是k一种二进制分类,其中正数类是kth类,成本k(N | P)把一个积极的类错误地分类为消极的类的代价是什么成本k(P | N)就是把消极类错误地分类为积极类的代价。

为类k,让πk+而且πk-K——- - - - - -1具有以下值的向量:

π k + π 如果 k 0 否则 π k 0 如果 k π 否则

πki+而且πki-th元素πk+而且πk-,分别。

分类一个正类的成本k)观察进入负类(其余)是

成本 k N | P π k + C π k

同样地,将一个消极类的观察结果分类为积极类的代价是

成本 k P | N π k C π k +

分类评分和阈值

rocmetrics函数根据输入的分类分数或FixedMetricValues名称-值参数。

分类评分输入rocmetrics

rocmetrics接受分类成绩(分数)的大小矩阵n——- - - - - -K或者一个长度的向量n,在那里n观察的次数和K是数字类。对于旨在数据,分数可以是向量的单元格数组或矩阵的单元格数组。

  • 矩阵的大小n——- - - - - -K——指定分数的第二个输出参数预测分类模型对象的函数(如预测ClassificationTree).输出的每一行包含所有类的观察结果的分类分数,并且输出的列顺序与中的类顺序匹配一会属性。您可以指定分数作为二元分类和多类分类问题的矩阵。

    如果你使用矩阵格式,rocmetrics根据其他类的分数调整每个类的分类分数。具体地说,给定观察值的班级的调整分数是班级的分数与其他班级分数最大值之间的差值。有关更多细节,请参见调整了多类分类问题的分数

  • 向量的长度n——指定分数当您只有一个类的分类分数时,使用向量。当你想对一个多课问题使用不同类型的调整分数时,矢量输入也很适合。举个例子,考虑一个有三个类的问题,一个B,C.如果您想计算分离类的性能曲线一个而且B,C如果忽略了,您需要解决选择中的模糊性一个B.你可以使用分数比率s (A) / s (B)或得分差异- s s (A) (B)然后把向量传递给rocmetrics;这种方法可以依赖于分数的性质及其规范化。

您可以使用rocmetrics使用为输入数据实例返回数值分数的任何分类器或任何函数。

  • 对于给定实例和类,分类器返回的高分表示该实例可能来自各自的类。

  • 较低的分数表示实例不太可能来自各自的类。

对于某些分类器,您可以将评分解释为观察给定观察值的类实例的后验概率。这种分数的一个例子是在决策树的叶子中对某个类的观察分数。在这种情况下,分数的范围从0到1,所有班级的分数加起来为1。其他函数可以返回介于负无穷和正无穷之间的分数,从分数到后验类概率之间没有任何明显的映射。

rocmetrics对输入分数范围没有任何要求。由于缺乏规范化,您可以使用rocmetrics处理由任何分类、回归或拟合函数返回的分数。rocmetrics没有对输入分数的性质做任何假设。

rocmetrics用于返回分数的分类器,而不是仅返回预测类的分类器。考虑这样一个分类器,它对包含两个类的数据只返回分类标签0或1。在这种情况下,性能曲线减少到一个点,因为软件只能以一种方式将分类实例分为正面和负面类别。

调整了多类分类问题的分数

对于每个类,rocmetrics调整分类分数(输入参数分数rocmetrics)相对于其他课程的分数(如果你指定的话)分数作为一个矩阵。具体地说,给定观察值的班级的调整分数是班级的分数与其他班级分数最大值之间的差值。

例如,如果你有年代1年代2年代3.在一排分数对于三个类别的分类问题,调整后的分值为年代1-马克斯年代2年代3.),年代2-马克斯年代1年代3.),年代3.-马克斯年代1年代2)]

rocmetrics使用每个类的调整分值计算性能指标。

对于二进制分类问题,您可以指定分数作为一个两列矩阵或列向量。使用两列矩阵是一个更简单的选择,因为预测函数将分类分数作为矩阵返回,您可以传递给该矩阵rocmetrics.如果你在一个两列矩阵中传递分数,rocmetrics按照调整多类分类分数的相同方式调整分数,并计算两个类的性能指标。您可以使用这两个类中的一个的度量值来评估二进制分类问题。返回的类的度量值rocmetrics传递一个两列矩阵时,它们等价于返回的度量值rocmetrics当将类的分类分数指定为列向量时。

模型操作点

模型工作点代表典型阈值对应的FPR和TPR。

的输入格式决定了典型的阈值分数类时指定的参数(分类分数)rocmetrics对象:

  • 如果您指定分数作为一个矩阵,rocmetrics中的值分数分数是否用于多类分类问题和用途调整分值。多类分类模型将观察结果划分为产生最大分数的一类,对应于调整分数中的非负分。因此,阈值为0

  • 如果您指定分数作为列向量,rocmetrics中的值分数类的后验概率是否在一会.二元分类模型将观察结果划分为后验概率较高的一类,即后验概率大于0.5.因此,阈值为0.5

对于二进制分类问题,您可以指定分数作为一个两列矩阵或列向量。但是,如果分类分数不是后验概率,则必须指定分数作为一个矩阵。二进制分类器将观察结果分类为产生较大分数的类,这与产生非负调整分数的类等价。因此,如果指定分数作为二元分类器的矩阵,rocmetrics可以使用应用于多类分类器的相同方案找到正确的模型操作点。如果你指定的分类分数不是作为向量的后验概率,rocmetrics不能识别一个正确的模型操作点,因为它总是使用0.5作为模型操作点的阈值。

情节函数在每个ROC曲线的模型操作点上显示一个填充的圆标记(参见ShowModelOperatingPoint).函数选择一个与典型阈值对应的点。如果曲线上没有典型阈值的数据点,函数会找到一个阈值小于典型阈值的点。曲线上的点表示与典型阈值的性能相同。

示例请参见求模型工作点和最优工作点

阈值、固定度量和固定度量值

rocmetrics找到与固定值对应的ROC曲线和其他度量值(FixedMetricValues的名称-值参数)(FixedMetric参数),并将值存储在指标属性作为表。

默认的FixedMetric值是“阈值”,默认为FixedMetricValues值是“所有”.对于每个类,rocmetrics使用所有不同的调整分值作为阈值,计算组件的混淆矩阵为每个阈值,然后使用混淆矩阵组件计算性能指标。

如果使用默认值FixedMetricValues值(“所有”),指定一个非默认值FixedMetric值不会改变软件行为,除非指定计算置信区间。如果rocmetrics计算置信区间,然后保持FixedMetric固定在FixedMetricValues并计算其他指标的置信区间。有关更多细节,请参见逐点的置信区间

的非默认值FixedMetricValuesrocmetrics查找与指定的固定度量值对应的阈值(FixedMetricValuesFixedMetric),并使用阈值计算其他性能度量值。

  • 如果你设置UseNearestNeighbor名称-值参数,然后rocmetrics使用与指定的固定度量值对应的精确阈值。

  • 如果你设置UseNearestNeighbor真正的,那么在调整后的分数中,rocmetrics找到与每个指定的固定度量值对应的阈值最接近的值。

指标属性包含一个附加的阈值,该阈值复制每个类的最大阈值,以便ROC曲线从原点开始(0,0).附加阈值表示拒绝所有阈值,TP《外交政策》0(无阳性实例,即零真阳性实例和零假阳性实例)。

另一个特殊的阈值指标接受所有阈值,这是最小的阈值TNFN0(无负实例,即0个真负实例和0个假负实例)。

注意,阳性预测值(PPV = TP / (TP + FP))是对于拒绝全部阈值,阴性预测值(净现值= TN / (TN + FN))是对于接受全部阈值。

南得分值

rocmetrics流程分类分数输入(分数)以两种方式之一:

  • 如果您指定NaNFlag= " omitnan "(默认)rocmetrics丢弃行分数。

  • 如果您指定NaNFlag = " includenan ",然后rocmetrics的实例添加对于每一个二元分类,错误分类的分数在各自的类别中计数。也就是说,对于任何阈值,软件都用实例计数将阳性类的分数作为假阴性(FN),并使用阴性班级的分数为假阳性(FP)。该软件计算对应于的阈值的度量1通过将真阳性(TP)实例的数量设置为零,将真阴性(TN)实例的数量设置为总计数减去算作负类。

考虑这样一个例子,正类中有两行,负类中有两行,每对都有一个分数:

真正的类标签 分类分
0.2
积极的 0.7
积极的

如果丢弃行分数(NaNFlag = " omitnan "),则随着分数阈值的变化,rocmetrics计算如下表所示的性能指标。例如,阈值为0.5对应于中间行rocmetrics正确地对第1行和第3行进行分类,并省略第2行和第4行。

阈值 TP FN 《外交政策》 TN
1 0 1 0 1
0.5 1 0 0 1
0 1 0 1 0

如果你用所属班级错误类别的得分(NaNFlag = " includenan "),rocmetrics计算如下表所示的性能指标。例如,阈值为0.5对应于中间行rocmetrics将第2行和第4行计算为分类错误。注意,只有FN而且《外交政策》这两个表之间的列是不同的。

阈值 TP FN 《外交政策》 TN
1 0 2 1 1
0.5 1 1 1 1
0 1 1 2 0

逐点的置信区间

rocmetrics通过使用引导样本或交叉验证数据,计算性能指标的点态置信区间,包括AUC值和得分阈值。对象将值存储在指标而且AUC属性。

  • Bootstrap -要使用Bootstrap计算置信区间,请设置NumBootstraps正整数的名称-值参数。rocmetrics生成NumBootstraps引导样品。该函数通过随机选择创建每个引导样例n出了n带有替换的输入数据行。示例请参见使用Bootstrapping计算置信区间

  • 交叉验证——要使用交叉验证计算置信区间,请为真正的类标签指定交叉验证数据(标签)、分类分数(分数)和观察权重(权重)使用单元格数组。rocmetrics将单元格数组中的元素处理为交叉验证折叠。示例请参见用交叉验证的输入数据计算置信区间

不能同时指定两个选项。中指定自定义度量AdditionalMetrics,您必须使用bootstrap来计算置信区间。rocmetrics不支持自定义度量的交叉验证。

rocmetrics持有FixedMetric中指定的阈值、FPR、TPR或指标AdditionalMetrics)固定在FixedMetricValues计算AUC上的置信区间和与中的值对应的点的其他度量FixedMetricValues

  • 阈值平均(TA)(当FixedMetric“阈值”(默认))rocmetrics在固定的阈值上估计性能指标的置信区间。该函数在固定的阈值处采样,并对相应的度量值取平均值。

  • 垂直平均(VA)(当FixedMetric性能指标)-rocmetrics在固定的度量值上估计阈值和其他性能度量的置信区间。该函数在固定的度量值处采样,并取相应的阈值和度量值的平均值。

该函数仅在以下情况下估计AUC值的置信区间FixedMetric“阈值”“FalsePositiveRate”,或“TruePositiveRate”

参考文献

《ROC图:研究人员的注意事项和实际考虑》,机器学习31日。1(2004): 1-38。

茨威格,M.和G.坎贝尔。受试者工作特征(ROC)图:临床医学的基本评估工具。临床化学39岁的没有。4(1993): 561-577。

[3]戴维斯,J.和M.戈德里奇。《精度-召回率与ROC曲线之间的关系》ICML ' 06会议记录, 2006年,第233-240页。

莫斯科维茨,c.s.和m.s.佩佩。量化和比较二元结果的连续预后因素的预测准确性。生物统计学5,不。1(2004): 113 - 27所示。

[5]黄,Y., M. S. Pepe,冯铮。"评估连续标记的预测性"华盛顿大学生物统计学论文系列, 2006, 250 - 61。

布里格斯,W. M.和R.扎雷茨基。技能图:评估连续诊断测试的图形技术生物识别技术64年,没有。1(2008): 250 - 256。

[7] Bettinger R. <使用ROC凸包方法的代价敏感分类器选择>。SAS研究所, 2003年。

另请参阅

||||

Baidu
map