pca处理后建模 sklearn_汽油辛烷值建模

2023-11-13

题目来源:2020年研究生数学建模竞赛B题

    小编第一次做研究生的竞赛题目。我的整体感受,首当其冲的是,关于题的描述很多。每一个题的页数都有好几页。

    说下关于B题(汽油辛烷值建模)的思考。就B题的难易程度来说,这个题太容易了。不论从数据量,还是解题思路,与其它题相比,该题显得有些突兀。对于一个数据分析题来说,数据量只有325条。这个数据量实在是有些捉襟见肘。对于解题思路,该题的解题思路简单常规,容易下手。对于参赛的同学来讲,这是一个好消息。以下是小编在做B题时的思路或者感悟,主要针对预测辛烷值损失。

1. 数据预处理

    在做预测前,数据预处理是不可或缺的。本题明确指出,通过对附件3(样本编号285号和313号样本原始数据)预处理,来替代附件1中的相应样本编号的数据。此外,题目给出了预处理的方法。其实,我们可以不去重新加工这两个样本编号的数据,认为它们是异常值,直接删除即可。这并不会影响后期的预测的。325个样本,少两个又能怎样。

    到这里,我们不能认为数据预处理就结束了。还有323个样本的数据需要去除异常值的。对应这些异常值,小编不建议用均值或者其它替代,直接删除即可。小编对判断剩余的323个样本中的异常值的标准及操作如下:

(1)超过给定范围的值,直接删除其所在行;

(2)根据均值标准差,删除该范围之外的值所在行。

2. 特征选择

    对应特征选择,可以用基于统计的方法(如:皮尔森系数、F值等)或者基于模型的方法(如:决策树、随机森林等)。需要注意的是,不可以用主成分分析(PCA)来做。原因是第四问要求优化操作变量,如果我们用了PCA,那么我们就无法知道所选出的特征名字了,这样的话,问题四就不好解答了。

小编用的是F值来做的,python的sklearn中有这个方法,核心代码如下:

# 用F值选择30个特征from sklearn.feature_selection import SelectKBest, f_regressionselector = SelectKBest(f_regression, k=30)selector.fit_transform(train_X, train_y)

34e6161305cda03faf5b54fc58d48b41.png

图1 特征选择

3. 辛烷值损失预测

    对应预测模型,小编使用的是决策树,预测效果是理想的。对应回归问题,评价模型的指标有一般使用这两个:均方误差(MSE)和决定系数。与MSE相比,更能评价模型的优劣,它越接近1,预测模型越好。

    小编在做辛烷值损失预测时,最初是把辛烷值损失值作为标签的。这样做的结果是模型的为负值。显然预测模型是极差的。后来,小编把产品的辛烷值作为标签再预测。此时,可以达到0.8,这表明预测模型是我们想要的。预测的结果如图2所示。

337fb6e00522de261c63b20efd31d207.png

图2 产品辛烷值预测

    对于回归预测的结果分析,除了给出模型的和MSE外,我们还需要给出有预测值和真实值组成的点是否分布在y=x直线附近(图2上)和预测值与真实值的偏差图(图2中)。对于图2(下),只是本题需要的。因为我们没有直接预测辛烷值损失值,而是通过原料辛烷值减去产品辛烷值得到的,所以我们需要通过图2(下)来判断下间接得到辛烷值损失值的效果是否符合我们的预期。从这三幅图来看,进一步验证了我们的模型是优秀的。

    这里我想说,对于图2上,一定要画成散点,不要画出直线图。折现图即丑陋,又不直观,还不专业。

    这期内容就说这么多,下期在分享小编的经验~

--end--

