分类模型的评估方法-正确率(Accuracy)

2023-10-28 03:38

本文主要是介绍分类模型的评估方法-正确率(Accuracy),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我们知道,机器学习的一大任务是”分类”。我们构建了一个分类模型,通过训练集训练好后,那么这个分类模型到底预测效果怎么样呢?那就需要进行评估验证

评估验证当然是在测试集上。问题是,我通过什么评估这个分类模型呢?也就是说我们怎么给这个模型打分呢?

想想我们上学时的考试,总分100分,总共100道题,作对1题给1分,最后会有一个得分,例如80分,90分,换算成百分比就是80%,90%,这是我们自然而然能想到的评估方法。在测试集上,假定有10000个样本数据,这个模型进行正确分类的样本数据是9000个,其它1000个都分错了,那么得分就是9000/10000=90%。

这种很简单很直观的评估方法就是正确率(Accuracy)。在一般情况下,这种方式就很好了,注意:正确率(Accuracy)也经常翻译成准确率

但是在很多情况下,这种方式就不那么好了。例如考试中的100道题,不是每道题都是1分,而是前90道题是选择题,每题1分,后10道题是应用题,每题20分。A同学答对了前80道题,B同学答对了后80道题,按照答对题的数量,都是80道题,正确率都是80%。但是,后面的题更重要,B同学理应比A同学得分更高。

要知道我们的试卷就是这么设计的,也就是说有些题比其它题更重要,比如应用题就比选择题重要。同样,在数据样本中,有些数据样本就是比其它数据样本更重要

例如:地震局的地壳活动数据,100万个测试数据样本中,只有10个是有地震的,另外的999990个数据是没有地震的.如果我们的分类模型预测对了这999990个没有地震的数据,另外10个有地震的都预测错了,那么按照正确率(Accuracy)的计算,得分仍然高达99.999%,这显然是离谱的评估。

再例如:医院的肺癌检查数据,10万个测试数据样本中,只有100个是有癌症的;信用卡交易数据中,1亿个测试数据样本,只有1万个是欺诈交易;像预测地震、癌症、欺诈交易写等等这些例子可是我们机器学习领域经常遇到的状况。

因此,正确率(Accuracy)虽然简单直观,但在很多时候并不是一个真正正确的评估指标

这篇关于分类模型的评估方法-正确率(Accuracy)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/290429

相关文章

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

mss32.dll文件丢失怎么办? 电脑提示mss32.dll丢失的多种修复方法

《mss32.dll文件丢失怎么办?电脑提示mss32.dll丢失的多种修复方法》最近,很多电脑用户可能遇到了mss32.dll文件丢失的问题,导致一些应用程序无法正常启动,那么,如何修复这个问题呢... 在电脑常年累月的使用过程中,偶尔会遇到一些问题令人头疼。像是某个程序尝试运行时,系统突然弹出一个错误提