2024 年第四届长三角高校数学建模竞赛赛题B题超详细解题思路+问题一二代码分享

本文主要是介绍2024 年第四届长三角高校数学建模竞赛赛题B题超详细解题思路+问题一二代码分享,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2024年第四届长三角数学建模竞赛B题详细解题思路

赛道B:人工智能范式的物理化学家

长三角分享资料(问题一代码+论文+思路)链接(18点更新): 
链接:https://pan.baidu.com/s/1lteKvIWNZ4v-Gd7oOcgO9w 
提取码:sxjm 

这一题目主要是数据科学和机器学习应用在化学研究上。您需要从提供的大规模数据集中发现规律,构建模型,预测化学物质的物理化学性质。这将包括数据预处理、特征选择、模型构建和验证。问题涉及使用先进的机器学习技术,如深度学习、贝叶斯优化等,来处理高维数据和预测未知的化学属性。

l 问题1: 对给定数据进行预处理,研究y2​与分子id之间的函数关系,尝试直接通过id预测y2

数据预处理:

缺失值处理:检查数据中是否存在缺失值,采用填补或删除等策略处理。

异常值检测:识别和处理数据中的异常值,如Z-score或IQR(四分位距)方法识别和处理异常值。

标准化/归一化:对特征数据进行标准化或归一化,以消除量纲的影响。

基于ID预测y2:

分析ID与y2之间的关系,探索是否存在线性或非线性关系。(绘制ID与y2的散点图,观察是否存在可识别的模式或趋势。)

根据探索结果,选择合适的模型(如线性回归、决策树等)进行训练和预测。

使用predict.csv中的ID进行y2的预测,并填入submit.csv文件。

首先,绘制id与y2的散点图进行分析,得出存在一定的非线性关系,下面我们将可以使用非线性拟合进行预测,如下所示

这里我们使用四阶多项式拟合,得到R^2为0.976,具有较好的结果

l 问题2: 对数据中的某些特征进行分析,建立预测y1​的模型,选择不超过10个特征指标。

特征选择:

对data.csv中的特征进行分析,选择对y1预测最有影响的10个或更少特征。(可以使用Pearson、Spearman或Kendall相关系数根据数据特点选择)

可以采用相关性分析、主成分分析(PCA)等方法进行特征选择。

模型构建与验证:

基于选择的特征构建预测模型,可尝试多种模型如支持向量机、随机森林等。

通过交叉验证等方法评估模型性能,使用k-fold交叉验证来优化模型参数并防止过拟合。

结果预测

使用适当的性能指标,如均方误差(MSE)或决定系数(R^2)

使用选定的模型对predict.csv数据进行预测,并将结果填入submit.csv。

问题二为了方便给大家展示,我们使用SelectKBest 方法结合 f_regression 函数从训练数据集中选择对目标变量 y1 影响最大的10个特征(y1,y2,x1 到 x100 中)。这个方法评估每个特征对于目标变量的统计显著性,选择最重要的特征。选择随机森林回归器作为预测模型,使用选定的特征和训练数据集来训练模型,在预测数据集上应用相同的特征选择方法,确保预测时使用的特征与训练模型时使用的特征一致。

l 问题3: 分析y3与其它特征间的函数关系,建立y3的预测模型,进行特征指标的灵敏度分析。

探索y3与其他特征的关系:

使用可视化工具(如散点图矩阵)和统计测试(如ANOVA)分析特征与y3之间的关系。

建模与优化

使用适当的算法(如多元线性回归、神经网络)构建模型。

进行参数调优,如使用网格搜索。

灵敏度分析:

分析模型对输入特征变化的敏感度,确定对预测结果影响最大的特征。

结果预测与验证:

预测predict.csv中的y3值,填入submit.csv,并评估模型的泛化能力。

对于问题三的预测,基本与问题二思路相同

对于灵敏度分析首先选择了影响y3最大的特征,然后依次排除每个特征,重新训练模型,并计算均方误差(MSE)。通过可视化每次排除特征后的MSE变化,我们可以直观地看到每个特征的重要性。

l 问题4: 分析类别“class”与其它指标之间的关系,建立分子的类别预测模型。

关系探索:

分析class与其他特征之间的关系,识别影响分类结果的关键特征。

分类模型构建:

采用分类算法(如逻辑回归、决策树、神经网络)构建模型。

评估模型效果,可能需要调整参数和算法。

结果提交:

对predict.csv进行分类预测,结果填入submit.csv。

l 问题5: 描述提高模型预测精度的方法,重新对特定指标及类别进行预测。

方法探索

研究和尝试不同的算法和技术,如集成学习、深度学习等。

探索特征工程的高级技术,如自动特征提取、特征学习等。

模型优化与测试:

优化模型配置,进行广泛的参数调整和测试。

使用更复杂的模型和算法组合,评估性能提升。

结果验证与提交:

使用优化后的方法重新预测y1, y3和class。

验证方法的有效性,并将预测结果提交。

这篇关于2024 年第四届长三角高校数学建模竞赛赛题B题超详细解题思路+问题一二代码分享的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/994941

相关文章

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

Java中Map.Entry()含义及方法使用代码

《Java中Map.Entry()含义及方法使用代码》:本文主要介绍Java中Map.Entry()含义及方法使用的相关资料,Map.Entry是Java中Map的静态内部接口,用于表示键值对,其... 目录前言 Map.Entry作用核心方法常见使用场景1. 遍历 Map 的所有键值对2. 直接修改 Ma

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

MySQL 设置AUTO_INCREMENT 无效的问题解决

《MySQL设置AUTO_INCREMENT无效的问题解决》本文主要介绍了MySQL设置AUTO_INCREMENT无效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录快速设置mysql的auto_increment参数一、修改 AUTO_INCREMENT 的值。

关于跨域无效的问题及解决(java后端方案)

《关于跨域无效的问题及解决(java后端方案)》:本文主要介绍关于跨域无效的问题及解决(java后端方案),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录通用后端跨域方法1、@CrossOrigin 注解2、springboot2.0 实现WebMvcConfig

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码