点击【在看】【分享】,助力小编推广~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pca处理后建模 sklearn_汽油辛烷值建模 的相关文章

  • 接口测试——Postman配置环境变量和全局变量

    我们在测试的过程中 遇到最多的问题也可以是环境的问题了吧 今天开发用了这个测试环境 明天又换了另一个测试环境 这样对于我们测试非常的麻烦 特别最接口的时候需要来回的输入环境地址比较麻烦 今天我们看看强大的工具Postman有没有办法解决这个
  • javabean存在服务器什么位置,jsp中javaBean的运用

    IT168 服务器学院 利用JSP JavaServer Pages 技术 能有效快速地建造动态数据库查询网页 众所周知 要学好 学精一应用软件 首先要装好软件 找一可运行实例学习 并对实例修改运行 学习提高 这样你就会很快入门及学精这一软
  • 在32位Windows系统下安装Java

    Java分成三个平台 Java SE Java Standard Edition 包含了JRE Java SE runtime environment Java SE运行环境 和JDK Java development kit Java开发
  • 设计一个“完美“的测试用例,用户登录模块实例...

    前言 好的测试用例一定是一个完备的集合 它能够覆盖所有等价类以及各种边界值 而跟能否发现缺陷无关 好的测试用例必须具备哪些特征 整体完备性 一定是一个完备的整体 是有效测试用例组成的集合 能够完全覆盖测试需求 等价类划分的准确性 对于每个等
  • C++ Attentions

    1 switch内部的变量定义 C 语言规定 不允许跨过变量的初始化语句直接跳转到该变量作用域内的另一个位置 include
  • Python学习-----起步1(Python的下载,脚本与交互模式,注释)

    目录 Python的下载 解释器 IDLE进入Python解释器 交互模式 脚本模式 注释 单行注释 多行注释 Python的下载 解释器 百度网盘链接 https pan baidu com s 1WEmOAGGHtHc1fxZzNGKu
  • Android Studio安装配置、环境搭建详细步骤及基本使用

    前言 Android Studio的安装配置及使用篇终于来啦 废话不多说 以下针对JDK正确安装 及其环境变量配置完毕 即Java开发环境下 Android Studio的安装 配置 以及创建工程 主题字体更换 窗口工具 布局 快捷方式等的
  • oracle账号共享

    各位小伙伴 在oracle官网下载JDK需要oracle账号 本人提供账号共享 方便大家下载 希望大家不要改密码 方便更多的人 账号 908344069 qq com 密码 Java2019 jdk 8u271 linux x64 tar
  • Element ui 格式化后端时间、el-date-picker日期格式化

    目录 1 el组件格式化后端时间 1 el组件格式化前端时间 1 el组件格式化后端时间 1 引入moment js 先安装 npm install moment save 导入 import moment from moment 使用
  • EDG王者归来

    11月7日凌晨1点 刚刚落幕的英雄联盟S11全球总决赛 中国战队EDG以3 2击败韩国战队DK 一举夺得S11总冠军 随着BO5最后一场 EDG破三路 摧毁敌方水晶 6年的努力 6年的汗水与泪水 都在这一刻得到了见证 断剑重铸之日 骑士归来
  • torch.autograd.set_detect_anomaly在mmdetection中的用法

    这里写自定义目录标题 作用 添加位置 作用 添加位置
  • 关于数据库的备份个人见解

    一 关于数据备份和还原 1 在工作中 经常碰到生产环境上面数据库数据需要进行一些变更或者改动 这个时候呢 很多人的第一反应就是先备份整张表为一张临时表 然后就开始对表数据进行操作 如果出现数据异常 需要回退的时候 就直接删除现在表 然后把备
  • 50个知名的开源网站

    1 http snippets dzone com tag c 数以千计的有用的C语言源代码片段 2 http www hotscripts com category c cpp scripts programs Hotscripts 提供
  • Python 文件的读写操作

    文章目录 1 文件对象 1 1 文件打开方式 1 1 1 打开文件 1 1 2 关闭文件 1 1 3 访问模式 1 2文件读取 1 2 1 read 1 2 2 readline 1 2 3 readlines 1 3 文件迭代 1 4 文
  • 最短路径:迪杰斯特拉算法

    算法步骤 1 初始化 1 将源点v0加到S中 即S v0 true 2 将v0到各个终点的最短路径长度初始化为权值 即D i G arcs v0 vi vi属于V S 3 如果v0和顶点vi之间有弧 则将vi的前驱置为v0 即Path i
  • 硬件系统工程师宝典(28)-----关于LDO,应该知道的事

    各位同学大家好 欢迎继续做客电子工程学习圈 今天我们继续来讲这本书 硬件系统工程师宝典 上篇我们说到BJT配合MOSFET控制电源开关的四种电路以及MOSFET的均流电路 今天我们来讲讲LDO的应用分析 LDO的结构 LDO Low Dro
  • XML格式数据集转TXT(YOLO)

    我从网上下载了一个数据集 underwater 它们提供了xml格式的数据 但是我想用yolov5进行训练 所以需要将xml格式转化为txt格式 正常的xml格式的数据集可以参考 目标检测中将已有的 xml数据集转换成 txt数据集 附代码
  • 深入浅出VA函数的使用技巧

    深入浅出VA函数的使用技巧 作者 钟小兵 发文时间 2005 04 11 本文主要介绍可变参数的函数使用 然后分析它的原理 程序员自己如何对它们实现和封装 最后是可能会出现的问题和避免措施 VA函数 variable argument fu
  • MySQL——模糊查询(LIKE关键字与通配符:百分号%和下划线_的使用和理解)——(运用场景+通俗易懂)

    使用mysql模糊查询主要点 LIKE关键字和这两个通配符配合使用 任意一个字符 任意0或多个字符 那么我们立即上手吧 一 使用LIKE和通配符 场景1 我要搜索一个名字 可我都忘记叫什么了 只知道是3个字符的 那怎么搜索呢 三个下划线 代

