数据模型,性能评估指标
为什么需要性能评估指标
- 当我们设计并构建了一个数据模型或机器学习模型时,如何评价其性能好坏?当我有多个模型的时候,如何比较不同模型间的性能优劣?这就需要使用到性能评估指标对模型的性能进行评价。具体有如下几个方面的用处:
- 量化模型效果: 性能指标提供了一种量化模型预测效果的方法,使得我们能够客观地衡量模型的表现,而不仅仅是凭感觉。
- 模型比较: 当有多个模型可供选择时,性能指标可以帮助我们比较不同模型的优劣,从而选择最佳的模型。
- 模型改进: 通过分析性能指标,我们可以识别模型的不足之处,进而对模型进行调整和优化,以提高其预测能力。
- 决策支持: 在实际应用中,模型的预测结果可能会影响决策过程。性能指标可以帮助决策者了解模型的可靠性,从而做出更明智的决策。
- 避免过拟合: 性能指标如交叉验证和调整后的R²可以帮助我们检测模型是否过拟合,即模型是否在训练数据上表现良好但在未知数据上表现不佳。
- 合规性和标准: 在某些行业,如金融和医疗,模型必须满足特定的性能标准或合规要求。性能指标有助于确保模型符合这些标准。
缩写含义
英文缩写 | 英文全拼 | 中文缩写 | 含义 |
---|---|---|---|
TP | True Positive | 真阳性 | 模型正确预测为正类的正样本数量 |
TN | True Negative | 真阴性 | 模型正确预测为负类的负样本数量 |
FP | False Positive | 假阳性 | 模型错误预测为正类的负样本数量 |
FN | False Negative | 假阴性 | 模型错误预测为负类的正样本数量 |
n | sample size | 样本大小 | 即数据集中的样本数量 |
actual value | 第i个样本的实际值 | 第i个样本的实际值 | |
predicted value | 第i个样本的预测值 | 第i个样本的预测值 | |
probability value | 第i个样本为正类的概率 | 第i个样本为正类的概率 | |
SSRes | Sum of Squares of the Residuals | 残差平方和 | 模型预测值与实际值之差的平方和 |
SSTot | Total Sum of Squares | 总平方和 | 实际值与实际值平均值之差的平方和 |
常用指标
准确率
- 准确率(Accuracy):准确率是模型正确预测的样本数占总样本数的比例,是最直观的性能指标。
- 举例: 【猜(真或假)中对数量占总数之比】如果一个疾病诊断模型在100个样本中有90个预测正确(包括30个真阳性和60个真阴性),准确率为90/100 = 0.9。
精确率
- 精确率(Precision):精确率是指模型预测为正的样本中实际为正的比例,它衡量的是模型预测正类的能力。
- 举例: 【猜(真)的结果中对的数量占猜的个数之比】如果模型预测了100个样本为正类,其中有80个是真正的正类,而20个是负类,那么精确率为80/100 = 0.8
召回率
- 召回率(Recall):召回率是指实际为正的样本中被模型正确预测为正的比例,它衡量的是模型找到所有正样本的能力。
-举例: 【猜(真)中对数量占为(真)数量之比】如果实际上有100个正类样本,模型只正确预测了80个,那么召回率为80/100 = 0.8。
F1 分数
- F1 分数(F1 Score):F1 分数是精确率和召回率的调和平均数,它__同时考虑了模型的精确性和稳健性__。
- 举例: 如果精确率为0.8,召回率为0.8,那么F1 分数为2 * (0.8 * 0.8) / (0.8 + 0.8) = 0.8
均方误差
- 均方误差(Mean Squared Error, MSE):均方误差是回归任务中最常用的性能指标,它衡量模型预测值与实际值之间的差异的平方的平均值。
- 举例: 如果模型的预测值为[2, 4, 6],实际值为[3, 5, 7],那么MSE为
均方根误差
- 均方根误差(Root Mean Squared Error, RMSE):RMSE是MSE的平方根,它提供了与原始数据相同单位的误差大小
- 举例: 如果MSE为2/3,那么RMSE为√(2/3) ≈ 0.816
平均绝对误差
- 平均绝对误差(Mean Absolute Error, MAE): 平均绝对误差是预测值与实际值之间差异的绝对值的平均数
稳定性指标PSI
- 稳定性指标PSI(Stability Indicator):PSI是用于衡量__模型在不同时间或不同数据集上的分布差异__的指标。PSI值越低,表示模型的稳定性越好,即模型在不同条件下表现相似。
- PSI小于0.1时候模型稳定性很高,0.1-0.2一般,需要进一步研究,大于0.2模型稳定性差,建议修复。
- 计算过程: PSI的计算通常涉及以下步骤:
- 将模型的预测概率或分数分为若干个区间(bins)。
- 计算每个区间内的样本比例,分别在基准数据集(如训练集)和评估数据集(如测试集)上。
- 对于每个区间,计算两个数据集上样本比例的差异,并应用自然对数变换。
- 将这些差异加权平均,权重是每个区间的样本比例。
- 其中,m是特征的数量;是第 i个特征在实际数据集上的实际分布比例;
是第 i个特征在期望分布下的分布比例。 - 举例:设我们有一个信用评分模型,我们需要比较训练集和测试集上的分数分布。我们将分数分为两个区间:低风险和高风险。训练集上低风险的比例: 70%;测试集上低风险的比例: 60%。训练集上高风险的比例: 30%;测试集上高风险的比例: 40%。
确定系数R²
- 确定系数R²(R Squared):R²衡量模型对__目标变量变异性的解释程度__,值越接近1,模型解释能力越强。
- 其中,SSRes 是残差平方和(Sum of Squares of the Residuals),它是模型预测值与实际值之间差异的平方和,表示模型未能解释的变异量。
SSTotSSTot 是总平方和(Total Sum of Squares),它是实际值与实际值平均值之间差异的平方和,表示数据集中的总变异量。 - 举例:假设我们有一个简单的线性回归模型,用来预测房价。模型的预测值和实际值如下:实际房价: [100, 150, 200, 250],预测房价: [90, 160, 190, 240]。
- 计算残差平方和:$SSRes = (90-100)^2+ (160-150)^2+ (190-200)^2+ (240-250)^2=100+100+100+100=400 $;
- 计算总平方和:SSTot = (100-175)^2+ (150-175)^2+ (200-175)^2+ (250-175)^2=6250+6250+6250+6250=25000
- 计算 R²:
- 这意味着模型解释了98.4%的数据变异性。
布里尔分数BS
- 布里尔分数BS(Brier Score):rier Score是一种用于评估概率预测准确性的指标,特别适用于__二元分类问题__。它衡量的是__模型预测的概率与实际结果之间的差异__。Brier Score的值越低,表示模型的预测越准确。
- 举例:假设我们有一个二元分类问题,预测某邮件是否为垃圾邮件。我们有以下预测和实际结果:预测为垃圾邮件的概率: [0.1, 0.8, 0.6, 0.3];实际标签 (1为垃圾邮件, 0为非垃圾邮件): [0, 1, 1, 0]。
- Brier Score为0.075,表示模型预测的不准确性。理想情况下,Brier Score为0,表示所有预测都是完美的。
对数损失Log Loss
- 对数损失Log Loss(Logarithmic Loss):Log Loss是衡量__分类问题中概率预测准确性__的指标。它基于实际标签和预测概率之间的交叉熵来计算。Log Loss的值越低,表示模型的性能越好。
- 举例:假设我们有一个二元分类问题,预测某邮件是否为垃圾邮件。我们有以下预测和实际结果:预测为垃圾邮件的概率: [0.1, 0.8, 0.6, 0.3];实际标签 (1为垃圾邮件, 0为非垃圾邮件): [0, 1, 1, 0]。