模型测试集上准确率(ACC)、精确率precision、召回率recall、AUC评估指标计算

本文探讨了混淆矩阵的基本概念,包括TP、TN、FP和FN,以及准确率、精确率、召回率和F1分数的计算方法。重点介绍了AUC(ROC曲线下的面积)在评估模型性能中的作用,通过实例演示如何使用sklearn库进行准确率和AUC的计算。
摘要由CSDN通过智能技术生成

参考:
https://zhuanlan.zhihu.com/p/530885866?utm_id=0

混淆矩阵:
在这里插入图片描述
TP: 预测为正,实际为正

TN: 预测为负,实际为负

FP:预测为正,实际为负

FN: 预测为负,实际为正

准确率(accuracy) : 即模型预测的结果中,正确结果(包括正的、负的预测正确的)的占比,是最简单直接的一个衡量指标
在这里插入图片描述
accuracy= (TP+TN)/(TP+FN+FP+TN)

精确率(precision) :在所有预测为1的样本中(混淆矩阵第一行),真实标签也为1的样本的占比。

precision = TP/(TP+FP)

召回率(recall) :在所有真实标签为1的样本中(混淆矩阵第一列),模型预测标签也为1的占比。
recall= TP/(TP+FN)

F1值:为两者的综合,能反映模型查的又准又全的能力。precision越大,F1越大;Recall越大,F1越大。
在这里插入图片描述

f-score = 精确率 * 召回率 * 2 / (精确率 + 召回率)

ACC 准确率

acc计算要y_predict预测结果为整数int,y_label为整数就行

accuracy_score(y_label,y_predict)

from sklearn.metrics import accuracy_score

print("test 准确率", accuracy_score(ky_test.tolist(), xg_classifier.predict(kx_test)))

或
print("test acc", accuracy_score(test[target].values, np.around(pred_ans,0).astype(int) ))
或
print("test acc", accuracy_score(test[target].values, np.argmax(pred_ans, axis=1) ))

AUC

参考:https://www.jianshu.com/p/50bd9def2224
AUC 理解(随机挑选一个正样本以及一个负样本,正样本大于负样本的概率):
AUC 的全称是 AreaUnderRoc 即 Roc 曲线与坐标轴形成的面积,取值范围 [0, 1]
在这里插入图片描述
在这里插入图片描述

计算要y_predict预测结果为小数float,y_label为整数就行

roc_auc_score(y_label,y_predict)

from sklearn.metrics import roc_auc_score
print("test AUC", roc_auc_score(ky_test.tolist(), np.expand_dims(xg_classifier.predict_proba(kx_test)[:, 1],1)))
或
print("test AUC", round(roc_auc_score(test[target].values, pred_ans), 4))

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

loong_XL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值