深度学习中准确率、精确率、召回率、误报率、漏报率、F1-Score、AP&mAP、ROC曲线、AUC、MAE、MAPE、MSE、RMSE、R-Squared等指标的解释说明

        在深度学习学习中,有许多常用的评估指标用于衡量模型的性能。下面是一些常见的指标及其定义和说明。

关键名字解释:

                TP表示真正例(True Positive),即模型正确预测为正例的样本数量;

                TN表示真负例(True Negative),即模型正确预测为负例的样本数量;

                FP表示假正例(False Positive),即模型错误地将负例预测为正例的样本数量;

                FN表示假负例(False Negative),即模型错误地将正例预测为负例的样本数量。

1. 准确率(Accuracy)

        准确率是分类问题中最常用的评估指标之一。它表示分类正确的样本数占总样本数的比例。准确率越高,模型的性能越好。然而,当数据集存在类别不平衡问题时,准确率可能会失真,因为模型可能倾向于预测数量更多的类别。

        准确率的计算公式如下:

                准确率 = (TP + TN) / (TP + TN + FP + FN)

        准确率指示了模型在所有样本中分类正确的比例。较高的准确率表示模型具有更好的分类性能。

2. 精确率(Precision)

        精确率是用于衡量二分类问题中正例预测的准确性。它表示预测为正例的样本中实际为正例的比例。精确率高表示模型在预测为正例时较少出现误报(将负例错误地预测为正例)。

        精确率的计算公式如下:

                精确率 = TP / (TP + FP)

    

### 精度 (Precision) 精度衡量的是预测为正类的结果中有多少是真正的正类。较高的 Precision 表明模型对于 "预测为 Positive" 的判断更加可信[^1]。 公式如下: \[ \text{Precision} = \frac{\text{True Positives}}{\text{True Positives} + \text{False Positives}} \] 其中 True Positives 是真正例的数量,而 False Positives 则是指错误地标记成正类的例子数量。 ```python def calculate_precision(true_positives, false_positives): if true_positives + false_positives == 0: return 0 return true_positives / (true_positives + false_positives) ``` ### 召回率 (Recall) 召回率指的是所有实际为正类的数据中被正确识别的比例。这反映了模型发现所有正样本的能力。 公式表示为: \[ \text{Recall} = \frac{\text{True Positives}}{\text{True Positives} + \text{False Negatives}} \] 这里 False Negatives 表示实际上属于正类却被误判为负类的情况数。 ```python def calculate_recall(true_positives, false_negatives): if true_positives + false_negatives == 0: return 0 return true_positives / (true_positives + false_negatives) ``` ### 准确率 (Accuracy) 准确率是最直观的理解方式之一,它代表了分类器做出的所有预测中有多少比例是正确的。然而,在不平衡数据集上可能不是最佳评估指标。 计算方法很简单: \[ \text{Accuracy} = \frac{\text{Correct Predictions}}{\text{Total Predictions}} \] 即 \[ \text{Accuracy} = \frac{\text{True Positives} + \text{True Negatives}}{\text{All Samples}} \] ```python def calculate_accuracy(true_positives, true_negatives, all_samples): if all_samples == 0: return 0 return (true_positives + true_negatives) / all_samples ``` ### 平均精确 (Mean Average Precision, MAP) MAP 主要用于信息检索领域以及多标签分类问题中的性能评价。其核心思想是在不同阈值下分别求得每个查询对应的 AP 值(Average Precision),再取这些 AP 的算术平均作为最终得分。 具体实现较为复杂,通常依赖于特定应用场景下的定义。一般情况下会涉及到先按置信度排序,然后逐步降低阈值来统计每次变化后的 Precision 和 Recall 来构建 PR 曲线并据此得到 AP 值。 ```python import numpy as np def average_precision(relevance_scores): """Calculate the average precision.""" total_relevant = sum(relevance_scores) if total_relevant == 0: return 0 precisions_at_k = [] num_correct_predictions = 0 for i, relevant in enumerate(relevance_scores, start=1): if relevant: num_correct_predictions += 1 precisions_at_k.append(num_correct_predictions / i) return np.mean(precisions_at_k) def mean_average_precision(query_results_list): """Compute Mean Average Precision over multiple queries""" aps = [average_precision(result['relevances']) for result in query_results_list] return np.mean(aps) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值