记录一个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是固定随机种子,保证每次运行代码时拆分结果一致。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蟑螂大学学子Zm6Cc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值