基于python向量机算法的数据分析与预测

3.1 数据来源信息

该数据集来源于Kaggle网站,数据集中包含了罗平菜籽油的销售数据每行数据对应一条记录,记录了罗平菜籽油销售数据。其中,菜籽产量、菜籽价格和菜籽油价格是数值型数据,共2486条数据。

通过读取Excel文件并进行数据预处理,本文可以利用这些数据来进行罗平菜籽油销售数据的分析和预测。部分数据如下图3-1所示:

图3-1数据详情

3.2数据预处理

数据预处理的目的是清洗和准备数据,使其适用于后续的分析和建模。通过删除缺失值和异常值,可以提高数据的质量和准确性,避免错误的影响。而标准化则可以消除不同特征之间的尺度差异,使得模型能够更好地对特征进行学习和预测。通过这些数据预处理方法,本文可以得到更加干净、准确和可靠的罗平菜籽油销售数据集,为后续的分析和建模奠定基础。数据预处理阶段使用了以下几个方法来处理罗平菜籽油销售数据。

缺失值处理,通过使用统计空值方法检查每个字段是否存在缺失值,并使用dropna()方法删除包含缺失值的行。这样可以确保数据的完整性和准确性,避免在后续分析中对缺失值进行处理时引入偏差。异常值处理,首先计算每个字段的均值和标准差,然后根据均值加减3倍标准差的范围确定异常值的上下界,将超出该范围的数据点删除。这样可以有效去除异常值的影响,使得后续分析更加稳定和可靠。数据标准化,使用标准化函数对特征进行标准化处理,将菜籽产量和菜籽价格的数据进行归一化,消除不同特征之间的尺度差异。同时,将菜籽油价格转换为千克单位,以便更好地适应实际应用场景。标准化可以使得数据具有零均值和单位方差,使得模型训练过程更加稳定且更容易收敛。

3.2.1缺失值处理

使用统计空值方法检测每个字段是否存在缺失值。该方法返回一个布尔型的一维对象,其中缺失值对应的位置为True,非缺失值对应的位置为False。

使用删除空值方法删除包含缺失值的行。该方法会删除数据集中存在缺失值的所有行,并在原数据集上进行修改,即对数据集进行了操作。缺失值处理前如下图3-2:

图3-2缺失值处理前

通过这些步骤,可以实现对数据集中缺失值的处理。首先,通过检测每个字段是否存在缺失值,可以了解到数据集中哪些字段存在缺失值。然后,使用删除空值方法,将包含缺失值的行从数据集中删除,以保证数据的完整性和准确性。

3.2.2异常值处理

通过循环遍历数据集的每一列,获取列名列表。对于每一列,首先计算其均值和标准差,使用平均值和标准差方法来计算,确定异常值的上下界。根据均值加减3倍标准差的范围,使用循环遍历数据集中的每一行,检查每个字段的取值是否超出了异常值的上下界。如果某个字段的取值超出了上下界,则将该行数据从数据集中删除,使用删除空值方法进行删除操作。

通过重新设置索引,对数据集的索引进行重新排序,以保证索引的连续性和正确性。

通过以上步骤,可以实现对数据集中异常值的处理。具体地,通过计算均值和标准差,确定异常值的上下界,然后遍历数据集中的每一行,检查每个字段的取值是否超过上下界,如果超出则删除该行数据。这样可以有效去除异常值的影响,使得数据更加可靠和准确。异常值处理结果如下图3-4所示:

3.2.3数据标准化

数据标准化的实现包括以下几个步骤:

通过定位列分别获取特征和目标列。这里假设特征列位于数据集的前面,目标列位于最后一列。使用标准化函数创建一个标准化器对象stand。调用标准化器对象的特征进行标准化处理,将其转换为均值为0、方差为1的标准正态分布,同时进行拟合和转换操作。将目标列中的数据进行单位转换,以便更好地适应实际应用场景。在这个例子中,将菜籽油价格从千克转换为吨,即将每个值除以1000。

4.1 SVM模型构建

SVM 模型实现流程图如下图4-1所示:

图4-1模型实现流程

4.1.1 SVM模型构建原理

SVM 模型构建原理:

数据准备:准备罗平菜籽油销售数据集,包括特征(销售量、销售时间等)和目标变量(销售额等)。

特征工程:对数据进行特征选择、处理和转换,确保特征数据符合 SVM 模型的要求。

SVM 模型训练:使用罗平菜籽油销售数据集训练 SVM 模型,选择合适的核函数(如线性核、多项式核或高斯核)。

模型优化:调整 SVM 模型的超参数(如惩罚系数 C、核函数参数等),以获得最佳的模型性能。

模型评估:使用交叉验证等方法评估模型的性能,确保模型具有较好的泛化能力。

4.1.2 SVM模型评价指标

