喜欢的话别忘了点赞、收藏加关注哦(关注即可查看全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(=・ω・=)
请添加图片描述

4.3.1. 实战中会遇到的问题

首先看一个例子:

根据任检测数据x1x_1x1x2x_2x2及其标签,判断x1=6x_1 = 6x1=6x2=4x_2 = 4x2=4时所属的类别。

图像如下:
请添加图片描述

我们接下来就需要选择算法了,可选择的有:

  • 逻辑回归(详见 1.6. 逻辑回归理论)
  • KNN(详见 2.2. 聚类分析算法理论)
  • 决策树(详见 3.1. 决策树理论)
  • 神经网络(之后会讲)

选择完算法之后我们还会遇到一个问题:具体算法的核心结构/参数如何选择?

  • 如果选择逻辑回归:边界函数用什么?用线性函数还是多项式?
  • 如果选择KNN:核心参数n_neighbors(指定的K值)取多少合适?

最后,如果模型表现不佳,具体表现为

  • 训练数据准确率太低(欠拟合)
  • 测试数据准确率下降明显(过拟合)
  • 召回度/特异度/精确率低

这种情况下我该怎么办呢?

这些情况汇总下来就是一个问题:如何提高模型表现

4.3.2. 数据决定上限

数据的质量决定了模型表现的上限。就算你用再强的模型/参数,只要你的数据质量差效果就好不起来。

建议在建模之前先检查数据的以下方面:

  • 数据属性的意义,是否为无关数据
  • 不同属性数据的数量级差异性如何
  • 是否有异常数据
  • 采集数据的方法是否合理,采集的数据是否有代表性
  • 对于标签结果,要确保标签判定规则的一致性(统一标准)
对数据进行的操作好处
删除不必要的属性防止过拟合,节约运算时间
数据预处理:归一化、标准化平衡数据影响,加快训练收敛
确定是否保留或过滤掉异常数据提高实用性
尝试不同的模型,对比模型表现帮助确定更合适的模型

以上文的例子来说,在我们获得数据之后,我们要考虑以下问题:

  • 是否有需要剔除的异常数据?
  • 数据量级差异如何?
  • 是否需要降低数据维度?

对于检查异常数据这一部分,我们学过异常检测(详见 3.3. 异常检测(Anomaly Detection)理论),通过概率密度函数来找潜在的数据异常点。

对于数据量级差异的部分,我们要先看数据的分布,x1x_1x1的数据分布在0.77~9.49,x2x_2x2的数据分布在0.69~9.5。这两个变量的数据分布基本相同,可以不做归一化处理。

对于确认是否需要降低数据维度的部分,我们需要先对数据进行主成分分析(详见 3.4. 主成分分析(PCA)理论)。由于例子中的数据只有2个维度,所以就不需要进行主成分分析来降维了,具体的操作见 3.7. 主成分分析(PCA)实战。

4.3.3. 尝试不同的模型

不同的模型通常会有不同的效果,你可以计算准确率并可视化出来,这里的数据使用的是 1.9. 逻辑回归实战 中的,我把.csv数据文件放在GitCode上了,点击链接即可下载。
请添加图片描述

你也可以通过混淆矩阵来计算其它参数,根据其他指数来决定要使用哪个模型。衡量指标的选择取决于应用场景:

  • 垃圾邮件检测(正样本为“垃圾邮件“):希望普通邮件(负样本)不要被判断为垃圾邮件(正样本),即:判断为垃圾邮件的样本都是判断正确的,需要关注精确率;还希望所有的垃圾邮件尽可能被判断出来,需要关注召回率
  • 异常交易检测(正样本为“异常交易”):希望判断为正常的交易(负样本)中尽可能不存在异常交易,还需要关注特异度

4.3.4. 其他调整

在确定了该使用什么模型之后,我们还需要对其他方面进行微调:

  • 遍历核心参数组合,评估对应模型表现(比如:逻辑回归边界函数考虑多项式、KNN尝试不同的n_neighbors值)
  • 扩大数据样本
  • 增加或减少数据属性
  • 对数据进行降维处理(主成分分析PCA)
  • 对模型进行正则化处理,调整正则项λ\lambdaλ的数值(详见 4.1. 过拟合(overfitting)与欠拟合(underfitting) )

来看看KNN的n_neighbors值对结果的影响:
请添加图片描述

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

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

相关文章

Impact rating 影响等级定义(学习笔记)

影响等级可以通过四个方面定义,包含安全性safety,经济型financial,操作性operational,和私密性privacy 即[S,F,O,P]这四个方面。每个方面又可以定义四个不同的等级,包含severe(严重的)&#xff…

同花顺前端潜在面试题目与答案

潜在面试题目与答案 以下是根据您提供的“岗位职责”和“岗位要求”整理出的潜在面试题目和参考答案。请注意,这些答案仅供参考,您需要根据自己的实际经验和理解进行更详细和个性化的阐述。 一、基础技术知识(Vue/前端工程化/HTML/CSS/JS&…

J2EE模式---组合实体模式

组合实体模式基础概念组合实体模式(Composite Entity Pattern)是一种企业级设计模式,属于 J2EE 模式的一种,其核心思想是将多个实体对象组合成一个更高层次的对象(组合实体),以简化客户端与这些…

基于CloudBase+React+CodeBudddy的云上智能睡眠应用开发实践

本文详细记录了如何利用CloudBase云开发平台、React前端框架和CodeBudddy智能编程技术栈,构建一个云端智能睡眠监测与分析系统。通过完整的项目实践,探索AIoT时代健康管理应用的开发范式。一、智能睡眠监测:云时代的健康守护者在快节奏的现代…

QML 模型

QML模型基础架构QML采用经典的Model-View-Delegate (MVD)​架构来分离数据与界面,这与MVC模式类似但更加适合声明式UI开发。在这个架构中:​Model​:负责管理数据,可以是简单的整数,也可以是复杂的C自定义模型​View​…

基于Trae IDE与MCP实现网页自动化测试的最佳实践

引言 在现代Web开发流程中,自动化测试已成为保障应用质量、提升开发效率的关键环节。Playwright作为一款新兴的测试框架,因其出色的跨浏览器支持能力和丰富的API特性,正逐渐成为自动化测试领域的主流选择。本文将详细介绍如何在葡萄城Trae ID…

Android 动画优化

动画是提升 Android 应用用户体验的核心手段 —— 流畅的过渡动画能让页面切换更自然,交互反馈动画能让操作更有质感。但动画也是性能 “重灾区”:掉帧、卡顿、内存暴涨等问题,往往源于对动画原理和优化技巧的忽视。本文将从动画性能的核心瓶…

Linux——进程间通信,匿名管道,进程池

文章目录一、进程间通信(IPC)的理解1.为什么进程间要通信(IPC)2.如何进行通信二、匿名管道1.管道的理解2.匿名管道的使用3.管道的五种特性4.管道的四种通信情况5.管道缓冲区容量三、进程池1.进程池的理解2.进程池的制作四、源码Pr…

深度分析Java内存回收机制

内存回收机制是Java区别于C/C等语言的核心特性之一,也是Java开发者理解程序性能、解决内存相关问题(如内存泄漏、OOM)的关键。 核心目标: 自动回收程序中不再使用的对象所占用的内存,防止内存耗尽,同时尽量…

uniapp “requestPayment:fail [payment支付宝:62009]未知错误“

解决方案:兄弟,有一种可能是你用测试机没有安装支付宝

分布在内侧内嗅皮层(MEC)的带状细胞对NLP中的深层语义分析的积极影响和启示

带状细胞(Band Cells)作为内侧内嗅皮层(Medial Entorhinal Cortex, MEC)层Ⅱ/Ⅲ的核心空间编码单元(如网格细胞、头方向细胞等),其独特的神经计算机制为自然语言处理(NLP&#xff09…

综合实验(4)

文章目录 目录 文章目录 前言 实验配置 实验总结 总结 前言 Cisco IOS Site-to-Site VPN(虚拟专用网络)是一种通过公共网络(如互联网)建立安全连接的技术,使不同地理位置的局域网(LAN)能够安…

JavaSE:开发环境的搭建(Eclipse)

一、IDE概述与核心价值 集成开发环境定义 提供编译器、调试器、项目管理工具的统一平台,显著提升开发效率。 Eclipse核心优势: 免费开源 :社区驱动,无授权费用跨平台支持 :Windows/Linux/macOS全兼容多语言扩展 &a…

使用LLaMA-Factory对大模型进行微调

之前了解过一些LLM从训练到落地的过程; 其中一个重要的步骤就是微调; 预训练:在大规模数据上学习通用语言知识。(使用海量无标注文本(TB级)) 微调:在预训练基础上,使用特定任务的标注数据进一步优化模型。(使用少量任务…

WxPython——一些最常见的错误现象及解决方法

一些最常见的错误现象及解决方法 有一些错误它们可能会发生在你的wxPython应用程序对象或初始的顶级窗口在创建时,这些错误可能是很难诊断的。下面我们列出一些最常见的错误现象及解决方法: 错误现象:程序启动时提示“unable to import modul…

SparkSQL 子查询 IN/NOT IN 对 NULL 值的处理

SparkSQL 子查询 IN/NOT IN 对 NULL 值的处理 官网:https://spark.apache.org/docs/4.0.0/sql-ref-functions.html https://spark.apache.org/docs/4.0.0/sql-ref-null-semantics.html#innot-in-subquery Unlike the EXISTS expression, IN expression can return…

【安卓笔记】lifecycle与viewModel

0. 环境: 电脑:Windows10 Android Studio: 2024.3.2 编程语言: Java Gradle version:8.11.1 Compile Sdk Version:35 Java 版本:Java11 1. 本篇文章涉及到的内容 lifecycle livedata databinding viewModel 2. …

84、逆向工程开发方法

逆向工程开发方法是一种通过分析现有产品、系统或代码来理解其设计原理、功能实现及潜在缺陷,并在此基础上进行改进、复制或创新的技术过程。它广泛应用于软件、硬件、机械、电子等多个领域,尤其在缺乏原始设计文档或需要快速掌握复杂系统时具有显著优势…

ospf单区域实验

拓扑图:AR1:[Huawei]ospf 1 router-id 1.1.1.1 [Huawei-ospf-1]area 0[Huawei-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255(1.当前网段会被ospf的进程1学习到然后通告出去;2.如果接口的IP地址处于这个网段中&#xff0c…

Linux命令基础完结篇

用户权限修改 chmod修改文件权限 文字设定法 u:所有者g:所属组o:其他人a:所有:添加权限-:删除权限:赋予权限数字设定法 r:4w:2x:1每一组权限:0~7举…