文章目录

  • 准确率(accuracy)
  • auc
  • average_precision
  • 平衡准确率(balanced accuracy)
  • brier_score_loss Brier分数损失
  • class_likelihood_ratios 二元分类的正似然比和负似然比
  • classification_report 主要分类指标报告
  • cohen_kappa Cohen的kappa
  • confusion_matrix 混淆矩阵
  • dcg 贴现累积收益
  • det_curve 不通概率阈值的错误率
  • f1 F1分数
  • f_beta F-beta分数
  • hamming_loss 平均汉明损失
  • hinge_loss 平均铰链损失(非正则化)
  • jaccard jaccard相似系数得分
  • log_loss 对数损失,又称为逻辑损失或交叉熵损失
  • matthews_corrcoef 马修斯相关系数(MCC)
  • ndcg 标准化贴现累积增益
  • precision_recall_curve 计算不通概率阈值的精确召回对
  • precision_recall_fscore_support 计算每个类别的精度、召回率、F score和支持度
  • precision 精确率
  • 解释
  • recall 召回率
  • roc_auc ROC曲线下的面积
  • top_k_accuracy Top-k准确度分类分数
  • zero_one_loss 零一分类损失


准确率(accuracy)

准确率(accuracy)是机器学习和统计学中常用的性能度量指标,尤其是在分类问题中。它简单直接地衡量了分类模型预测正确的比例。

准确率定义为正确预测(无论是正类还是负类)与总预测数量的比例。数学上,准确率可以表示为:

多分类模型计算每类AUC R语言 多分类模型评估_模型评价指标

优缺点:

  • 优点:
  • 易于理解和解释。
  • 在所有类别平衡的情况下是一个很好的度量。
  • 缺点:
  • 当类别不平衡时,准确率可能会产生误导。例如,在一个极度不平衡的数据集中,即使模型只是简单地将所有实例预测为多数类,准确率也可能很高,但这并不意味着模型具有良好的预测性能。
  • 不考虑预测的类型错误(即将正类预测为负类,或将负类预测为正类)。

应用
在实际应用中,尤其是当面对不平衡的数据集时,通常会考虑其他补充指标,如精确率(Precision)、召回率(Recall)或F1分数,这些指标可以提供更全面的性能评估。

auc

Area Under Curve

average_precision

平均精度

平衡准确率(balanced accuracy)

平衡准确率(balanced accuracy)是一种用于评估分类模型性能的指标,特别是在处理不平衡数据集时。它试图解决传统准确率在面对不平衡类分布时可能产生的误导性问题。

定义

平衡准确率定义为各个类别的召回率(Recall)的平均值。如果只有两个类别(二分类问题),它可以简单地表示为正类和负类召回率的平均值。数学上,平衡准确率可以表示为:

多分类模型计算每类AUC R语言 多分类模型评估_混淆矩阵_02

其中 多分类模型计算每类AUC R语言 多分类模型评估_模型评价指标_03 是类别的数量,多分类模型计算每类AUC R语言 多分类模型评估_召回率_04 是第 多分类模型计算每类AUC R语言 多分类模型评估_机器学习_05

在二分类问题中,平衡准确率可以简化为:

多分类模型计算每类AUC R语言 多分类模型评估_召回率_06

优点

  • 对不平衡数据集更公平:平衡准确率通过考虑所有类别的召回率,减少了数据不平衡对性能评估的影响。
  • 易于理解和解释:它提供了一个直观的性能度量,表明模型在每个类别上的平均效果如何。

缺点

  • 可能过于简化:在有多个类别且类别之间的重要性不同的情况下,平衡准确率可能不足以全面反映模型的性能。
  • 不考虑预测的具体类型错误:与准确率一样,平衡准确率不区分不同类型的错误(如假正例和假负例)。