在 SVM 模型中,评价指标包括:准确率(Accuracy):(分类正确的样本数占总样本数的比例。精确率(Precision):预测为正类别且分类正确的样本数占预测为正类别的样本数的比例。召回率(Recall):预测为正类别且分类正确的样本数占实际正类别的样本数的比例。F1 分数(F1 Score):精确率和召回率的调和平均数,综合考虑了模型的准确性和召回性能。

其公式如下:

1准确率(Accuracy)

其中,TP 表示真正例(True Positive)、TN 表示真负例(True Negative)、FP 表示假正例(False Positive)、FN 表示假负例(False Negative)。

2精确率(Precision)

2召回率(Recall)

4F1 分数(F1 Score)

这些评价指标可以帮助评估分类模型的性能,并提供关于模型在正例和负例分类方面的表现的详细信息。综合考虑精确率和召回率可以更全面地评估模型的性能。

4.2模型评估

对模型进行评估的过程如下所示:使用测试集的特征数据进行预测,将预测结果存储变量中。然后,使用一些评估指标来评估模型的性能。包括均方误差、平均绝对误差和决定系数),分别计算了预测结果与实际结果之间的均方误差、平均绝对误差和决定系数。最后,根据评估结果,可以判断模型的拟合效果和预测准确度。均方误差和平均绝对误差越小,表示模型的预测结果与实际结果越接近;决定系数越接近1,表示模型对观测数据的拟合程度越好。评估结果如下图4-2所示:

图4-2评估结果

根据给定的评估结果,可以得出以下结论:

根据罗平菜籽油销售数据的分析结果显示,经过对 SVM 模型进行参数优化后,得到最佳参数组合为 C=0.1、epsilon=0.3、gamma='scale'、kernel='linear',对应的最佳 R² 得分为 0.9849。这意味着该 SVM 模型能够解释目标变量约 98.49% 的销售数据方差,具有较高的预测精度。进一步观察不同参数组合的评估结果发现,线性核函数在不同参数下的 R² 得分普遍较高,而径向基核函数的 R² 得分相对较低。参数 C 和 epsilon 对模型性能影响较小,而参数 gamma 的取值对模型性能有一定影响,较小的 gamma 值会导致模型 R² 得分下降。综合来看,经过优化的 SVM 模型在分析罗平菜籽油销售数据方面表现出色,具有较高的预测准确性和稳定性。最终优化后结果如下图4-3所示:

图4-3优化后结果

根据图4-2中罗平菜籽油销售数据的预测值和测试值的折线对比图,可以得出以下结论:

(1)模型预测值与实际测试值整体趋势一致,说明经过优化的 SVM 模型能够较好地拟合销售数据的变化趋势。

(2)预测值与测试值之间的偏差较小,表明该 SVM 模型在预测罗平菜籽油销售数据时具有较高的准确性和稳定性。

(3)随着时间的推移,预测值与测试值之间的偏差保持在较小的范围内,说明该模型对于未来销售数据的预测具有一定的可靠性和稳定性,为销售预测和决策提供了可靠的参考依据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/638857.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于transformers框架实践Bert系列2--命名实体识别