随机推荐

  • elasticsearch7.9 修改指定JDK

    错误 future versions of Elasticsearch will require Java 11 your Java version from usr local nlp java jdk1 8 0 162 jre does
  • 大致解决 Ubuntu 18.04 系统启动极慢的问题

    早在一两个月之前就想升级到 18 04 或是 18 10 了 然而那会儿用 LiveCD 测试得速度实在是慢 启动要很久 干脆没过多纠缠 旧暂时不管了 现因实际需要 不得不升级系统 以便获取到更新的软件包 从 17 10 向上升级很方便 直
  • hdoj 题目分类

    1001 整数求和 水题 1002 C语言实验题 两个数比较 水题 1003 1 2 3 4 5 简单题 1004 渊子赛马 排序 贪心的方法归并 1005 Hero In Maze 广度搜索 1006 Redraiment猜想 数论 容斥
  • 论文笔记——CVPR 2017 Annotating Object Instances with a Polygon-RNN

    文章主页 http www cs toronto edu polyrnn 1 简介 文章作者基于深度学习提出一种半自动目标事例标注 semi automatic annotation of object instances 的算法 大多数前
  • @property基本概念

    1 什么是 property property是编译器的指令 什么是编译器的指令 编译器指令就是用来告诉编译器要做什么 property会让编译器做什么呢 property 用在声明文件中告诉编译器声明成员变量的的访问器 getter se
  • maven自定义archetype

    在开发过程中我们经常会创建一系列结构类似的新项目 这些项目结构和基础配置基本或完全一致 maven就提供了archetype类型来规定新建项目的结构及基础配置 利用archetype就可以快速简单的搭建新项目 一 创建Maven项目的一般步
  • 网络安全笔记7——防火墙技术

    网络安全笔记7 防火墙技术 参考课程 中国大学MOOC 网络安全 北京航空航天大学 文章目录 网络安全笔记7 防火墙技术 防火墙概述 防火墙的类型及结构 防火墙的发展史 防火墙的分类 OSI模型与防火墙的关系 静态包过滤防火墙 操作 工作原
  • es的配置文件(elasticsearch.yml)

    config目录下有2个配置文件 es的配置文件 elasticsearch yml 和日志配置文件 logging yml cluster name elasticsearch 配置es的集群名称 默认是elasticsearch es会
  • arduino IDE搭建ESP8266开发环境和简单使用

    arduino IDE搭建ESP8266开发环境和简单使用 文章目录 arduino IDE搭建ESP8266开发环境和简单使用 安装 下载IDE 在Arduino IDE上安装esp8266库 下载安装esp8266库 使用 选择开发板
  • Java进阶3 - 易错知识点整理(待更新)

    Java进阶3 易错知识点整理 待更新 该章节是Java进阶2 易错知识点整理的续篇 在前一章节中介绍了 ORM框架 中间件相关的面试题 而在该章节中主要记录关于项目部署中间件 监控与性能优化等常见面试题 文章目录 Java进阶3 易错知识
  • 使用mybatis-plus的insert方法遇到的坑(添加时id值不存在异常)

    在使用mybatis plus的insert方法的时候 报错 java sql SQLException Field id doesn t have a default value 后来了解到使用mybatis plus的insert方法
  • 05-2_Qt 5.9 C++开发指南_Model/View结构实例(QFileSystemModel、QStringListModel、QStandardItemModel;编程实例)

    接上篇 本篇主要介绍Model View框架下的模型类 QFileSystemModel QStringListModel QStandardItemModel的使用方法和编程实例 文章目录 1 QFileSystemModel 1 1 Q
  • 「拓数派(OpenPie)2022 发布会实录 」PieCloudDB Database 优化器

    10 月 24 日程序员节 拓数派 Openpie 发布了云原生数据库 PieCloudDB PieCloudDB 以云计算架构为设计基础 实现云上存算分离 打造了 元数据 计算 存储 分离三层架构 在计算层 PieCloudDB 设计了高
  • Microsoft Store 微软商店无法加载在页面解决

    导致此原因主要是因为你的电脑开启过vpn 开启了系统代理 导致微软商店无法加载 解决方法 1 第一步 开始 设置 2 第二步 网络和internet 3 第三步 点击代理 关闭手动代理服务器这一项 然后再打开微软商店 就可以了
  • Dvwa页面标红问题的逐步攻破(二)

    提示 第二个问题花了很长时间 试了很多种办法 都没成功 但是经过后续的操作我发现第二个问题并没有太大的影响 那就说一下在此过程中遇到的问题及解决吧 解决PHP module gd MIssing Only an issue if you w
  • HTML超链接标签

    一 超链接标签 a 的语法 a href 链接路径 target self 链接文本或图像 a 1 a 标签中href属性值是链接的路径 当href 时表示一个空连接 2 a 标签中target属性值表示的是链接在哪个窗口打开 它的常用值是
  • rlwrap

    rlwrap for Command Line History and Editing in SQL Plus and RMAN on Linux linux下安装后 用着确实方便 AIX下能用吗 more http www oracle
  • 【语义分割】13、SegNeXt

    文章目录 一 背景 二 方法 2 1 Convolutional Encoder 2 2 Decoder 三 效果 论文 SegNeXt Rethinking Convolutional Attention Design for Seman
  • 详解多线程中的互斥量;mutex头文件,lock与unlock ,lock_guard,unique_lock

    互斥量 假如你有一张水卡 要放在卡槽才能出水 现在你和小明都要热水 于是你接一下热水 用自己的水卡 他又接一下热水 巧了 两人都接到泡面的热水 互斥量是在Mutex的头文件中 并发的优点 可以极的减少时间 并且能够多个进程的运行东西 并发的
  • pca处理后建模 sklearn_汽油辛烷值建模

    题目来源 2020年研究生数学建模竞赛B题 小编第一次做研究生的竞赛题目 我的整体感受 首当其冲的是 关于题的描述很多 每一个题的页数都有好几页 说下关于B题 汽油辛烷值建模 的思考 就B题的难易程度来说 这个题太容易了 不论从数据量 还是