深度学习中的准确率、精确率(查准率)、召回率(查全率)、F1值、ROC曲线的AUC值,

混淆矩阵

其中关于 TP, TN; FP, FN 的解释;

其中首字母 T,F代表预测的情况,即T代表预测的结果是对的, F代表预测的结果是错误的;
第二个字母代表预测是预测为 正样本,还是负样本, Positve 代表正样本;

注意,
此时这里的正样本代表的 是 预测属于某一类别的样本;
负样本则代表预测不属于某一类别的样本。

举例说来

  • TP: True 模型预测正确, 预测为正样本Positive;
  • FN: False 模型预测错误, 预测为负样本 Negative;

在这里插入图片描述

通常情况下,混淆矩阵中, 行代表真实值,列代表预测值,

部分仓库, 与此不一致,列代表真实值,行代表预测值,
需要阅读代码的时候,通过查看文档确定;

在这里插入图片描述

1. 基础指标

1.1 准确率 (accuracy)

准确率:衡量正确预测的样本占总样本的比例。这是最简单的指标,

计算方式为 :
预测正确的样本数目 所有预测的样本数目 \frac{预测正确的样本数目 }{所有预测的样本数目} 所有预测的样本数目预测正确的样本数目

然而,普通的准确率并不适合不平衡的数据集

  • 因为在 类别不均衡的数据集中,
    假设异常类别的样本数目特别多, 异常类别的样本数目很少。

此时, 正常样本的预测正确的个数很高, 但是异常类别的样本全部预测错误,
此时,在这种情况下, 整体样本的准确率仍然非常高, 然而实际情况却并非如此,因为此时异常样本的预测的准确率几乎为0;

1.2 精确率(查准率) Precision

查准率:
它衡量 正确预测的正观测值与预测的正观测值总数的比率。

  • 它评估模型预测正类的准确性,计算公式为:

T r u e P o s i t i v e T r u e P o s i t i v e + F a l s e P o s i t i v e \frac{ True Positive }{ True Positive + False Positive } TruePositive+FalsePositiveTruePositive

分子: True Positive: 预测正确,且预测为正样本, 即混淆矩阵中对角线上的值;
分母: False Positive: 预测错误, 且预测为正样本;

1.3召回率(查全率) Recall ( Sensitivity)

召回率(灵敏度):它衡量正确预测的阳性观察结果与所有实际阳性结果的比率。

  • 它评估模型检测所有正实例的能力,

计算公式为
True Positives
True Positives + False Negatives
True Positives + False Negatives
True Positives

分子: True Positive: 预测正确,且预测为正样本, 即混淆矩阵中对角线上的值;
分母: False Negative : 预测错误, 且预测为正样本; 该类别下所有的样本个数, 通常是某一行的所有样本的总和。

1.4 F1值、

F1 分数:精确率和召回率的调和平均值。

  • F1 分数在精确度和召回率之间提供了平衡,对这两个指标给予相同的权重。
    其计算方式为

1.5 ROC曲线的AUC值

AUC-ROC (Area Under the Receiver Operating Characteristic Curve)

ROC 曲线是各种阈值的真阳性率(召回率)与假阳性率(1 - 特异性)的图形表示。 AUC-ROC 测量该曲线下的面积,并提供所有可能的分类阈值的总体性能测量

上述指标中,在 Python 中使用 scikit-learn,这些指标可以计算如下:

from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_auc_score# Assuming y_true contains true labels and y_pred contains predicted labels
# Calculate different evaluation metrics
accuracy = accuracy_score(y_true, y_pred)
precision = precision_score(y_true, y_pred)
recall = recall_score(y_true, y_pred)
f1 = f1_score(y_true, y_pred)
auc_roc = roc_auc_score(y_true, y_scores)  # y_scores are the predicted scores or probabilities# Print the calculated metrics
print(f"Accuracy: {accuracy}")
print(f"Precision: {precision}")
print(f"Recall: {recall}")
print(f"F1 Score: {f1}")
print(f"AUC-ROC: {auc_roc}")

1.6 average 参数的选择

对于 precision_score 、 recall_score 和 f1_score , average 参数指定对每类指标执行平均的类型,以计算总体指标:

  • average=‘micro’ :
    通过计算所有类别的真阳性、假阴性和假阳性总数来全局计算指标。然后使用这些聚合值计算指标。

  • average=‘macro’: 单独计算每个类的指标,然后取这些指标的未加权平均值。平等对待所有类别,无论类别是否不平衡。

  • average=‘weighted’ :单独计算每个类的指标,然后取这些指标的加权平均值,其中每个类的分数按其支持度(真实实例的数量)进行加权。

from  sklearn.metrics import precision_score, recall_score, f1_score# Assuming y_true contains true labels and y_pred contains predicted labels for multi-class classification
# Calculate precision, recall, and F1-score with different averaging methods
precision_micro = precision_score(y_true, y_pred, average='micro')
precision_macro = precision_score(y_true, y_pred, average='macro')
precision_weighted = precision_score(y_true, y_pred, average='weighted')recall_micro = recall_score(y_true, y_pred, average='micro')
recall_macro = recall_score(y_true, y_pred, average='macro')
recall_weighted = recall_score(y_true, y_pred, average='weighted')f1_micro = f1_score(y_true, y_pred, average='micro')
f1_macro = f1_score(y_true, y_pred, average='macro')
f1_weighted = f1_score(y_true, y_pred, average='weighted')# Print the calculated metrics
print(f"Precision - Micro: {precision_micro}, Macro: {precision_macro}, Weighted: {precision_weighted}")
print(f"Recall - Micro: {recall_micro}, Macro: {recall_macro}, Weighted: {recall_weighted}")
print(f"F1 Score - Micro: {f1_micro}, Macro: {f1_macro}, Weighted: {f1_weighted}")

