浅谈ROC曲线的最佳阈值如何选取

浅谈ROC曲线的最佳阈值如何选取
为了获取ROC曲线的最佳阈值,需要使⽤⼀个指标--约登指数,也称正确指数。
借助于matlab的roc函数可以得出计算。
% 1-specificity = fpr
% Sensitivity = tpr;
[tpr,fpr,thresholds] =roc(Tar',Val');
RightIndex=(tpr+(1-fpr)-1);
[~,index]=max(RightIndex);
%
RightIndexVal=RightIndex(index(1));
tpr_val=tpr(index(1));胆盐
北京8号学苑
fpr_val=fpr(index(1));
thresholds_val=thresholds(index(1));
disp(['平均准确率: ',num2str((RightIndexVal+1)*0.5)]);
disp(['最佳正确率: ',num2str(tpr_val)])
disp(['最佳错误率: ',num2str(fpr_val)])
⾄此计算结束了。
补充拓展:利⽤阈值分割⽬标图像
⼀.全局阈值
⽅法⼀:OTSU⽅法
otsu法(最⼤类间⽅差法,有时也称之为⼤津算法)使⽤的是聚类的思想,把图像的灰度数按灰度级分成2个部分,使得两个部分之间的灰度值差异最⼤,每个部分之间的灰度差异最⼩,通过⽅差的计算来寻⼀个合适的灰度级别来划分。所以可以在⼆值化的时候采⽤otsu算法来⾃动选取阈值进⾏⼆值化。otsu算法被认为是图像分割中阈值选取的最佳算法,计算简单,不受图像亮度和对⽐度的影响。因此,使类间⽅差最⼤的分割意味着错分概率最⼩。
选择阈值k,把像素分为两类:
T=graythresh(f)即可实现⽤⽅法⼀计算归⼀化的阈值。
⼆.局域阈值
当背景照度不均匀时,全局阈值⽅法可能失效,此时,⽤局域变化的阈值函数T(x,y)分割图像f(x,y):
出草
matlab实现程序:
clear all;close all;clc;
I=imread('C:\Users\ASUS\Desktop\图像处理学习⽂件\⼤⼆下\使⽤阈值分割⽬标_15\Fig0926(a)(rice).tif');
figure
imshow(I)
title('original image')
k=graythresh(I);
I1=im2bw(I,k);
figure
imshow(I1)
se=strel('disk',10); %产⽣半径为10的圆盘形结构元素
fo=imopen(I1,se);  %⽤结构元素对灰度图像进⾏开运算
figure
进坑村imshow(fo)
天然气工业杂志title('Opened image')
f2=imtophat(I,se); %⽤原图像减去开运算图像,即对图像进⾏顶帽运算
figure
imshow(f2,[])  %显⽰顶帽运算结果
title('Top-hat transformation')中国证卷
f2=im2double(f2);
T=graythresh(f2);
bw2=im2bw(f2,T); %对顶帽处理后的图像进⾏阈值处理
figure
imshow(bw2,[])
title('Thresholded top-hat image') %显⽰阈值处理后的顶帽图像
以上这篇浅谈ROC曲线的最佳阈值如何选取就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。

本文发布于:2024-09-21 05:27:58,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/367491.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:阈值   图像   算法   部分   分割   选取
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议