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

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

好题——hdu2522(小数问题:求1/n的第一个循环节)

好喜欢这题,第一次做小数问题,一开始真心没思路,然后参考了网上的一些资料。 知识点***********************************无限不循环小数即无理数,不能写作两整数之比*****************************(一开始没想到,小学没学好) 此题1/n肯定是一个有限循环小数,了解这些后就能做此题了。 按照除法的机制,用一个函数表示出来就可以了,代码如下

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

购买磨轮平衡机时应该注意什么问题和技巧

在购买磨轮平衡机时,您应该注意以下几个关键点: 平衡精度 平衡精度是衡量平衡机性能的核心指标,直接影响到不平衡量的检测与校准的准确性,从而决定磨轮的振动和噪声水平。高精度的平衡机能显著减少振动和噪声,提高磨削加工的精度。 转速范围 宽广的转速范围意味着平衡机能够处理更多种类的磨轮,适应不同的工作条件和规格要求。 振动监测能力 振动监测能力是评估平衡机性能的重要因素。通过传感器实时监

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

uva 10014 Simple calculations(数学推导)

直接按照题意来推导最后的结果就行了。 开始的时候只做到了第一个推导,第二次没有继续下去。 代码: #include<stdio.h>int main(){int T, n, i;double a, aa, sum, temp, ans;scanf("%d", &T);while(T--){scanf("%d", &n);scanf("%lf", &first);scanf