Logistic回归,分类模型的性能评价指标

分类模型评估

判断一个分类器对所用样本的分类能力或者在不同的应用场合时,需要有不同的指标。

Scikit-Learn中,评价指标计算可对每个样本施加权重,权重通过参数sample_weight指定。

分类模型的评价指标:

logistic/负log似然损失(log_loss):

其中C为类别数目,为第i个样本的标签的onehot编码向量,为模型预测第i个样本为类别c的概率。

当C=2时,为两类分类:


为第i个样本的类别,为模型预测第i个样本为类别1的概率。

分类模型的评价指标:

0-1损失(zero_one_loss):

其中I(.)为示性函数(indicator function),当括号中条件满足时函数值为1,否则为0。

0-1损失可视为错误率。

合页损失(hinge_loss):

其中为决策函数(样本到决策面的带符号距离)。

正确率(accuracy_score):

混淆矩阵(confusion_matrix):对C类分类问题,混淆矩阵为C*C的矩阵

手写数字识别的混淆矩阵:

矩阵的第i行第j列的元素值表示将真实类别标签为i类的样本预测为第j类的样本数目。

对角线元素越大越好。

 

两类分类任务中更多评价指标

ROC/AUC

PR曲线/AP

mAP

马修斯相关性系数(Matthews Correlation coefficient,MCC)

 

Precision、 TPR、FPR

精度、准确率:预测结果为真的样本中真正为真的比例

召回率:预测结果召回了多少真正的真样本;

真阳率:有多少真正的正样本被预测为真

假阳率:预测结果将多少假的样本预测成了真

 

F1分数

F1分数:Precision和Recall合一

:检测结果真正为正的比例(质)

:被正确检测到的正样本的比例(量)

F1分数:Precision和Recall调和平均值

准确率和召回率是相互影响的。一般情况下准确率高、召回率就低;召回率低、准确率高。

 

Matthews相关性系数(MCC)

Matthews相关性系数用一个值综合混淆矩阵,度量真实值和预测值之间的相关性,定义为:

分母中任意一对括号相加之和如果为0,那么整个MCC的值就为0。

MCC值在[-1,1]之间:

1:分类器是完美的

0:分类器是随机分类器

-1:分类器是最差,所有预测结果和实际相反

 

垃圾邮件分类

假如有100封测试邮件,其中50封为垃圾50封为非垃圾,某分类器的预测结果:TP=40封,TN=40封,FP=10封,FN=10封。

还是100封测试邮件,其中垃圾邮件为98封,非垃圾邮件为2封(分布不均衡)。如果有一个傻傻的分类器,永远只做出垃圾邮件判断,那么TP=98,TN=0,FN=0,FP=2。

简单粗暴的方式和随机分类器没有差别。

 

Receiver Operaing Characteristic (ROC)曲线

给定阈值的TPR(真阳率)和FPR(假阳率)

如果不是只考虑一个阈值,而是在一些列阈值上运行检测器,并画出TPR和FPR为阈值的隐式函数,得到ROC曲线。

例:根据文章特征x(文章长度、作者的数目、作者之前投递给该杂志的文章数据、...),判断该文章是否会被杂志接受。

测试样本数目:500,其中250篇被接收(红色),250篇被拒绝(蓝色)。

现有一个分类器1,给定文章特征,输出该文章被接收的概率。下图为分类器1输出的被接收概率对应的正样本数目和负样本数目。

假设取阈值为概率阈值0.5:判断140篇文章被拒绝,360篇文章被接收。线右边共有235个红色样本,125个被接受,10个被拒绝,TPR==0.94,FPR==0.5,对应ROC曲线上的点(x,y)=(0.5,0.94)。

假设取阈值为概率0.8:判断50篇文章被接收,450篇被拒绝。线的右边有50个红色样本,线的右边有0个蓝色样本均接收,

TPR=,FPR=0,对应ROC曲线上的点(x,y)=(0,0.2)。

 

现有一个分类器2,给定文章特征,输出该文章被接收的概率。下图为分 类器2输出的被接收概率对应的正样本数目和负样本数。

假设取阈值为概率阈值0.6:线的右边有200个红色样本,线的右边有0个蓝色样本,TPR==0.8,FPR=0,对应ROC曲线上的点(x,y)=(0,0.8)。

 

ROC曲线越偏左上角表示分类器性能越好。

AUC(Area Under Curve):ROC曲线下的面积,取值在[0.5,1.0],0.5表示随机猜测分类器,1表示完美分类器。

ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。

在实际的数据集中经常会出现类不平衡现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化。

 

PR曲线

