模式识别 评价方法 ===> ROC 曲线 DET 曲线 FPPW FPPI
因个人在做模式识别相关的工作,模式识别算法最终的性能评价是关键。但苦于网上很难找到具体、详细的评价流程、方法以及代码,所以本人打算近期准备如题所示评价方法的整理工作,到时候会奉上方法介绍、基础代码(matlab 版),以帮助更多像我这样对这些方法有些迷茫的人。
暂时提供matlab中自带的ROC,DET曲线绘制函数: perfcurve()
具体使用方法,中文链接:http://ilovematlab.cn/thread-76781-1-1.html
MathWork Manual(文档源自matlab2013。之前低版本中应该有该函数,但本人在自己的2008a版本中没有发现,2010版本中应该有): http://www.mathworks.cn/cn/help/stats/perfcurve.html
自编 ROC 曲线及相关中间结果的计算代码。
Main function:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%function: ROC curve related
% date : 2013.07.01
% author : Xin Yang, School of medicine, SZU
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 根据Label8score文件绘制 ROC、DET曲线
% 获取数据文件路径
[filename, pathname] = uigetfile( {'*.txt', 'Model Files (*.txt)'; ...
'*.*', 'All Files (*.*)'}, '选择 ROC 数据源','F:\Result\FPPW\');
if isequal(filename,0) || isequal(pathname,0)
return;%如果点了“取消”
else
L8S_file = [pathname , filename];
end
dot_num = 50;
YX_Roc(L8S_file , dot_num);
% YX_DET_Curve(L8S_file , dot_num);
YX_Roc function:
% 根据 标记&预测得分文件 绘制ROC曲线
function YX_Roc(Label8ScoreFile , dot_num)
% 加载 标记&预测得分 数据文件 1:正 0:负
Mat_L8S = load(Label8ScoreFile);
sample_num = size(Mat_L8S ,1);
% 绘制正、负标记分布趋势图,用于观察正负样本的交叉程度
Plot_PN_pdf(Mat_L8S);
Label = Mat_L8S(:,1