ROC评估曲线的坑

时间:2024-04-12 19:08:33

Roc曲线有多种算法,但先普及几个基本概念:
True positives (TP) = 被模型预测为正的正样本
True negatives (TN) = 被模型预测为负的负样本
False positives (FP) = 被模型预测为正的负样本
False negatives (FN) = 被模型预测为负的正样本

TPR=TP/(TP+TN) 预测为正确的正样本的概率

FPR=FR/(FR+FN) 预测为正确的负样本的概率

TNR=TN/(TN+TP) 预测为错误的正样本的概率

FNR=FN/(FN+FR) 预测为错误的负样本的概率

仔细想很容易,用起来很烧脑(可能是自己傻吧。。)

///新添加////////////////////////////////////////////////////////////////////
误识与误拒
对于一个阈值,误识是大于这个阈值的类间数。误拒是小于这个阈值的类内数。
误识率与误拒率
误识率==误识数/类间总数
误拒率==误拒数/类内总数
误识率与误拒率画出的曲线是负相关。
ROC曲线为误识率(x轴)、误拒率(y轴)。
///////////////////////////////////////////////////////////////////////////////

ROC曲线需要的数据获取方式
我们根据每个测试样本属于正样本的概率值从大到小排序。我们从高到低,依次将每个概率值作为阈值threshold,当测试样本属于正样本的概率大于或等于这个threshold时,我们认为它为正样本,否则为负样本。
每次选取一个不同的threshold,我们就可以得到一组FPR和TPR,即ROC曲线上的一点。
然后将所有的threshold的值所对应的FPR和TPR按顺序画出来==ROC曲线
(统计方法:最好对检测的正样本和负样本分别做概率直方图)

ROC画法一
TPR与FPR的组合。这个组合是正相关

如图ROC评估曲线的坑
这个可以计算AUC(曲线下的面积)来评测模型的好坏

Roc画法二

有些人用FNR(FAR)与FPR来描述ROC,这两个是负相关
ROC评估曲线的坑

这种ROC曲线可以采用FAR与FPR相等来确定一个阈值,根据需求可以用不同条件确定阈值

准确率计算

ACC=(TP+TN)/总数 ROC评估曲线的坑

从确定最高点来确定阈值。

用MATLAB 来画图还是很方便的。