当前位置: 首页 > news >正文

华为面试题及答案——机器学习(二)

21. 如何评价分类模型的优劣?

(1)模型性能指标

  1. 准确率(Accuracy)

    • 定义:正确分类的样本数与总样本数之比。
    • 适用:当各类样本的数量相对均衡时。
  2. 精确率(Precision)

    • 定义:预测为正类的样本中实际为正类的比例。
    • 适用:当关注假阳性错误的成本较高时(例如垃圾邮件检测)。
  3. 召回率(Recall)

    • 定义:实际为正类的样本中被正确预测为正类的比例。
    • 适用:当关注假阴性错误的成本较高时(例如疾病检测)。
  4. F1得分(F1 Score)

    • 定义:精确率和召回率的调和平均数。
    • 适用:当需要平衡精确率和召回率时。
  5. ROC曲线(Receiver Operating Characteristic Curve)和AUC(Area Under the Curve)

    • 定义:ROC曲线是以假阳性率为横轴、真正率为纵轴绘制的曲线,AUC是该曲线下的面积。
    • 适用:用于评估模型在不同阈值下的表现。
  6. PR曲线(Precision-Recall Curve)和AUC-PR

    • 定义:PR曲线是以召回率为横轴、精确率为纵轴绘制的曲线,AUC-PR是该曲线下的面积。
    • 适用:特别适合于类别不平衡的情况。

(2)其他考虑因素

  1. 模型复杂度

    • 简单模型(如线性模型)易于理解和解释,但可能无法捕捉复杂的模式。
    • 复杂模型(如深度神经网络)能够捕捉复杂模式,但可能难以解释和调试。
  2. 训练时间和推理时间

    • 训练时间:模型从数据中学习的时间。复杂模型通常需要更长的训练时间。
    • 推理时间:模型进行预测的时间。在实时应用中,较短的推理时间是优点。
  3. 模型的可解释性

    • 可解释性:模型结果的透明度和理解度。在某些领域,如医疗和金融,可解释性是非常重要的。
  4. 鲁棒性和稳定性

    • 鲁棒性:模型应对噪声和异常值的能力。
    • 稳定性:模型在不同的数据集或样本上的一致性表现。

(3)综合评价

  1. 交叉验证

    • 使用交叉验证(如k折交叉验证)可以更可靠地评估模型性能,减少过拟合的影响。
  2. 混淆矩阵

    • 通过混淆矩阵(Confusion Matrix)可以详细了解模型的分类错误类型,包括真阳性、真阴性、假阳性和假阴性。
  3. 业务目标和应用场景

    • 根据具体的业务目标和应用场景选择合适的评价指标和模型。例如,在医疗诊断中,召回率可能比准确率更重要。

(4)实际应用中的权衡

在实际应用中,通常需要在不同的评价指标之间进行权衡。例如:

  • 在类别不平衡的情况下,更倾向于使用F1得分、AUC-PR等指标。
  • 对于需要实时预测的应用,更关注模型的推理时间。
  • 在高度监管的领域(如金融或医疗),模型的可解释性可能比纯粹的性能指标更重要。