应用
平衡准确率在医学、生物学和其他领域的分类任务中非常有用,尤其是在那些正负样本数量差异很大的情况下。在这些领域,即使少数类别的样本数量很少,它们也可能具有重要的实际意义,因此需要一个能够公平评估模型在所有类别上性能的指标。

brier_score_loss Brier分数损失

class_likelihood_ratios 二元分类的正似然比和负似然比

classification_report 主要分类指标报告

cohen_kappa Cohen的kappa

confusion_matrix 混淆矩阵

混淆矩阵(Confusion Matrix)是一个非常有用的工具,用于评估分类模型的性能。它是一个表格,用于展示模型预测的分类与实际分类之间的关系。对于二分类问题,混淆矩阵通常包括四个部分:真正例(True Positives, TP)、假正例(False Positives, FP)、真负例(True Negatives, TN)和假负例(False Negatives, FN)。

混淆矩阵的结构

对于一个二分类问题,混淆矩阵通常如下所示:

预测为正类

预测为负类

实际正类

TP

FN

实际负类

FP

TN

  • 真正例 (TP):模型正确地预测正类。
  • 假正例 (FP):模型错误地预测正类(实际上是负类)。
  • 真负例 (TN):模型正确地预测负类。
  • 假负例 (FN):模型错误地预测负类(实际上是正类)。

混淆矩阵的用途

  1. 计算性能指标:可以使用混淆矩阵来计算各种性能指标,如精确率(Precision)、召回率(Recall)、F1分数(F1 Score)和准确率(Accuracy)。
  2. 提供洞察:混淆矩阵可以揭示模型在哪些类别上表现良好,以及它可能混淆的类别。
  3. 模型改进:通过分析混淆矩阵,可以了解模型的弱点,并对模型进行改进。

多类别问题

在多类别分类问题中,混淆矩阵会更大,每个类别都有一个对应的行和列。例如,对于一个有三个类别的分类问题,混淆矩阵将是一个3x3的矩阵,每个单元格显示了特定的实际类别被预测为特定类别的次数。

混淆矩阵是理解和评估分类模型性能的一个非常直观和有力的工具。通过它,可以更深入地理解模型的行为,特别是在分类错误的情况下。

dcg 贴现累积收益

det_curve 不通概率阈值的错误率

f1 F1分数

F1分数(F1 Score)是一个在统计学和机器学习中常用的性能指标,特别是在分类问题中。它是精确率(Precision)和召回率(Recall)的调和平均值,用于衡量模型的准确性。F1分数在处理那些假正例和假负例同等重要的情况下特别有用。

定义

F1分数的计算公式为:

多分类模型计算每类AUC R语言 多分类模型评估_模型评价指标_07

其中:

  • 精确率(Precision)定义为 多分类模型计算每类AUC R语言 多分类模型评估_多分类模型计算每类AUC R语言_08
  • 召回率(Recall)定义为 多分类模型计算每类AUC R语言 多分类模型评估_多分类模型计算每类AUC R语言_09

解释

  • F1分数的取值范围是0到1,1表示完美的精确率和召回率,0表示精确率或召回率中至少有一个为零。
  • F1分数是精确率和召回率的加权平均,它同时考虑了精确率和召回率,是这两者的平衡点。
  • 当你不能确定是关注假正例还是假负例更重要时,F1分数是一个很好的选择。

应用场景

F1分数在不平衡的数据集中特别有用,例如,在某些类别的实例远多于其他类别的情况下。在这些情况下,单纯使用精确率或召回率可能不足以全面反映模型的性能,而F1分数提供了一个更全面的视角。

例子

假设在一个疾病诊断模型中:

  • 精确率(Precision)为0.8,意味着模型预测为患病的人中有80%实际上确实患病。
  • 召回率(Recall)为0.5,意味着模型只能正确识别出50%的实际病例。

F1分数将会是:

多分类模型计算每类AUC R语言 多分类模型评估_机器学习_10

这个分数反映了精确率和召回率之间的平衡。

f_beta F-beta分数

hamming_loss 平均汉明损失

