监督学习中的常见评估指标

监督学习中的常见评估指标

介绍

在机器学习中,评估指标用于衡量模型的性能和准确度。在监督学习中,我们需要评估模型预测结果与真实标签之间的差异。本文将介绍监督学习中常见的评估指标,包括算法原理、公式推导、计算步骤和Python代码示例。

准确率(Accuracy)

准确率是评估分类模型性能的最简单指标之一,它衡量了分类器正确预测的样本占总样本的比例。
公式如下:
a c c u r a c y = T P + T N T P + T N + F P + F N accuracy = \frac{TP + TN}{TP + TN + FP + FN} accuracy=TP+TN+FP+FNTP+TN

其中,TP表示真正例(True Positive),即模型正确预测为阳性的阳性样本数;TN表示真负例(True Negative),即模型正确预测为阴性的阴性样本数;FP表示假正例(False Positive),即模型错误预测为阳性的阴性样本数;FN表示假负例(False Negative),即模型错误预测为阴性的阳性样本数。

计算步骤如下:

  1. 统计TP、TN、FP和FN的数量;
  2. 根据公式计算准确率。

代码示例:

def accuracy_score(y_true, y_pred):
    TP = sum((y_true == 1) & (y_pred == 1))
    TN = sum((y_true == 0) & (y_pred == 0))
    FP = sum((y_true == 0) & (y_pred == 1))
    FN = sum((y_true == 1) & (y_pred == 0))
    
    accuracy = (TP + TN) / (TP + TN + FP + FN)
    return accuracy

代码解释:

  • 首先通过逻辑运算符&计算出y_truey_pred中相应位置为1(阳性)的数量;
  • 然后通过sum()函数求和,得到TP、TN、FP和FN的数量;
  • 最后根据准确率公式计算准确率。

精确率(Precision)

精确率衡量了分类器预测为阳性的样本中真正的阳性样本所占的比例。精确率高表示分类器在预测为阳性时较少出现错误。
公式如下:
p r e c i s i o n = T P T P + F P precision = \frac{TP}{TP + FP} precision=TP+FPTP

计算步骤如下:

  1. 统计TP和FP的数量;
  2. 根据公式计算精确率。

代码示例:

def precision_score(y_true, y_pred):
    TP = sum((y_true == 1) & (y_pred == 1))
    FP = sum((y_true == 0) & (y_pred == 1))
    
    precision = TP / (TP + FP)
    return precision

代码解释:

  • 通过逻辑运算符&计算出y_truey_pred中相应位置为1的数量;
  • 根据公式计算精确率。

召回率(Recall)

召回率衡量了模型成功预测出阳性样本的能力。召回率高表示模型能较好地找出真正的阳性样本。
公式如下:
r e c a l l = T P T P + F N recall = \frac{TP}{TP + FN} recall=TP+FNTP

计算步骤如下:

  1. 统计TP和FN的数量;
  2. 根据公式计算召回率。

代码示例:

def recall_score(y_true, y_pred):
    TP = sum((y_true == 1) & (y_pred == 1))
    FN = sum((y_true == 1) & (y_pred == 0))
    
    recall = TP / (TP + FN)
    return recall

代码解释:

  • 通过逻辑运算符&计算出y_truey_pred中相应位置为1的数量;
  • 根据公式计算召回率。

F1值(F1-Score)

F1值综合了精确率和召回率,是一个综合评价指标,可用于评估分类模型的综合性能。
公式如下:
F 1 = 2 ⋅ p r e c i s i o n ⋅ r e c a l l p r e c i s i o n + r e c a l l F1 = \frac{2 \cdot precision \cdot recall}{precision + recall} F1=precision+recall2precisionrecall

计算步骤如下:

  1. 分别计算精确率和召回率;
  2. 根据公式计算F1值。

代码示例:

def f1_score(y_true, y_pred):
    precision = precision_score(y_true, y_pred)
    recall = recall_score(y_true, y_pred)
    
    f1 = (2 * precision * recall) / (precision + recall)
    return f1

代码解释:

  • 调用精确率和召回率的计算函数,分别计算精确率和召回率;
  • 根据公式计算F1值。

总结

以上介绍了监督学习中常见的评估指标,包括准确率、精确率、召回率和F1值。通过计算这些指标,可以评估分类模型的性能和准确度。在实际应用中,根据具体情况选择适当的指标进行评估,并结合其他因素综合考虑。通过对模型的评估,我们可以不断优化算法并提升模型的性能。

  • 10
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值