reference

https://www.cnblogs.com/Yanjy-OnlyOne/p/11362315.html#:~:text=3%E3%80%81%E6%B7%B7%E6%B7%86%E7%9F%A9%E9%98%B5(Confusion%20Matrix,%E4%BB%A3%E8%A1%A8%E7%9A%84%E6%98%AF%E9%A2%84%E6%B5%8B%E5%80%BC%E3%80%82

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/324924.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

西电期末1021.梅森尼数

一.题目 二.分析与思路 用pow函数计算&#xff0c;编写布尔函数&#xff0c;用定义判断&#xff0c;因为不知道有没有时间限制&#xff0c;可能会超时&#xff0c;此时可以用素数筛。 三.代码实现 #include<bits/stdc.h> bool f(int m){for(int i2;i<m-1;i){if(m%i0…

Vue-3、模板语法

1、插值语法 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>模板语法</title><!--引入vue--><script type"text/javascript" src"https://cdn.jsdelivr.net/npm/vue2…

ROS学习笔记(7)进一步深入了解ROS第一步

0.前提 最近在学习宾夕法尼亚大学工程学院的ROS公开课&#xff0c;在尽力的去融入全英语的环境&#xff08;哪怕我的英语水准并不是很高&#xff09;。既然是在学习&#xff0c;笔记也就是必须的了&#xff0c;当然这些笔记都是课程当中提出的问题&#xff0c;我去寻找后得出的…

三款推荐的 FTP 工具

&#x1f947; 版权: 本文由【墨理学AI】原创、在CSDN首发、各位大佬、敬请查阅&#x1f389; 声明: 作为全网 AI 领域 干货最多的博主之一&#xff0c;❤️ 不负光阴不负卿 ❤️ 文章目录 三款推荐的 FTP 工具filezillawinscpFinalShell SSHXftp❤️ 人生苦短&#xff0c; 欢迎…

利用小红书笔记详情API:为内容运营提供强大的支持

利用小红书笔记详情API&#xff0c;内容运营者可以获得对小红书平台上的笔记内容的深入洞察&#xff0c;从而为其运营工作提供强大的支持。以下是该API如何支持内容运营的几个关键方面&#xff1a; 获取笔记内容与数据&#xff1a; API允许内容运营者直接获取小红书平台上的笔记…

阿里云服务器 使用Certbot申请免费 HTTPS 证书及自动续期

前言 Certbot是一款免费且开源的自动化安全证书管理工具&#xff0c;由电子前沿基金会&#xff08;EFF&#xff09;开发和维护&#xff0c;是在Linux、Apache和Nginx服务器上配置和管理SSL/TLS证书的一种机制。Certbot可以自动完成域名的认证并安装证书。 一、 安装软件 1.1…

如何找到各行业的企业名录?分享三种方法!

企业拓客中一定会遇到的问题&#xff1a;如何找到各个行业的企业名录&#xff1f; 今天分享三种查找企业联系方式的方法。 一、网络关键词查询 1. 如果你想查找某个地区的所有企业名录&#xff0c;可以输入&#xff1a;上海 制造业 企业名录 filetype:xls intitle:上海。&a…

云尚办公项目学习

完整的笔记可以参考这个专栏&#xff0c;写的挺详细的&#xff1a;云尚办公课件笔记&#xff0c;come on boy form-create前端组件 formProps记录了表单有哪些表单项&#xff0c;分别是哪些类型&#xff08;下拉&#xff0c;单选&#xff0c;输入框&#xff09; formOptions记…

复试 || 就业day04(2024.01.05)项目一

文章目录 前言线性回归房价预测加载数据数据查看数据拆分数据建模模型的验证、应用模型的评估 总结 前言 &#x1f4ab;你好&#xff0c;我是辰chen&#xff0c;本文旨在准备考研复试或就业 &#x1f4ab;本文内容来自某机构网课&#xff0c;是我为复试准备的第一个项目 &#…

【书生·浦语大模型实战营01】《书生·浦语大模型全链路开源体系》

《书生浦语大模型全链路开源体系》 1. 大模型成为热门关键词 LLM发展时间轴 2. 书生浦语全链条开源开放体系 微调&#xff1a;XTuner 支持全参数微调支持LoRA等低成本微调 评测&#xff1a;OpenCompass 全方位评测&#xff0c;性能可复现80套评测集&#xff0c; 40万道题目…

AR技术改变汽车行业,AR看车、AR车书、AR售后维修震撼登场!

引言&#xff1a; 随着中国汽车市场步入存量发展阶段&#xff0c;车企正迎来新的机遇和挑战。这一发展意味着庞大的汽车后市场需求&#xff0c;同时也要求企业和经销商能够快速响应市场需求&#xff0c;提供高质量的服务。而培养具备全面技能的成熟售后服务人员需要企业投入大…

为什么云性能监控如此重要?

在当今数字化时代&#xff0c;企业越来越依赖云服务来支持其业务需求。为了确保云服务的可用性、性能和稳定性&#xff0c;云性能监控成为管理和优化云基础架构的关键一环。那么&#xff0c;为什么云性能监控如此重要?下面&#xff0c;就来看看具体介绍吧! 一、实时故障检测 云…