iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >机器学习中怎么评估分类效果
  • 523
分享到

机器学习中怎么评估分类效果

2023-06-19 12:06:22 523人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关机器学习中怎么评估分类效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。给你一个问题,假如老板让另一个同事去检查一万张纸币中,有多少是真币,有多少是假币,然后这个同事给老板汇报

这篇文章将为大家详细讲解有关机器学习中怎么评估分类效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

给你一个问题,假如老板让另一个同事去检查一万张纸币中,有多少是真币,有多少是假币,然后这个同事给老板汇报了结果:这一万张纸币中,有2千张是真币,有8千张是假币。现在,老板让你来评估这个同事的汇报结果,你会怎么做?

你重新把一万张纸币再用机器过一遍再做对比,或者把这个同事的2千张真币与8千张假币再过一遍,这都是可以的。但是,假如不允许你这样做呢,比如一万张纸币变成了1百万张,不可能给你时间再全部来一遍,那你怎么做?

抽查啊。

似乎就这一招,那么要怎么抽查才能合理地评估同事汇报的结果呢?

一般的做法是这样的,先在2千张真币上抽查:“你说这些都是真币,哪到底有多少是真的呢?” 这个比例,在数据分析中,叫Precision,精度或精准度。如果100%是真的,那当然是最好的。但即使精准度是100%,也不能说明这个汇报结果就ok了,因为,另外8千张“假币”中也有可能全是真币啊。

所以,还要在8千张假币中抽查:“你说都是假的,哪到底有多少是假的呢?” 这个比例,也能说明问题,假如抽了一百张,结果有90张都是真币(只有10%真是假币),那说这8千张都是假币就显得很不可信。这个比例,小程觉得它也叫作精准度,就是“你说的假中,到底有多少是假”,值越大越好。

那除了精准度,是不是就够了呢?

看起来是够了,因为,精准度反应了“判是非”的能力。以上面的例子来说,比如判断为真币的精度是98%,那就意味着只有2%的假币被误判为真币了,所以我把假币判断为真币的可能性是很低的(假设2%在业界是很低的:-)。再比如,假设判断为假币的精度是95%,那就意味着只有5%的真币给误判成假币了。在这种情况下,把假的判断成真的,或把真的判断成假的,比例都很低。这不就完了吗?这说明“判是非”的能力很强啊,这个预测系统是可信的啊,它不会把真假误判啊,你给它一堆纸币,它就能给你分辨真假,不会出错啊。

但是,这里有一个前提,这个系统要在判断后,你才知道是不是判断对了。如果这个系统对所有纸币都不判断,或者者1万张纸币中只判断了1千张,那你还指望它做什么?它是很准啊,但是,它只有判断出来的才很准,还有很多是没有判断出来的!但话说回来,其实只要很准(精度高),就有使用市场的,这个后面再说。

所以,这里还有一个指标,叫Sensitivity灵敏度,也叫Recall召回率。

召回率,反映了“找回”的能力,比如我给系统1千张真币,它能找出800张真币,那80%就是召回率。如果它的召回率是10%,那说明只找回了100张,还有900张是怎么回事?这时,有两个可能,一是判断不出来,比如这900张我就是判断不出来,所以就找不回来,另一个可能,就是误判了,比如900张我都误判为假币了。但是,误判说明什么?误判说明精度差啊,所以如果精度很高,那就只有一种可能,就是判断不出来。

所以,精度跟召回率都要看,精度反应了靠不靠谱(说什么是什么),召回率反应了能不能找到数据(覆盖了多少样本)。

不管是精度还是召回率,都只是一个数字,而为了得到这个数字,一般都是经过很多样本的预测考验才得出来的,所以把这些样本都反应出来就显得很必要了,这表明,我的“率”是有由来的。这时候,“混淆矩阵”就出场了。

混淆矩阵,也叫差错矩阵,名字都是从鬼文翻译过来的(由此可见,含义才是最重要的,鬼知道翻译到的是什么)。混淆矩阵是一张表格,一边是真实值,一边是预测值,横竖怎么摆都行,看下面这个图就明白了:

机器学习中怎么评估分类效果

“混淆”表明了分类的能力,以上图为例,苹果的召回率(在一堆苹果中能捞回多少苹果的能力)是:90/(90+5+4+1)=90%,而香蕉、梨与草莓的召回率分别为80%、95%、97%。小程每个分类刚好用了100个真实值,为了方便心算能力不好的你。由此可见,右对角线上的值就是召回值,也就是判断准确的值。