Precision and Recall(PR曲线):用于稀有事件检测,如目标检测、信息检测、推荐系统。

负样本非常多(很大),因此FPR=很小,比较TPR和FPR没有太大意义(ROC曲线中只有左边很小一部分有意义)

Precision(精度,查准率):预测结果为真的样本中真正为真的比例

Recall(召回率,查全率):预测结果召回了多少真正的真样本

Precision and Recall(PR曲线):阈值变化时的P和R

:检测结果真正为正的比例

:被正确检测到的正样本的比例

F1分数:PR合一:

准确率和召回率是相互影响的。一般情况下准确率高、召回率就低;召回率低、准确率高。

 

AP

Precision只考虑了返回结果中相关文档的数目,没有考虑文档之间的顺序。

对一个搜索引擎或推荐系统而言,返回的结果是有序的,且越相关的文档越靠前越好,于是有了AP(Average Precision)的概念。

AP:对不同召回率点上的精度进行平均:

即PR曲线下的面积(Recall:AUC为ROC下的面积)。

 

mAP

平均AP(Mean Average Precision,mAP):多个AP的平均

物体检测中经常用mAP评价模型性能:多个物体类别的AP的平均

 

Scikit-Learn中分类模型性能评价

类似回归模型的性能评价,Scikit-Learn中对分类模型性能评价提供3种不同的API:

estimator的score方法:每个学习器都有score方法,提供一个缺省的评估方法(分类为正确率)。

Scoring参数:使用交叉验证评估模型的工具有Scoring参数。

Metric:metrics模块实现了一些函数,用来评估预测误差。

 

多类(Multiclass)分类:相对于两类(binary)分类而言,标签y的取值有多种,如对水平进行分类,水果可能是橙子、苹果或梨。多类分类的假设是,每个样本被分配到一个和唯一一个标签:一个水果可以是苹果或梨,但不是同时两个。

多标签(Multilabel)分类:给每个样本分配一套目标标签,这些标签不相互排斥(类似物体属性,可以有多种属性)。例如与文档相关的主题,文本可能同时是关于宗教、政治、金融或教育的,或者不属于这些主题。

 

从两类分类到多类分类和多标签

好些评价指标(如f1_score,roc_auc_score)都是用于二分类任务。

将两类分类指标扩展到多类或多标签问题:在多类或多标签问题中。可将其视为多个两类分类问题的集合,每个类别一个。

采用不同的平均方式(通过average参数指定),可将多个两类分类指标合并得到多类或多标签问题相应的评价指标。

宏观“macro”:每个类别(二分类)评价指标,再求平均,每个类别的权重相同,会放大少数类(样本数目较少的类的影响)

微观“micro”:对每个样本(不分类别)计算全局的评价指标,每个样本的权重相同。多标签任务中首选,也可用于多类分类。

加权“weighted”:计算每个类别的指标,每类的权重与该类样本数目有关,可处理不同类别样本数目不均衡问题。

样本“samples”:计算每个样本的评价指标,然后再求平均,仅适用于多标签问题。

“average=None”:返回一个数组,包含每个类的分数。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
逻辑回归模型中,临界点(Cutoff Point)通常用于将模型的预测概率转换为二分类的预测结果。临界点是一个阈值,当模型预测的概率超过该阈值,将其归类为正例;否则,将其归类为负例。 确定临界点的选择是一个重要的决策,它会影响模型在不同评价指标下的性能。常见的选择方法有以下几种: 1. 默认阈值:通常情况下,将预测概率大于等于0.5的样本归类为正例,小于0.5的样本归类为负例。这是一种常用的默认选择,但并不适用于所有情况。 2. ROC曲线:可以使用ROC曲线来选择临界点。ROC曲线显示了不同阈值下真正例率(True Positive Rate)与假正例率(False Positive Rate)之间的权衡。通过计算ROC曲线下面积(AUC),可以选择一个最佳的临界点。通常,AUC越接近1,模型性能越好。 3. 成本敏感性:根据具体问题的需求,可以根据不同的分类错误带来的成本来选择临界点。例如,对于一些应用而言,假正例(将负例错误地分类为正例)的成本比假反例(将正例错误地分类为负例)的成本更高,因此可以选择一个较高的临界点来降低假正例率。 4. 预测准确性:可以根据模型在验证集或交叉验证中的整体准确率来选择临界点。通过在不同阈值下计算准确率,选择一个最佳的临界点。 需要注意的是,临界点的选择应该基于具体问题和应用需求,并且应该综合考虑模型性能、成本敏感性和预测准确性等因素。没有一种通用的选择方法适用于所有情况,因此建议根据具体情况进行调整和选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值