load heart_scale.mat
model = svmtrain(heart_scale_label, heart_scale_inst, '-c 1 -g 0.07');
[predict_label, accuracy, dec_values] = svmpredict(heart_scale_label, heart_scale_inst,model);
[X,Y] =perfcurve(heart_scale_label,dec_values,'1');
%[X,Y] = perfcurve(labels,scores,posclass,'param1', val1,'param2',val2,...)
%labels:目标标签 scores:决策值 posclass:正类标签
%'param'和val可以定义X和Y的输出值,具体可以看函数帮助,默认是定义X轴为FPR,Y轴为TPR
plot(X,Y),xlabel('FPR'),ylabel('TPR');%输出ROC曲线
[X,Y] =perfcurve(heart_scale_label,dec_values,'1','xCrit','FPR','yCrit','FNR');
%重新定义输出值,'xCrit','FPR'表示定义X输出为FPR=FP/(TN+FP),这里其实就是默认值
%'yCrit','FNR'表示定义y输出为FNR=FN/(TP+FN)
figure,plot(X,Y),xlabel('fall'),ylabel('miss');%输出DET曲线
利用 perf curve 函数 roc det 评价 曲线 -matlab人工智能模式识别 利用 perf curve 函数 ROC DET 评价 曲线 论坛里已经有很多 分类 评价 曲线 的方法了,不过我发现直接用 perf curve 函数 比较简单方便,还可以扩展到 更多其他的分类 曲线 具体使用方法可以参考 perf curve 帮助复制内容到剪贴板代码:loadheart_scale.matmodel=svmtrain(... 我们通常使用 ROC 曲线 评价 分类结果的好坏,在MATLAB中绘制该 曲线 其实也十分容易。我们让label表示真实的类别,output表示预测的类别,那么调用: [XRF,YRF,TRF,AUCRF] = perf curve (label,output,1); 之后运行: plot (XRF,YRF) 即可得到 ROC 曲线 ,该 函数 中还有一个参数,也就是正类的标签(positive class label),该变量是一个常数,可以为数值,也可是是字符串等,需要指定一下。上面的例子中,我们输出的结果和标签都是0或1的 Compute Receiver Operating Characteristic ( ROC ) curve or other perf ormance curve for classifier output expand all in page 如果 X 和 Y 使用“ FP R”或“TPR”,则此版本与 matlab 提供的版本相同,但略有不同。 我没有使用乏味的“arrayfun”,而是使用了矢量 cumsum 函数 。 这是一个比较测试N = 1e5; 分数 = [rand(N,1); rand(N,1)-1]; 标签 = [ones(N,1); 零(N,1)]; 抽动; perf curve (标签,分数,1); 目录抽动; perf curve 2(标签,分数,1); 目录 经过的时间是 17.614076 秒。 经过的时间是 0.164707 秒。 我希望你会发现它很有用。 本帖最后由 翻腾的鱼 于 2014-10-7 10:39 编辑使用的是32位matlab R2014a。 利用 SVM做多分类,想要 利用 perf curve 函数 roc 图,计算AUC然后对分类结果进行 评价 。问题代码如下:model = svmtrain(train_wine_labels, train_wine, '-c 2 -g 1 -b 1');[predict_label, accuracy,... C = BSXFUN(FUNC,A,B) 二元单态展开 函数 (Binary Singleton Expansion Function) 将 函数 handle func指定的逐元素二进制操作应用于数组a和b,并启用单例扩展。func可以是以下内置 函数 之一 Compute z(x, y) = x.*sin(y) on a grid: >> x=1:10; 模式识别 评价 方法 ROC 曲线 DET 曲线 FP PW FP PI etc. 因个人在做模式识别相关的工作,模式识别算法最终的性能 评价 是关键。但苦于网上很难找到具体、详细的 评价 流程、方法以及代码,所以本人打算近期准备如题所示 评价 方法的整理工作,到时候会奉上方法介绍、基础代码(matlab 版),以帮助更多像我这样对这些方法有些迷茫的人。 根据决策值和真实标签 ROC 曲线 ,同时计算AUC的值function auc = roc _ curve (deci,label_y) %%deci=wx+b, label_y, true label[val,ind] = sort(deci,‘descend‘); roc _y = label_y(ind);stack_x = cumsum( roc _y == -1)/sum( roc _y == -1);st...