再看精度,这里行表示了精度,比如苹果的精度是:90/(90+10+1+0)=89%,香蕉的精度是:80/(5+80+2+2)=89.9%,梨跟草莓分别是90.4%、92.4%。

然后,召回率跟精度一起来看,
苹果、 香蕉、 梨、     草莓
90%     80%     95%      97%
89%     89.9%  90.4%   92.4%

草莓的召回率跟精度都是最高的,让我们恭喜它!

除了召回率跟精度,对于分类器(上面预测苹果香蕉就是分类器)效果评估,还有两个指标,一个叫总的准确率,就是拿判断准确的值(右对角线上的值)相加,再除以总的样本数量,这里就是(90+80+95+97)/400=90.5%,另一个叫特异度,比如对于苹果,就是真的不是苹果的样本中,判断不是苹果的比例。但小程觉得这两个指标的参考意义不大。

从一张样本表,抽象出每个分类的召回率跟精度,如果再把抽象一下,就是每个分类的F1Score,它是召回率跟精度的整合:F1Score=2*精度*召回/(精度+召回),上面的例子,苹果的F1Score=2*90%*89%/(90%+89%)=89.49%。

基本上,也就是用精度、召回率来描述分类器的质量了,最多再加个F1Score。

让我们再深入一点,问你一个问题,精度高可以用于什么场景?召回率高又可以用于什么场景?

精度高,就是不出错啰,说是什么就是什么,那可以用于分类,比如给一批样本过来,样本里面有ABCD几个分类,精度高的情况下,就可以指出哪些样本是A,哪些样本是B,等等。如果精度高,但召回率低,一样可以用于分类,只是,有很多A类的样本没有找出来(谁让你判断不出来),其它分类也一样。

召回率高,但精度低,那就是分类是不靠谱的,说是A结果可能是B,那就不要分类了,这时,因为召回率高,那可以用于筛选已有的分类,比如说有一批样本基本是A类,只是里面可能有一些B跟C,那就可以用这个分类器来筛选了,相当于纠错,因为召回率高,所以基本把A给找回来,其它的扔掉。

召回率高,精度也高,也既可用于分类,也可用于已有分类(真的分好了的)的筛选。

那如果召回率低,精度也低呢?那就是废的,用人工好了!

关于“机器学习中怎么评估分类效果”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: 机器学习中怎么评估分类效果