本系列用于Bert模型实践实际场景,分别包括分类器、命名实体识别、选择题、文本摘要等等。(关于Bert的结构和详细这里就不做讲解,但了解Bert的基本结构是做实践的基础,因此看本系列之前,最好了解一下transformers和Bert…

webSocket+Node+Js实现在线聊天(包含所有代码)

这篇文章主要介绍了如何使用 webSocket、Node 和 Js 实现在线聊天功能。 重要亮点 💻 技术选型:使用 Node.js 搭建服务器,利用 Express 框架和 Socket.io 库实现 WebSocket 通信。 📄 实现思路:通过建立数组存储聊天…

中国上市公司融资约束指数数据上市公司SA指数与WW指数(2000-2023年)

上市公司融资约束指数,是用来评估公司面临的融资限制程度的工具。SA指数由Hadlock和Pierce开发,基于公司规模和年龄计算,其中较小且较年轻的公司通常会有更高的指数值,表明其融资约束较大。另一方面,WW指数由Whited和W…

Linux .eh_frame section以及libunwind

文章目录 前言一、LSB二、The .eh_frame section2.1 简介2.2 The Common Information Entry Format2.1.1 Augmentation String Format 2.3 The Frame Description Entry Format 三、The .eh_frame_hdr section四、libunwind五、基于Frame Pointer和基于unwind 形式的栈回溯比较…

【计算机网络】初识Tcp协议

💻文章目录 📄前言Tcp基础概念Tcp 的报文格式三次握手四次挥手 Tcp的滑动窗口机制概念超时重传机制高速重传 TCP传输控制机制流量控制拥堵控制慢启动 Tcp的性能优化机制延迟应答捎带应答 📓总结 📄前言 TCP三次握手、四次挥手&…

【qt】QListWidget 组件

QListWidget 组件 一.QListWidget的用途二.界面设计三.QListWidget的添加1.界面添加2.代码添加 四.列表项的设置1.文本2.图标3.复选框4.列表大小 五.字体和图标的设置1.字体:2.图标: 六.设置显示模式1.图标2.列表 七.其他功能实现1.删除2.全选3.反选4.ad…

IO端口编址

统一编址 特点 独立编址 特点 内存地址分配 区别 应用 IO端口地址译码 硬件上的实现 示例1: 示例2: IO指令 软件上的实现 示例

Vue - JavaScript基础学习

一、语言概述 JavaScript 中的类型应该包括这些: 1.数字(默认双精度区别于Java) console.log(3 / 2); // 1.5,not 1 console.log(Math.floor(3 / 2)); // 10.1 0.2 0.30000000000000004NaN(Not a Number&#x…

为什么 buffer 越大传输效率越低

先看 从边际效益递减看 buffer 中挤占带宽 中的两个模型: E1 inflight_prop - inflight_buff: y 2 t x − b x a − x y2tx-\dfrac{bx}{a-x} y2tx−a−xbx​E2 bw / delay: y a x − x 2 b t a − t x y\dfrac{ax-x^2}{bta-tx} ybta−…

OpenMV学习笔记1——IDE安装与起步

目录 一、OpenMV IDE下载 二、OpenMV界面 三、Hello World! 四、将代码烧录到OpenMV实现脱机运行 五、插SD卡(为什么买的时候没送?) 一、OpenMV IDE下载 浏览器搜索OpenMV官网,进入后点击“立即下载”&#xff0…

深度学习基于Tensorflow卷积神经网络VGG16的CT影像识别分类

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 随着医疗技术的快速发展,CT(Computed Tomography)影像已成为医生…

面试准备【面试准备】

面试准备【面试准备】 前言面试准备自我介绍:项目介绍: 论坛项目功能总结数据库表设计注册功能登录功能显示登录信息功能发布帖子评论私信点赞功能关注功能通知搜索网站数据统计热帖排行缓存 论坛项目技术总结Http的无状态cookie和session的区别为什么要…

Linux-应用编程学习笔记(二、文件I/O、标准I/O)

一、文件I/O基础 文件 I/O 指的是对文件的输入/输出操作,就是对文件的读写操作。Linux 下一切皆文件。 1.1 文件描述符 在 open函数执行成功的情况下, 会返回一个非负整数, 该返回值就是一个文件描述符(file descriptor&#x…

Python3 笔记:sort() 和 sorted() 的区别

1、sort() 可以对列表中的元素进行排序,会改变原列表,之前的顺序不复存在。 list.sort(key, reverse None) key:默认值是None,可指定项目进行排序,此参数可省略。 reverse&#…

零基础PHP入门(一)选择IDE和配置环境

配置环境 官网下载安装包,windows https://windows.php.net/download#php-8.3 我是下载的最新版,也可以切换其他版本 https://windows.php.net/downloads/releases/archives/ 下载好压缩文件后,双击解压到一个目录 D:\soft\php 复制ph…

Vue 3 的 setup语法糖工作原理

前言 我们每天写vue3项目的时候都会使用setup语法糖,但是你有没有思考过下面几个问题。setup语法糖经过编译后是什么样子的?为什么在setup顶层定义的变量可以在template中可以直接使用?为什么import一个组件后就可以直接使用,无需…

匝间冲击耐压试验仪产品介绍及工作原理

产品简介 武汉凯迪正大KD2684S匝间冲击耐压试验仪适用于电机、变压器、电器线圈等这些由漆包线绕制的产品。因漆包线的绝缘涂敷层本身存在着质量问题,以及在绕线、嵌线、刮线、接头端部整形、绝缘浸漆、装配等工序工艺中不慎而引起绝缘层的损伤等,都会造…

零基础代码随想录【Day42】|| 1049. 最后一块石头的重量 II,494. 目标和,474.一和零

目录 DAY42 1049.最后一块石头的重量II 解题思路&代码 494.目标和 解题思路&代码 474.一和零 解题思路&代码 DAY42 1049.最后一块石头的重量II 力扣题目链接(opens new window) 题目难度:中等 有一堆石头,每块石头的重量都是正整…

Axure软件安装教程

链接:https://pan.baidu.com/s/1fHrSrZ7PIeDZZpn6QyJ6jQ?pwdb4mv 提取码:b4mv 安装完后点击Finish 名字随便起 关闭Axure 复制到安装目录下 最后成果

ASP+ACCESS基于WEB社区论坛设计与实现

摘要:系统主要实现BBS网站全部功能。采用目前应用最为广泛的ASP作为开发工具来开发此系统、以保证系统的稳定性。采用目前最为流行的网页制作工具Dreamweaver和目前最为流行的动画制作工具Flash MX。整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发&…