接收机工作特性(ROC)曲线或分类器输出的其他性能曲线
加载示例数据。
加载fisheriris
只使用前两个特性作为预测变量。仅使用与物种versicolor和Virginica对应的测量来定义二进制分类问题。
pred = meas(51:末端,1:2);
定义二进制响应变量。
resp =(1:100)'> 50;%versicolor = 0,virginica = 1
适合逻辑回归模型。
mdl = fitglm (pred职责,“分布”那“二”那“链接”那'logit');
计算ROC曲线。使用Logistic回归模型的概率估计作为分数。
得分= mdl.fitted.probability;[x,y,t,auc] = perfcurve(物种(51:结束,:),得分,“virginica”);
perfcurve
存储数组中的阈值T.
.
显示曲线下的面积。
AUC
AUC = 0.7918.
曲线下的区域为0.7918。最大AUC为1,其对应于完美的分类器。较大的AUC值表示更好的分类器性能。
绘制ROC曲线。
情节(X, Y)包含(的假阳性率) ylabel (“真阳性率”) 标题('通过Logistic回归分类的ROC')
加载示例数据。
加载电离层
X
是一个351x34实值的预测矩阵。y
是类标签的字符数组:“b”
因为雷达信号不好'G'
为了良好的雷达回报。
重新格式化响应以适应逻辑回归。使用预测变量3到34。
resp = strcmp (Y,“b”);%resp = 1,如果y ='b',或0如果y ='g'pred = X (: 34);
拟合逻辑回归模型来估计雷达返回差的后验概率。
mdl = fitglm (pred职责,“分布”那“二”那“链接”那'logit');score_log = mdl.Fitted.Probability;%概率估计数
使用分数的概率计算标准的ROC曲线。
[Xlog, Ylog Tlog AUClog] = perfcurve(职责、score_log“真正的”);
在同一示例数据上列车SVM分类器。标准化数据。
mdlsvm = fitcsvm(pred,Resp,“标准化”,真正的);
计算后验概率(分数)。
mdlSVM = fitPosterior (mdlSVM);[~, score_svm] = resubPredict (mdlSVM);
第二列score_svm
包含不良雷达返回的后验概率。
使用SVM模型的分数计算标准ROC曲线。
[Xsvm, Ysvm Tsvm AUCsvm] = perfcurve(职责,score_svm (:, mdlSVM.ClassNames),“真正的”);
适用于同一样本数据的野贝雷斯分类器。
mdlnb = fitcnb(pred,chab);
计算后验概率(分数)。
[〜,score_nb] = ResubPredict(MDLNB);
使用Naive Bayes分类的分数计算标准ROC曲线。
[Xnb, Ynb, Tnb AUCnb] = perfcurve(职责,score_nb (:, mdlNB.ClassNames),“真正的”);
在同一图表上绘制ROC曲线。
绘图(Xlog,Ylog)保持在plot(xsvm,ysvm)图(xnb,ynb)图例(逻辑回归的那“金宝app支持向量机”那'天真的贝叶斯'那“位置”那'最好')包含(的假阳性率);ylabel (“真阳性率”);标题(用于Logistic回归、支持向量机和朴素贝叶斯分类的ROC曲线)举行离开
虽然SVM为更高的阈值产生了更好的ROC值,但Logistic回归通常更好地区分来自优质的雷达返回。天真贝叶斯的ROC曲线通常低于其他两个ROC曲线,这表明比其他两个分类方法更差。
比较所有三个分类器的曲线下面积。
AUClog
AUClog = 0.9659
Aucsvm.
AUCSVM = 0.9489
Aucnb.
AUCnb = 0.9393
Logistic回归具有最高的AUC措施,用于分类和幼稚贝叶斯最低。此结果表明,Logistic回归对该示例数据具有更好的样本平均性能。
此示例显示如何使用ROC曲线确定分类器中自定义内核函数的更好参数值。
在单位圆圈内生成一组随机的点。
RNG(1);%的再现性n = 100;%每象限点数r1 =√兰特(2 * n, 1));%随机半径t1 = [pi / 2 * rand(n,1);(PI / 2 * rand(n,1)+ pi)];Q1和Q3的%随机角度x1 = [r1。* cos(t1)r1。* sin(t1)];%北笛卡尔转换R2 = SQRT(RAND(2 * N,1));t2 = [pi / 2 * rand(n,1)+ pi / 2;(PI / 2 * rand(n,1)-pi / 2)];Q2和Q4的%随机角度x2 = [r2。* cos(t2)r2。* sin(t2)];
定义预测变量。第一个和第三象限的标签点属于正类,负数中的第二和第四象限中的标签点。
pred = [X1;X2);resp = 1 (4 * n, 1);rep (2*n + 1:end) = -1; / /结束% 标签
创建功能mysigmoid.m.
,它在特征空间中接受两个矩阵作为输入,并使用Sigmoid内核将它们转换为克矩阵。
函数G = mysigmoid (U, V)s形核函数,斜率为gamma,截距为c伽玛= 1;c = -1;g = tanh(gamma * u * v'+ c);结尾
使用s形核函数训练SVM分类器。将数据标准化是一个很好的做法。
svmmodel1 = fitcsvm(pred,Resp,“KernelFunction”那“mysigmoid”那......“标准化”,真正的);SVMModel1 = fitPosterior (SVMModel1);[~, scores1] = resubPredict (SVMModel1);
集伽玛= 0.5
;之内mysigmoid.m.
并另存为mysigmoid2.m.
.并且,使用调整后的Sigmoid内核列出SVM分类器。
函数g = mysigmoid2(u,v)s形核函数,斜率为gamma,截距为c伽玛= 0.5;c = -1;g = tanh(gamma * u * v'+ c);结尾
svmmodel2 = fitcsvm(pred,Resp,“KernelFunction”那“mysigmoid2”那......“标准化”,真正的);SVMModel2 = fitPosterior (SVMModel2);[~, scores2] = resubPredict (SVMModel2);
计算两种模型的ROC曲线和曲线下面积(AUC)。
[x1,y1,〜,auc1] = perfcurve(resp,scors1(:,2),1);[X2,Y2,〜,AUC2] = perfcurve(RESP,Scors2(:,2),1);
绘制ROC曲线。
情节(x1, y1)在绘图(x2,y2)持有离开传奇('伽玛= 1'那“γ= 0.5”那“位置”那'se');包含(的假阳性率);ylabel (“真阳性率”);标题(“ROC用于SVM分类”);
gamma参数设置为0.5的核函数给出了更好的样本内结果。
比较AUC措施。
AUC1 AUC2
AUC1 = 0.9518 AUC2 = 0.9985
gamma设置为0.5的曲线下面积比gamma设置为1的曲线下面积高。这也证实了gamma参数值为0.5会产生更好的结果。对于这两个gamma参数值的分类性能的视觉比较,请参见使用自定义核训练SVM分类器.
加载示例数据。
加载fisheriris
栏载体,物种
,包括三种不同种类的鸢尾花:setosa,versicolor,virginica。双矩阵量
由花上的四种测量值组成:萼片长度,萼片宽度,花瓣长度和花瓣宽度。所有测量单位都是厘米。
以萼片长度和宽度作为预测变量,训练分类树。指定类名是一个很好的实践。
型号= FITCTREE(MEAS(:,1:2),物种,......'classnames',{“setosa”那“多色的”那“virginica”});
基于树预测类的类标签和分数模型
.
[〜,得分] = ResubPredict(模型);
分数是一个观察(数据矩阵中的一行)属于一个类的后验概率。的列分数
对应于指定的类'classnames'
.因此,第一列对应于Setosa,第二列对应于versicolor,第三列对应于Virginica。
给定真实的类别标签,计算观测属于versicolor的预测的ROC曲线物种
.还计算最佳操作点和y负子类的值。返回负类的名称。
因为这是一个多阶层的问题,你不能仅仅提供得分(:,2)
作为输入perfcurve
.这样做不会给perfcurve
有关两个负类(Setosa和Virginica)的分数的足够信息。这个问题与二进制分类问题不同,在其中知道一个类的得分足以确定其他类的分数。因此,您必须提供perfcurve
在两个负类的分数中的功能中的功能。一个这样的功能是
.
DiffScore =得分(:,2) - Max(得分(:,1),得分(:,3));[x,y,t,〜,optrocpt,suby,subnames] = perfcurve(种类,差错,“多色的”);
X
,默认情况下,是假阳性率(辐射或1特异性)和y
,默认情况下,是真正的阳性率(召回或灵敏度)。正类标签是多色的
.因为没有定义负类,perfcurve
假设不属于正类的观察结果属于一类。函数接受它作为负类。
OPTROCPT
OPTROCPT =1×20.1000 - 0.8000
suby
Suby =12×200 0.1800 0.1800 0.4800 0.4800 0.5800 0.5800 0.6200 0.8000 0.8000 0.8800 0.8800 0.9200 0.9200 0.9200 0.9600 0.9600 0.9800 0.9800⋮
subnames
subnames =1x2细胞{'setosa'} {'virginica'}
绘制ROC曲线和ROC曲线上的最佳工作点。
情节(X, Y)在Plot(Optrocpt(1),Optrocpt(2),“罗”)包含(的假阳性率) ylabel (“真阳性率”) 标题(“分类树分类的ROC曲线”)举行离开
找到对应于最佳操作点的阈值。
T((x == Optrocpt(1))&(y == Optrocpt(2))))
ans = 0.2857.
指定弗吉纳斯
作为负类并计算和绘制ROC曲线多色的
.
再一次,你必须提供perfcurve
在负类的分数中具有函数的功能。使用函数的示例是
.
Diffscore = score(:,2) - score(:,3);[X, Y, ~, ~, OPTROCPT] = perfcurve(物种,diffscore,“多色的”那......'negclass'那“virginica”);OPTROCPT
OPTROCPT =1×20.1800 - 0.8200
人物,情节(X, Y)在Plot(Optrocpt(1),Optrocpt(2),“罗”)包含(的假阳性率) ylabel (“真阳性率”) 标题(“分类树分类的ROC曲线”)举行离开
加载示例数据。
加载fisheriris
列向量物种
由三种不同物种的虹膜花组成:setosa,versicolor,virginica。双矩阵量
由花上的四种测量值组成:萼片长度,萼片宽度,花瓣长度和花瓣宽度。所有测量单位都是厘米。
只使用前两个特性作为预测变量。定义一个二元问题,只使用对应于花斑和弗吉尼亚物种的测量值。
pred = meas(51:末端,1:2);
定义二进制响应变量。
resp =(1:100)'> 50;%versicolor = 0,virginica = 1
适合逻辑回归模型。
mdl = fitglm (pred职责,“分布”那“二”那“链接”那'logit');
通过垂直平均(VA)和bootstrap抽样计算真阳性率(TPR)的点态置信区间。
[X, Y, T] = perfcurve(物种(51:,:),mdl.Fitted.Probability,......“virginica”那'nboot',1000,“XVals”,[0:0.05:1]);
'nboot',1000
将引导副本的数量设置为1000。'xvals','全部'
提示perfcurve
返回X
那y
, 和T.
所有分数的值,以及平均值y
值(真正的阳性率)根本X
值(假阳性率)使用垂直平均。如果您未指定xvals.
,然后perfcurve
默认使用阈值计算置信度界限。
绘制点态置信区间。
errorbar (X, Y (: 1), Y (: 1) - Y (:, 2), Y (:, 3) - Y (: 1));xlim ([-0.02, 1.02]);ylim ([-0.02, 1.02]);包含(的假阳性率) ylabel (“真阳性率”) 标题(“具有点态置信界限的ROC曲线”) 传奇('pcbwva'那“位置”那'最好')
可能并不总是能够控制假阳性率(FPR, theX
在这个例子中的价值)。因此,您可能希望通过阈值平均来计算真正的阳性率(TPR)上的点置信区间。
[x1,y1,t1] = perfcurve(物种(51:结束,:),mdl.fitted.probability,......“virginica”那'nboot',1000);
如果你设置了'tvals'
来'全部'
,或者您没有指定'tvals'
或'xvals'
,然后perfcurve
回报X
那y
, 和T.
的值,并计算逐点置信边界X
和y
使用阈值平均。
绘制置信度界限。
图()errorbar (X1 (: 1), Y1(: 1),日元(:1)日元(:,2),日元(:,3)日元(:1));xlim ([-0.02, 1.02]);ylim ([-0.02, 1.02]);包含(的假阳性率) ylabel (“真阳性率”) 标题(“具有点态置信界限的ROC曲线”) 传奇('pcbwta'那“位置”那'最好')
指定要固定的阈值并计算ROC曲线。然后画出曲线。
[x1,y1,t1] = perfcurve(物种(51:结束,:),mdl.fitted.probability,......“virginica”那'nboot',1000,'tvals', 0:0.05:1);图()errorbar (X1 (: 1), Y1(: 1),日元(:1)日元(:,2),日元(:,3)日元(:1));xlim ([-0.02, 1.02]);ylim ([-0.02, 1.02]);包含(的假阳性率) ylabel (“真阳性率”) 标题(“具有点态置信界限的ROC曲线”) 传奇('pcbwta'那“位置”那'最好')
标签
-真正的类标签真正的类标签,指定为数字向量、逻辑向量、字符矩阵、字符串数组、字符向量的单元格数组或类别数组。有关更多信息,请参见分组变量.
例子:{'hi','mid','hi','low',......,'mid'}
例子:[' H ', ' M ', ' H ', ' L ',…,“M”)
数据类型:单
|双倍的
|逻辑
|字符
|细绳
|细胞
|分类
分数
-分类器返回的分数分类器返回的分数用于某些示例数据,指定为浮点向量。分数
必须具有相同数量的元素标签
.
数据类型:单
|双倍的
Poscrass.
-正类标签正类标签,指定为数字标量,逻辑标量,字符向量,字符串标量,包含字符向量的单元格或分类标量。正类必须是输入标签的成员。的价值Poscrass.
您可以指定取决于值标签
.
标签 价值 |
Poscrass. 价值 |
---|---|
数字矢量 | 数字标量 |
逻辑矢量 | 逻辑标量 |
字符矩阵 | 字符向量 |
字符串数组 | 字符串标量 |
字符向量的单元格数组 | 含有字符向量的字符载体或细胞 |
分类向量 | 绝对标量 |
例如,在癌症诊断问题中,如果恶性肿瘤是正类,则指定Poscrass.
作为“恶性”
.
数据类型:单
|双倍的
|逻辑
|字符
|细绳
|细胞
|分类
指定可选的逗号分离对名称,价值
论点。的名字
是参数名称和价值
为对应值。的名字
必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen
.
'namclass','versicolor','xcrit','fn','nboot',1000,'boottype','per'
指定物种Versicolor作为否定类,X坐标作为假阴性的标准,引导样本的数量为1000.它还指定使用百分位方法计算点置信界限。
“NegClass”
-负类清单'全部'
(默认)|数字数组|分类阵列|字符串数组|字符向量的单元格阵列作为逗号分隔对指定的负类列表“NegClass”
和数字阵列,分类阵列,字符串数组或字符向量的单元数组数组。默认情况下,perfcurve
套负面的
来'全部'
并将标签输入数组中的所有非正数类视为负数。
如果负面的
是标签阵列中找到的类的子集,然后perfcurve
丢弃标签不属于正类或负类的实例。
例子:NegClass,{“癣”、“setosa”}
数据类型:单
|双倍的
|分类
|字符
|细绳
|细胞
'xcrit'
-计算的标准X
'FPR'
(默认)|'fnr'
|'tnr'
|'PPV'
|“ecost”
|……计算的标准X
,指定为逗号分隔的配对组成'xcrit'
以及以下之一。
标准 | 描述 |
---|---|
tp |
真正的实例数量 |
FN. |
假否定实例的数量。 |
FP. |
误报的数量。 |
tn |
真正的否定实例数。 |
TP + FP. |
真正的积极和假实例的总和。 |
齿槽 |
积极预测的速度。RPP =(TP + FP)/(TP + Fn + FP + Tn) |
rnp |
消极预测率。rnp = (tn + fn) / (tp + fn + fp + tn) |
范围 |
准确性。ACCU =(TP + TN)/(TP + FN + FP + TN) |
tpr ,或sens ,或reca |
真正的阳性率,或敏感性或召回。Tpr = sens = reca = tp/(tp+fn) |
FNR. ,或错过 |
假负率,或错过。FNR = miss = fn/(tp+fn) |
FPR. ,或落下 |
假阳性率,或辐射,或1特异性。FPR = fall = fp/(tn+fp) |
tnr ,或规格 |
真阴性率,或特异性。TNR = spec = tn/(tn+fp) |
PPV ,或前的 |
阳性预测值或精确度。ppv = prec = tp /(tp + fp) |
NPV. |
否定预测值。npv = tn /(tn + fn) |
怪诞 |
预期成本。Ecost =(tp *成本(p | p)+ fn *成本(n | p)+ fp *成本(p | n)+ tn *成本(n | n))/(tp + fn + fp + tn) |
自定义标准 | 具有输入参数的自定义函数(c,规模,成本) , 在哪里C 是一个2 × 2矩阵,规模 是一个2×1级别的级别尺度和成本 是一个2 × 2的误分类代价矩阵。 |
警告
其中一些标准返回南
两个特殊阈值之一的值,拒绝所有的
和'全都接受'
.
例子:“XCrit”、“ecost”
“ProcessNaN”
-perfcurve
方法进行处理南
分数“忽略”
(默认)|“addtofalse”
perfcurve
方法进行处理南
分数,指定为逗号分隔对“ProcessNaN”
和“忽略”
或“addtofalse”
.
如果ProcessNaN
是“忽略”
,然后perfcurve
删除的观察与南
来自数据的分数。
如果ProcessNaN
是“addtofalse”
,然后perfcurve
添加实例南
分数到错误分类计数在各自的类。也就是说,perfcurve
总是将阳性类的实例计数为假阴性(FN),并且总是将阴性类的实例计数为假阳性(FP)。
例子:'processnan','addtofalse'
'事先的'
-正面和负类的现有概率'经验'
(默认)|'制服'
|数组有两个元素正面和负类的现有概率,指定为逗号分隔的配对组成'事先的'
和'经验'
那'制服'
或有两个元素的数组。
如果之前
是'经验'
,然后perfcurve
从类频率中源的概率。
如果之前
是'制服'
,然后perfcurve
设置所有先验概率相等。
例子:“之前”,[0.3,0.7]
数据类型:单
|双倍的
|字符
|细绳
“成本”
-错误分类成本[0 0.5; 0.5 0]
(默认)|2-by-2矩阵误分类代价,指定为逗号分隔对组成“成本”
和一个2×2矩阵,包含[成本(p | p),成本(n | p);成本(p | n),成本(n | n)]
.
成本(n | p)
是将积极班级作为负类错误分类的成本。成本(P | N)
是将负类作为正班的费用。通常,成本(p | p)
= 0和成本(n | n)
= 0,但perfcurve
允许您为正确的分类指定非零成本。
例子:'成本',[0 0.7; 0.3 0]
数据类型:单
|双倍的
“重量”
-观察权重观察权值,指定为逗号分隔的对,由“重量”
和一个非负标量值的向量。这个向量必须有和分数
或标签
做。
如果分数
和标签
在细胞阵列中,您需要提供重量
,权重也必须是单元阵列。在这种情况下,每个元素重量
必须是一个数字向量,其元素个数与相应元素相同分数
.例如,元素个数(重量{1})= =元素个数(分数{1})
.
什么时候perfcurve
计算X
那y
和T.
或者使用交叉验证的置信界限,它使用这些观察权重而不是观察计数。
什么时候perfcurve
使用bootstrap计算置信度,它抽样N在......之外N观察与替换,使用这些权重作为多项抽样概率。
默认值是1S或单元数组的向量,其中每个元素是1s的向量。
数据类型:单
|双倍的
|细胞
“BootType”
-置信区间类型Bootci.
'BCA'
(默认)|的规范
|'每'
|“cpe”
|'螺柱'
置信区间类型Bootci.
用于计算置信范围,指定为逗号分隔对,由“BootType”
和以下之一:
'BCA'
- 偏见校正和加速百分位方法
的规范
或“正常”
-带引导偏差和标准误差的正常近似区间
'每'
或'百分位数'
- 百分位方法
“cpe”
或'纠正百分位数'
- 偏置校正百分位方法
'螺柱'
或'学生'
-学习置信区间
例子:'boottype','cper'
“BootArg”
-的可选输入参数Bootci.
{'nbootstd',nbootstd}
|{'stderr',stderr}
的可选输入参数Bootci.
计算置信度界限,指定为分开的配对组成“BootArg”
和{'nbootstd',nbootstd}
或{'stderr',stderr}
,名称 - 值对参数Bootci.
.
当您计算学生化的引导信心间隔时(“BootType”
是'学生'
),您可以另外指定'nbootstd'
或'stderr'
,名称 - 值对参数Bootci.
, 通过使用“BootArg”
.
'bootarg',{'nbootstd',nbootstd}
使用Bootstrap估算Bootstrap统计信息的标准错误nbootstd.
数据样本。nbootstd.
是一个正整数,其默认值为100。
BootArg, {Stderr, Stderr}
通过用户定义的函数评估引导统计数据的标准错误stderr
这需要[1:数量(得分)]'
作为输入参数。stderr
是函数句柄。
例子:'bootarg',{'nbootstd',nbootstd}
数据类型:细胞
'选项'
-控制置信区间计算的选项[]
(默认)|返回的结构数组实例化
用于控制置信区间计算的选项,置信区间指定为逗号分隔对,由'选项'
和返回的结构阵列实例化
.这些选项需要并行计算工具箱™。perfcurve
使用此参数仅计算点击尖端界限。要计算这些界限,必须传递单元格数组标签
和分数
或集合NBoot
到一个正整数。
此表总结了可用选项。
选项 | 描述 |
---|---|
“UseParallel” |
|
'userubstreams' |
|
'溪流' |
一种
在这种情况下,使用与并行池相同大小的小区阵列。如果并行池未打开,那么 |
如果“UseParallel”
是真正的
和'userubstreams'
是错误的
,然后是长度'溪流'
必须等于使用的工人数量perfcurve
.如果并行池已经打开,则'溪流'
是并行池的大小。如果一个并行池还没有打开,那么MATLAB®根据您的安装和偏好,可能会为您打开游泳池。为确保更可预测的结果,使用parpool.
(并行计算工具箱)并在调用之前显式创建并行池perfcurve
和设置'选项',statset('deverypallellel',true)
.
例子:'选项',statset('deverypallellel',true)
数据类型:塑造
T.
—分类器评分的阈值如果perfcurve
没有计算点置信界限,或使用阈值平均计算它们T.
是矢量。
如果perfcurve
使用垂直平均计算置信界限,T.
是一个m3矩阵,m是固定的数量X
值。第一列T.
包含平均值。第二列和第三列分别包含点态置信界的下界和上界。
对于每个门槛,TP.
分数大于或等于这个阈值的真实积极观察的计数,和FP.
是具有大于或等于该阈值的分数的假阳性观测的计数。perfcurve
定义负数,TN.
和FN.
,以类似的方式。然后该函数以降序顺序对对应于正数的升序进行排序。
为了m在分数阵列中发现的明显阈值,perfcurve
返回X
那y
和T.
阵列与m+ 1行。perfcurve
集元素T (2:m+1)
到不同的阈值t(1)
重复T (2)
.按照惯例,t(1)
代表最高的拒绝所有的
门槛,且perfcurve
计算对应的值X
和y
为了TP = 0.
和FP = 0.
.这趋向)
价值是最低的'全都接受'
阈值TN = 0
和fn = 0.
.
AUC
-曲线下面积曲线下的区域(AUC
的计算值X
和y
,作为标量值或3×1向量返回。
如果perfcurve
没有计算点置信界限那AUC
是标量值。
如果perfcurve
使用垂直平均计算置信界限,AUC
是一个3 × 1的向量。第一列AUC
包含平均值。第二列和第三列分别包含置信界的下界和上界。
对于完美的分类器,AUC = 1。对于随机分配观察到的类的分类器,AUC = 0.5。
如果你设置了xvals.
来'全部'
(默认)perfcurve
计算AUC
使用返回的X
和y
值。
如果xvals.
那是一个数字数组,然后perfcurve
计算AUC
使用X
和y
间隔中的所有不同分数的值,这些分数由最小和最大的元素指定xvals.
.更准确地说,perfcurve
发现X
所有不同阈值的值xvals.
被设置为'全部'
,然后使用其中的一个子集(与相应的y
价值观之间分钟(XVals)
和马克斯(XVals)
计算AUC
.
perfcurve
使用梯形近似来估计该区域。如果是第一个或最后一个值X
或y
是南
那么perfcurve
删除它们以允许计算AUC
.这照顾了产生的标准南
特别的是特别的拒绝所有的
或'全都接受'
阈值,例如阳性预测值(PPV)或负预测值(NPV)。
OPTROCPT
- ROC曲线的最佳操作点ROC曲线的最佳操作点,作为一个1×2阵列,具有假阳性率(FPR)和最佳ROC操作点的真正阳性率(TPR)值。
perfcurve
计算OPTROCPT
仅限标准ROC曲线,并设置为南
否则。获得ROC曲线的最佳操作点,perfcurve
首先求斜率,S., 使用
成本(N|P.是将正类误分类为负类的代价。成本(P.|N)是将负类作为正级别错误分类的成本。
p = tp + fn和N = tn + fp.它们分别是正类和负类中的实例总数。
perfcurve
然后通过直线带斜率的运动找到最优工作点S.从ROC图的左上角(玻璃钢= 0
那TPR = 1
)向下和向右,直到与ROC曲线相交。
如果您提供单元格阵列标签
和分数
,或者如果你设置NBoot
到一个正整数,然后perfcurve
的点向置信范围X
那y
那T.
, 和AUC
.您无法提供单元格阵列标签
和分数
并设置NBoot
同时变成一个正整数。
perfcurve
使用交叉验证或Bootstrap来计算数据以计算置信范围。
perfcurve
使用以下两种方法之一估计置信范围:
垂直平均(VA) -perfcurve
估计置信限y
和T.
固定值X
.也就是说,perfcurve
取固定的ROC曲线样本X
值,取相应的平均值y
和T.
值,并计算标准误差。你可以使用xvals.
名称-值对参数来修复X
计算置信界限的值。如果您未指定xvals.
,然后perfcurve
计算束缚界限X
值。
阈值平均(ta) -perfcurve
固定阈值采集ROC曲线样本T.
对于积极的班级分数,取相应的平均值X
和y
值,并估计置信度界限。你可以使用TVALS
名称值对参数用于使用此方法来计算置信界限。如果你设置了TVALS
来'全部'
或者不具体说明TVALS
或xvals.
,然后perfcurve
回报X
那y
, 和T.
的值,并计算逐点置信边界y
和X
使用阈值平均。
当你计算置信限时,y
是一个m-By-3阵列,在哪里m是固定的数量X
值或阈值(T.
值)。第一列y
包含平均值。第二和第三列包含点绑定的下界和上限的点置信界限。AUC
是与同一惯例相同的三个元素的行矢量。如果perfcurve
然后使用VA计算置信界限T.
是一个m3矩阵,X
是一列栏矢量。如果perfcurve
使用助教,然后X
是一个m-By-3矩阵和T.
是一个列矢量。
perfcurve
返回点置信界限。它不会返回整个曲线的同时置信带。
[1] T. Fawcett。“ROC图表:研究人员的注释和实践考虑”,2004年。
[2] Zweig,M.和G. Campbell。“接收器 - 操作特征(ROC)地块:临床医学中的基本评价工具。”临床。Chem..1993年,39/4,pp。561-577。
[3]戴维斯,J.和M. Goadrich。“精密召回与ROC曲线之间的关系。”ICML '06的诉讼程序,2006年,第233-240页。
莫斯科维茨和佩佩。“量化和比较连续预后因素对二元预后的预测准确性。”生物统计学,2004,5,pp。113-127。
黄勇,M. Pepe,冯志峰。"评估连续标记的预测性"美国华盛顿生物统计纸系列, 2006, 250 - 261。
[6] Briggs,W.和R. Zaretzki。“技能图:一种评估连续诊断测试的图解技术。”生物识别学,2008,63,pp。250 - 261。
[7] r. bettinger。“使用ROC Convex Hull方法选择的成本敏感分类器选择。”SAS研究所.
要并行运行,请设置“UseParallel”
选项真正的
.
设定“UseParallel”
字段的选项结构真正的
使用实例化
并指定这一点'选项'
对此函数调用中的名称值对参数。
例如:'选项',statset('deverypallellel',true)
有关更多信息,请参见'选项'
名称值对参数。
有关并行计算的更多通用信息,请参见使用自动并行支持运行MATLAB功能金宝app(并行计算工具箱).
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。金宝app
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。