本文链接: https://www.lsjlt.com/news/295956.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 机器学习中怎么评估分类效果
    这篇文章将为大家详细讲解有关机器学习中怎么评估分类效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。给你一个问题,假如老板让另一个同事去检查一万张纸币中,有多少是真币,有多少是假币,然后这个同事给老板汇报...
    99+
    2023-06-19
  • Python 机器学习模型评估:如何衡量机器学习模型的性能
    模型评估概述 机器学习模型评估是机器学习过程中关键的一步,用于衡量模型在给定数据集上的性能和泛化能力。评估结果可以帮助我们了解模型是否适合特定问题,并为模型选择和调优提供指导。 评估指标 准确度(Accuracy) 准确度是最常用的评估...
    99+
    2024-02-14
    机器学习 模型评估 准确度 召回率 精确率 F1 分数 ROC 曲线 混淆矩阵
  • 机器学习之模型评分
    今天给大家带来一篇如何评价模型的好坏以及模型的得分 最下面的代码最有用   一、错误率与精度(accuracy 准确)        错误率和精度是分类任务中最常用的两种性能度量,既适用于二分类任务,也适用于多分类任务。错误率是分类错误的...
    99+
    2023-01-31
    模型 评分 机器
  • 怎么使用R语言进行机器学习模型训练和评估
    在R语言中,可以使用各种机器学习库和包来进行模型训练和评估。以下是一个简单的步骤来使用R语言进行机器学习模型训练和评估的示例: 准...
    99+
    2024-03-04
    R语言
  • (机器学习)——使用KNN进行水果分类
    (机器学习)——使用KNN进行水果分类(详解) 实验目标是:导入素材文件fruit_data.txt,使用SKlearn中的neighbors模块对水果数据进行分类,然后预测A、B两种水果的类别。 以...
    99+
    2023-10-26
    分类 python
  • Python机器学习利用随机森林对特征重要性计算评估
    目录1 前言2 随机森林(RF)简介3 特征重要性评估4 举个例子5 参考文献1 前言 随机森林是以决策树为基学习器的集成学习算法。随机森林非常简单,易于实现,计算开销也很小,更令人...
    99+
    2024-04-02
  • 怎么持续监控和评估DDoS防御措施的效果
    持续监控和评估DDoS防御措施的效果是保证网络安全的重要步骤。以下是一些方法来持续监控和评估DDoS防御措施的效果: 实施实时监...
    99+
    2024-04-15
    DDoS攻击
  • 机器学习实战:Python基于KDE核密度估计进行分布估计(十六)
    文章目录 1. 前言1.1 KDE简介1.2 KDE应用领域 2. diy数据集实战演示2.1 导入函数2.2 自定义数据2.3 可视化数据2.4 KDE建模 3. 参数探讨3.1...
    99+
    2023-10-20
    机器学习 python 人工智能 原力计划
  • PyTorch中怎么进行模型评估和性能分析
    在PyTorch中,可以使用torch.utils.data.DataLoader加载测试数据集,并调用模型的eval()方法进入评...
    99+
    2024-03-05
    PyTorch
  • Python实现机器学习算法的分类
    Python算法的分类 对葡萄酒数据集进行测试,由于数据集是多分类且数据的样本分布不平衡,所以直接对数据测试,效果不理想。所以使用SMOTE过采样对数据进行处理,对数据去重,去空,处...
    99+
    2024-04-02
  • 怎么在css中实现一个评分星星效果
    本篇文章为大家展示了怎么在css中实现一个评分星星效果,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。结构如下:很简单的结构,主要核心代码如下:<div class="gra...
    99+
    2023-06-08
  • Python机器学习NLP自然语言处理基本操作之京东评论分类
    目录概述RNN权重共享计算过程LSTM阶段数据介绍代码预处理主函数概述 从今天开始我们将开启一段自然语言处理 (NLP) 的旅程. 自然语言处理可以让来处理, 理解, 以及运用人类的...
    99+
    2024-04-02
  • 在Python中通过机器学习实现人体姿势估计
    目录什么是姿态估计?2D 与 3D 姿态估计为姿态估计准备数据集创建姿势估计模型模型结果结论姿态检测是计算机视觉领域的一个活跃研究领域。你可以从字面上找到数百篇研究论文和几个试图解决...
    99+
    2024-04-02
  • 机器学习-贝叶斯分类器(附Python代码)
    1. 贝叶斯原理 Naive Bayes 官方网址: https://scikit-learn.org/stable/modules/naive_bayes.html GitHub地址:https:...
    99+
    2023-09-22
    机器学习 python 算法 分类算法
  • 在Python中如何通过机器学习实现人体姿势估计
    小编给大家分享一下在Python中如何通过机器学习实现人体姿势估计,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是姿态估计?姿态估计是一种跟踪人或物体运动的计...
    99+
    2023-06-22
  • 计算机竞赛 基于GRU的 电影评论情感分析 - python 深度学习 情感分类
    文章目录 1 前言1.1 项目介绍 2 情感分类介绍3 数据集4 实现4.1 数据预处理4.2 构建网络4.3 训练模型4.4 模型评估4.5 模型预测 5 最后 1 前言 🔥 优质竞赛项目系列,今天要分...
    99+
    2023-08-30
    python java
  • 微信小程序五星评分效果怎么实现
    这篇文章主要介绍微信小程序五星评分效果怎么实现,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!微信小程序五星评分效果实现代码很多做过电商项目的朋友会经常用到评分的功能,我这里正好写了一...
    99+
    2024-04-02
  • Python机器学习中pandas的示例分析
    小编给大家分享一下Python机器学习中pandas的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python的五大特点是什么python的五大特点:1...
    99+
    2023-06-15
  • Java中的内部类怎么学习
    这篇文章的内容主要围绕Java中的内部类怎么学习进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!看了很多源码,都有用到内部类,但是自己以前在生产环境上...
    99+
    2023-06-16
  • 用 Go 编写高效的分布式机器学习应用
    本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《用 Go 编写高效的分布式机器学习应用》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~随着互联网和数据技...
    99+
    2024-04-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作