hinge_loss 平均铰链损失(非正则化)

jaccard jaccard相似系数得分

log_loss 对数损失,又称为逻辑损失或交叉熵损失

matthews_corrcoef 马修斯相关系数(MCC)

ndcg 标准化贴现累积增益

precision_recall_curve 计算不通概率阈值的精确召回对

precision_recall_fscore_support 计算每个类别的精度、召回率、F score和支持度

precision 精确率

精确率(Precision),在分类问题中,是一个衡量模型性能的关键指标,尤其是在假正例(False Positives)的成本较高的情况下。它描述的是模型预测为正类的实例中实际为正类的比例。

定义

精确率的计算公式为:

多分类模型计算每类AUC R语言 多分类模型评估_多分类模型计算每类AUC R语言_11

其中:

  • TP(True Positives):真正例,即模型正确预测为正类的实例数。
  • FP(False Positives):假正例,即模型错误预测为正类的实例数。

解释

  • 高精确率意味着在模型预测为正的实例中,大部分实际上是正类,即假正例的数量较少。
  • 低精确率意味着许多模型预测为正的实例实际上是负类,即有很多假正例。

应用场景

精确率特别适用于那些假正例的代价较高的场景。例如,在垃圾邮件检测中,将正常邮件错误地标记为垃圾邮件(假正例)可能比将垃圾邮件错标为正常邮件(假负例)更不受欢迎。

与其他指标的关系

  • 精确率与召回率(Recall):召回率是另一个重要指标,它衡量的是所有实际正类中被模型正确识别的比例。通常,精确率和召回率之间存在权衡关系。提高精确率通常会降低召回率,反之亦然。
  • F1分数:F1分数是精确率和召回率的调和平均值,当你需要同时考虑精确率和召回率时,它是一个有用的指标。

例子

假设在一个疾病诊断模型中:

  • 模型预测有100人患病(正类),但实际上只有80人患病(TP),20人是健康的(FP)。

那么,精确率为:

多分类模型计算每类AUC R语言 多分类模型评估_多分类模型计算每类AUC R语言_12

这意味着模型预测为患病的人中有80%实际上确实患病。

recall 召回率

召回率(Recall),也称为真正例率(True Positive Rate, TPR),是分类问题中的一个重要评估指标,尤其是在那些漏检(False Negatives)的成本较高的情况下。它衡量的是模型正确识别为正类的实例占所有实际正类实例的比例。

定义

召回率定义为:

多分类模型计算每类AUC R语言 多分类模型评估_机器学习_13

其中:

  • TP(True Positives):真正例,即模型正确预测为正类的实例数。
  • FN(False Negatives):假负例,即模型错误预测为负类的实例数。

解释

  • 高召回率意味着模型能够正确识别大部分实际正类的实例,即漏检的数量较少。
  • 低召回率意味着许多实际正类的实例被模型错过,即有很多漏检。

应用场景

召回率特别适用于那些漏检代价较高的场景。例如,在医疗诊断中,漏掉一个真实的病例(假负例)可能比错误地诊断一个健康人为病人(假正例)更不受欢迎。

与其他指标的关系

  • 召回率与精确率(Precision):精确率是另一个重要指标,它衡量的是所有模型预测为正的实例中实际为正类的比例。通常,召回率和精确率之间存在权衡关系。提高召回率通常会降低精确率,反之亦然。
  • F1分数:F1分数是召回率和精确率的调和平均值,当你需要同时考虑召回率和精确率时,它是一个有用的指标。

例子

假设在一个疾病诊断模型中:

  • 模型预测有80人患病(TP),但实际上有100人患病,其中20人被漏检(FN)。

那么,召回率为:

多分类模型计算每类AUC R语言 多分类模型评估_召回率_14

这意味着模型能够正确识别出80%的实际病例。

roc_auc ROC曲线下的面积

top_k_accuracy Top-k准确度分类分数

zero_one_loss 零一分类损失