22.如何评价回归模型的优劣 ?

  • 均方误差(Mean Squared Error, MSE)

    • 定义:预测值与实际值之间的平方差的平均值。
    • 公式:

            

    • 适用:当对较大的误差较为敏感时。
  • 均方根误差(Root Mean Squared Error, RMSE)

    • 定义:MSE的平方根。
    • 公式:
    • 适用:与MSE类似,但与原数据单位一致,更易于解释。
  • 平均绝对误差(Mean Absolute Error, MAE)

    • 定义:预测值与实际值之间绝对差的平均值。
    • 公式:

               

    • 适用:当对所有误差同等看待时。
  • 决定系数(R² Score)

    • 定义:衡量模型解释数据变异的能力,取值范围为0到1。
    • 公式:

       

  • 适用:反映模型的整体解释能力,但不适用于非线性关系或异方差性的情况。
  • 调整决定系数(Adjusted R²)

    相关文章:

    华为面试题及答案——机器学习(二)

    21. 如何评价分类模型的优劣? (1)模型性能指标 准确率(Accuracy): 定义:正确分类的样本数与总样本数之比。适用:当各类样本的数量相对均衡时。精确率(Precision): 定义:预测为正类的样本中实际为正类的比例。适用:当关注假阳性错误的成本较高时(例如垃圾邮件检测…...

    PlatformIO开发环境

    PlatformIO是一个开源的生态系统,用于构建物联网应用,它支持多种微控制器(MCU)和硬件开发板,并且与各种IDE集成良好,如VSCode, Atom等,使得跨平台的固件开发变得更加简单和高效。 ### 平台介绍…...

    In install.packages(“devtools“, verbose = TRUE) :

    错误于curl::curl_download("https://r-lib.github.io/gert/libgit2-1.1.0.x86_64_legacy-linux.tar.gz", : Timeout was reached: [] Connection timed out after 10004 milliseconds 停止执行 Using PKG_CFLAGS Using PKG_LIBS-lgit2 ----------------------------…...

    计算机网络 访问控制列表以及NAT

    一、理论知识 1. 单臂路由 单臂路由是一种在路由器上配置多个子接口的方法,每个子接口代表不同的 VLAN,用于在一个物理接口上支持多 VLAN 通信。此方法使得不同 VLAN 之间可以通过路由器进行通信。 2. NAT (网络地址转换) NAT 是一种在私有网络和公共…...

    使用Oracle IMP导入数据

    使用Oracle IMP导入数据 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们来聊一聊如何使用Oracle的IMP工具来导入数据。 一、什么是Oracle IMP Oracle…...

    C++ 100 之 容器插入和删除

    vector插入和删除操作 insert(const_iterator pos, int count,ele);//迭代器指向位置pos插入count个元素ele. push_back(ele); //尾部插入元素ele pop_back();//删除最后一个元素 erase(const_iterator start, const_iterator end);//删除迭代器从start到end之间的元素 erase(c…...

    提升 Selenium 测试稳定性的秘诀:深入理解等待 API 的使用

    目录 为什么需要等待Selenium 等待 API 简介隐式等待显式等待Fluent Wait等待策略的选择示例代码总结 正文 1. 为什么需要等待 在 Web 自动化测试中,等待是一个关键因素。网络应用通常是动态的,页面加载时间、元素的显示时间都可能不同步。直接操作这…...

    Python-算法编程100例-滑动窗口(入门级)

    题目1:最大连续1的个数(简单) 给定一个二进制数组 nums , 计算其中最大连续 1 的个数。 解答:前缀和双指针 # 给定一个二进制数组 nums , 计算其中最大连续 1 的个数。 from typing import Listclass So…...

    ffmpeg使用mjpeg把yuvj420p编码为jpg图像

    version #define LIBAVUTIL_VERSION_MAJOR 58 #define LIBAVUTIL_VERSION_MINOR 12 #define LIBAVUTIL_VERSION_MICRO 100 node 不使用AVOutputFormat code void CFfmpegOps::EncodeYUVJ420pToMJPEG(const char* infile, const char* width_str, const char* height_s…...

    龙迅#LT6911GXC支持HDMI2.1转MIPI/4PORT LVDS应用功能,分辨率高达8K30HZ/4K120HZ压缩格式。

    1. 描述 该LT6911GXC是一款高性能HD-DVI2.1转MIPI或LVDS芯片,适用于VR/显示应用。 HDCP RX作为HDCP中继器的上游,可以与其他芯片的HDCP TX配合实现中继器功能。 对于 HD-DVI2.1 输入,LT6911GXC可以配置为 3/4 通道。 对于MIPI输出&#xff0c…...

    .NET 6.0 Web API项目中实现基于Token的身份验证

    本文以一个完整的示例,展示如何在.NET 6.0 Web API项目中实现基于Token的身份验证。这个例子包括了如何创建和验证JWT Token,以及如何在控制器中使用这些Token。 步骤 1: 创建Web API项目 首先,用Visual Studio 2022创建一个基于.NET6.0的 …...

    Java常用对象的快速初始化

    在Java中,有多种方式来快速初始化各种常用对象,如字符串数组(String[]),集合列表(List),映射表(Map),以及集合(Set)。不同…...

    逻辑回归模型模拟实现:从零开始

    引言 逻辑回归是一种用于二分类问题的机器学习算法。尽管它的名字中有“回归”,但它实际上是用于分类的。在本文中,我们将通过模拟数据来演示逻辑回归模型的实现。 逻辑回归简介 逻辑回归通过使用逻辑函数(通常是Sigmoid函数)将…...

    Docker基本使用和认识

    目录 基本使用 镜像仓库 镜像操作 Docker 如何实现镜像 1) namespace 2) cgroup 3) LXC Docker常见的网络类型 bridge网络如何实现 基本使用 镜像仓库 镜像仓库登录 1)docker login 后面不指定IP地址,则默认登录到 docker hub 上 退出 2)docker logo…...

    Halcon 文本文件操作,形态学

    一文件的读写 *******************************************************向文本文件写入字符串内容*************************************************************read_image (Image, fabrik)threshold (Image, Region, 0, 120)area_center (Region, Area, Row, Column)open_…...

    【鸿蒙】稍微理解一下Stage模型

    鸿蒙的Stage模型是HarmonyOS多端统一的应用开发框架中的一个核心概念,用于描述应用的界面层次结构和组件之间的关系。下面将详细解析Stage模型的主要组成部分和特点: 模型组成: UIAbility组件:这是应用中负责绘制用户界面的组件&a…...

    毕业答辩制作PPT【攻略】

    毕业答辩制作PPT【攻略】 前言版权毕业答辩制作PPT【攻略】一、WPS AI 15天免费会员二、AI文档生成PPT三、修改完善PPT 最后 前言 2024-06-14 23:43:05 以下内容源自《【攻略】》 仅供学习交流使用 版权 禁止其他平台发布时删除以下此话 本文首次发布于CSDN平台 作者是CSDN…...

    深入解析npm install --save-dev:开发依赖管理的艺术

    npm(Node Package Manager)是JavaScript编程语言的包管理器,用于管理项目中的依赖关系。在开发过程中,合理地管理依赖是保证项目可维护性和可扩展性的关键。npm install命令是npm中最常用的命令之一,而--save-dev参数则…...

    福布斯 AI 50 榜单中唯一开源向量数据库:Weaviate

    本篇文章,聊聊福布斯全球网站前俩月发布的 2023 AI 50 榜单中的唯一一个开源的向量数据库:Weaviate。 它在数据持久化和容错性上表现非常好、支持混合搜索、支持水平扩展,同时又保持了轻量化。官方主打做 AI 时代的原生数据库,减…...

    信息学奥赛初赛天天练-38-CSP-J2021阅读程序-约数个数、约数和、埃氏筛法、欧拉筛法筛素数应用

    PDF文档公众号回复关键字:20240628 2021 CSP-J 阅读程序3 1阅读程序(判断题1.5分 选择题3分 共计40分 ) 01 #include<stdio.h> 02 using namespace std; 03 04 #define n 100000 05 #define N n1 06 07 int m; 08 int a[N],b[N],c[N],d[N]; 09 int f[N],g[N]; 10 11 …...

    后进先出(LIFO)详解

    LIFO 是 Last In, First Out 的缩写&#xff0c;中文译为后进先出。这是一种数据结构的工作原则&#xff0c;类似于一摞盘子或一叠书本&#xff1a; 最后放进去的元素最先出来 -想象往筒状容器里放盘子&#xff1a; &#xff08;1&#xff09;你放进的最后一个盘子&#xff08…...

    《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

    引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

    shell脚本--常见案例

    1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

    MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

    一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

    DAY 47

    三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

    抖音增长新引擎:品融电商,一站式全案代运营领跑者

    抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

    Mac软件卸载指南,简单易懂!

    刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

    相机从app启动流程

    一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

    解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

    出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

    leetcodeSQL解题:3564. 季节性销售分析

    leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...