【4.3.2.1】量化预测结果--分类变量
一、基本概念
该sklearn.metrics模块实现了几种损失,分数和效用函数来测量分类性能。某些指标可能需要正类,置信度值或二进制决策值的概率估计。大多数实现允许每个样本通过sample_weight参数提供对总分的加权贡献。
仅用于二分类案例
函数 | 说明 |
---|---|
matthews_corrcoef(y_true, y_pred[, …]) | 计算二进制类的马修斯相关系数(MCC) |
precision_recall_curve(y_true, probas_pred) | 计算不同概率阈值的precision-recall对 |
roc_curve(y_true, y_score[, pos_label, …]) | 计算接收器工作特性(ROC) |
可以在多分类案例
函数 | 说明 |
---|---|
cohen_kappa_score(y1, y2[, labels, weights]) | 科恩的kappa: 衡量标注者间协议的统计 |
confusion_matrix(y_true, y_pred[, labels, …]) | 计算混淆矩阵来评估分类的准确性 |
hinge_loss(y_true, pred_decision[, labels, …]) | 平均铰链损失(非正规化) |
多重标签的案例
函数 | 说明 |
---|---|
accuracy_score(y_true, y_pred[, normalize, …]) | 准确度分级得分 |
classification_report(y_true, y_pred[, …]) | 构建一个显示主要分类指标的文本报告 |
f1_score(y_true, y_pred[, labels, …]) | 计算F1分数,也称为平衡F分数或F度量 |
fbeta_score(y_true, y_pred, beta[, labels, …]) | 计算F-beta分数 |
hamming_loss(y_true, y_pred[, labels, …]) | 计算平均汉明损失 |
jaccard_similarity_score(y_true, y_pred[, …]) | Jaccard相似系数得分 |
log_loss(y_true, y_pred[, eps, normalize, …]) | 对数损失,又称物流损失或交叉熵损失 |
precision_recall_fscore_support(y_true, y_pred) | 计算每个分类的精度,召回,F度量和支持 |
precision_score(y_true, y_pred[, labels, …]) | 计算精度 |
recall_score(y_true, y_pred[, labels, …]) | 计算召回 |
zero_one_loss(y_true, y_pred[, normalize, …]) | Zero-one 分类损失 |
二分类多标签问题
函数 | 说明 |
---|---|
average_precision_score(y_true, y_score[, …]) | 从预测分数计算平均精度(AP) |
roc_auc_score(y_true, y_score[, average, …]) | 曲线下的计算面积(AUC)来自预测分数 |
从二元到多类别和多标签
一些度量基本上是针对二进制分类任务定义的(例如 f1_score,roc_auc_score)。在这些情况下,默认情况下仅评估正标签,假设默认情况下正面类别已被标记1(尽管这可以通过pos_label参数进行配置 )。
将二进制度量扩展为多类或多标签问题时,数据将被视为二进制问题的集合,每个类都有一个。然后可以使用多种方法在整个类中平均二进制度量计算,每种类在某些情况下可能会有用。如果可用,您应该使用average参数在其中进行选择。
- “macro"简单地计算二进制度量的平均值,赋予每个类别相同的权重。在不常见的课程重要的问题上,宏观平均可能是突出表现的一种手段。另一方面,所有类别同样重要的假设通常是不真实的,因此宏观平均将过度强调不频繁类的典型的低绩效。
- “weighted” 通过计算通过其在真实数据样本中的存在来对每个类的分数进行加权的二进制度量的平均值来计算类不平衡。
- “micro"给出每个样本类对对总体度量的相等贡献(除了作为样本权重的结果)。而不是总结每个类别的指标,这个总和构成每个类别指标的股息和除数计算一个整体商。在多标签设置中,微平均可能是优选的,包括要忽略多数类的多类分类。
- “samples"仅适用于多标签问题。它不计算每个类别的度量,而是计算评估数据中每个样本的真实和预测类别的度量,并返回( - sample_weight加权)平均值。
- 选择average=None将返回具有每个类的分数的数组。
虽然将多类数据提供给度量,如二进制目标,作为类标签数组,多标签数据被指定为指示符矩阵,如果样本具有标签,值为0,则其中单元格的值为1 。[i, j] i j
二、各种评估函数详解
2.1 ROC与AUC
见之前的博文
参考资料
这里是一个广告位,,感兴趣的都可以发邮件聊聊:tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn