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

记录一个SVR学习

1、为什么使用jupter来做数据预测?而不是传统pycharm编辑器

1、Jupyter Notebook 通过anaconda统一管理环境,可以运行python、R、Sql等数据分析常用语言。

2、做到交互式运行,可以逐步运行代码块,实时查看结果,便于调试和优化。

3、可以在 Notebook 中添加 Markdown 文本,记录分析过程和结论。

2、数据预测的思路分析

2.1、数据读取和数据预处理

首先对原始数据进行数据预处理是做一个数据预测的核心第一步。
在这里插入图片描述
在第一步我们做了数据的原始读取,并且将部分类名做了规范统一命名的处理。其次还删除掉了一些无效列。
在这里插入图片描述

第二步分析原始数据是否存在基本的数据问题,例如数据残缺、数据异常。
在这里插入图片描述
在这里插入图片描述

2.2 选取模型,按照要求选择SVR模型

支持向量回归(SVR, Support Vector Regression)是一种基于支持向量机(SVM, Support Vector Machine)的回归模型。SVR 通过找到一个平滑的回归函数,能够在一定的误差范围内对数据进行拟合,同时保持模型的简单性,避免过拟合。

选择原因如下:

1、适用于小样本高维数据集

2、通过 ε 和 C 平衡模型的复杂度和预测精度,避免过拟合或欠拟合

但是该模型需要对噪声数据敏感,可能需要在数据预处理中注意清洗和降噪(在上一步已经做了基本预处理)

接下来最重要就是对SVR 的关键参数进行调参

选择径向基函数(RBF)作为核函数,用于映射非线性关系。(根据提供的数据本身就是分线性关系)

惩罚系数C,控制模型对训练误差的容忍程度。

核系数gamma,决定 RBF 核的“影响范围”。

epsilon容忍误差范围,表示模型预测值与实际值允许的偏差。

通过调整 Cgammaepsilon,构建了一个具有良好拟合能力的支持向量回归模型,用于处理非线性数据。

svr = SVR(kernel="rbf", C=10, gamma=0.063, epsilon=0.1)

并且将原始数据的分为80%做训练,20%做测试集。这里random_state=42是固定随机种子,保证每次运行代码时拆分结果一致。
在这里插入图片描述


http://www.kler.cn/a/451922.html

相关文章:

  • vue3 Proxy替换vue2 defineProperty的原因
  • Qt creator ,语言家功能缺失解决方法
  • 小程序租赁系统开发指南与实现策略
  • 【时间之外】IT人求职和创业应知【74】-运维机器人
  • 【知识】cuda检测GPU是否支持P2P通信及一些注意事项
  • 62.基于SpringBoot + Vue实现的前后端分离-驾校预约学习系统(项目+论文)
  • 【全开源】Java多语言tiktok跨境商城TikTok内嵌商城送搭建教程
  • uniApp打包H5发布到服务器(docker)
  • 3.3.2.5 队列之 ringBuffer设计
  • 关于高级acl的配置和讲解
  • Maven 项目文档
  • 微信小程序页面之间的传值方式
  • Linux 日志监控与报警系统实操
  • python+PyPDF2实现PDF的文本内容读取、多文件合并、旋转、裁剪、缩放、加解密、添加水印
  • YOLOv11融合U-Net v2中的SDI模块
  • MySQL索引为什么是B+树
  • 元宇宙中的去中心化应用:Web3的未来角色
  • 验证回文串 - 简单
  • Text组件的用法
  • 【vue】vite + ts +vue3 安装pinia
  • 创新技术集成:Web机票管理系统的未来趋势
  • 基于CNN-BiLSTM-selfAttention混合神经网络的多分类预测【MATLAB】
  • C语言从入门到放弃教程
  • MFC/C++学习系列之简单记录12——文件操作
  • GitFlow工作流
  • Batch_Size对神经网络训练效率的影响:一个PyTorch实例分析