[py+matlab双版本解题代码】2024长三角数学建模B题23页成品论文!+最终处理结果表

                        2024长三角数学建模B题

2024长三角数学建模B题成品论文25页+完整可执行代码+运行结果可视化图表icon-default.png?t=N7T8https://mbd.pub/o/bread/ZpaTk5du

两套代码解题,matlab+python代码

       要:

随着科学技术的飞速发展,化学和物理领域的研究逐渐进入了一个复杂化和 高维化的新时代。传统的研究方法,如 穷举 试错重复 ,在面对庞大的 化学空间时显得捉襟见肘,往往只能达到局部最优而非全局最优。为了突破这一 瓶颈,中国科技大学机器化学家平台应运而生,它凭借大数据与智能模型的双重 驱动,实现了化学合成、表征和测试的全流程自动化开发,为化学研究带来了革 命性的变革。

针对问题 1 ,首先需要对数据进行预处理,检测是否有缺失值、异常并进行 修正,同时对需要的数据进行数据标准化与归一化操作。要想探究y2 与分子 id 之间是否存在有一定的函数关系,那么在处理好数据之后,要进行y2 与分子 id 的特征分析,将两个变量进行可视化,大致分析y2 与分子 id 之间的函数关系, 最后采用适当的函数,即多项式回归拟合建立函数,并对y2 进行合理预测。针对 问题 2

针对问题 2 ,与问题 1 类似,采用同样的方法检查缺失值并剔除异常值。要 想选择不超过 10 个的特征指标,那么就要分析y2 ~y3 ,  x1 ~x100y1 的相关性, 寻找用于计算特征与目标变量之间相关性的函数,选取相关性最大的 10 个变量 作为特征指标 ,然后建立y1 预测模型进行预测 。根据要求  问题 2 采用了 SelectKBest 方法结合 f_regression  函数从训练数据集中选择对目标变量 y1     响最大的 10 个特征,然后使用随机森林对数据进行训练并最终预测。

针对问题 3,在检查缺失值并剔除异常值之后,要想分析y3 y1 ~y2 ,  x1 ~x100  之间的函数关系,仍旧采用 SelectKBest方法选取相关性最大 10 个特征指标, 来获取对y3 预测结果最大的特征指标。采用基于梯度的回归模型对 10 个特征指 标进行训练并预测y3,最后基于模型的均方误差MSE)来分析这些指标的灵敏 度。

针对问题 4,需要分析 class y1 ~y3 ,  x1 ~x100指标之间的关系,并于物理化 学性质,建立分子的类别预测模型,分析y1 ~y3 ,  x1 ~x100 中对分类结果影响较大 的指标。首先找出y1 ~y3 ,  x1 ~x100 中对 class 变量影响最大的 10 个指标,然后采  RandomForestClassifier 分类模型对 class 进行分类,最后来评估分类准确率。

针对问题 5 ,需要选择更好的方法来提高模型的检测精度。对于y1 ,  y3 变量 的预测,尝试用更多的特征值(本题增加至 20 个特征指标)来提升检测精度, 对于类别 class 的预测,通过建立深度学习的神经网络(LSTM)模型并结合随 即森级分类进行预测以提升预测精度。

关键词:特征选取;随机森林

一、问题重述

1.1  问题背景

随着科学技术的飞速发展,化学和物理领域的研究逐渐进入了一个复杂化和 高维化的新时代。传统的研究方法,如 穷举 试错重复 ,在面对庞大的 化学空间时显得捉襟见肘,往往只能达到局部最优而非全局最优。为了突破这一 瓶颈,中国科技大学机器化学家平台应运而生,它凭借大数据与智能模型的双重 驱动,实现了化学合成、表征和测试的全流程自动化开发,为化学研究带来了革 命性的变革。该平台不仅在软硬件上全面超越了欧美同类装置,更在智能化方面 取得了显著成就。作为一个集成了计算大脑、理论模型和开放式操作系统的智能 平台,它拥有强大的化学智能和广泛的化学品开发能力。通过先进的机器智能技 术,平台能够自动查找和阅读大量文献,从海量的研究数据中提炼出专家的智慧, 并在此基础上提出科学假说并设计实验方案。此外,该平台还能调度移动机器人 和智能化学工作站,高效完成化学实验的各个环节,并通过自动化的数据采集、 处理、分析和可视化,为研究者提供全面而精准的数据支持。

中国科技大学机器化学家平台以其卓越的性能和广泛的适用性,为化学研究 注入了新的活力。通过该平台,我们能够突破传统研究范式的限制,实现化学知 识的数字化理解、操作指令化和创制模板化,引领化学研究迈向一个更加智能、 高效的未来。而数据预测研究作为平台的重要应用之一,将为我们揭示更多化学 世界的奥秘,推动化学科学的持续发展。

1.2  问题回顾

在中国科技大学机器化学家这个平台上,数据的预测研究是一项重要的工作。 现在需要通过数据分析,构建数学模型,帮助实验室里的机器化学家解决下列的  预测与分类问题:

问题 1:对题目所给数据进行预处理,明确你们处理数据的必要性和所采用 的处理方法。研究y2 与分子 id 之间是否有一定的函数关系,尝试直接通过 id  量来预测y2 ;并将 predict.csv 预测结果填入在附件 submit.csv 文件中。

问题 2:对附件 data.csv 中的y2 ~y3 ,  x1 ~x100进行数据分析,选择不超过 10 个特征的指标 ,建立y1 的预测模型 ,将 predict.csv 的预测结果填入在附件 submit.csv 文件中。

问题 3:请分析y3 y1 ~y2 ,  x1 ~x100之间的函数关系,建立数学模型预测y3 研究y1 ~y2 ,  x1 ~x100 中,哪些特征指标对y3 预测结果的影响较大?并对所选择的 指标进行灵敏度分析,将 predict.csv 测结果填入在附件 submit.csv 文件中。

论文相关思路解释  代码一步一步 手把手保姆级运行

请看 B 站 【BZD 数模社】发布相关视频

问题 4:请分析 class y1 ~y3 ,  x1 ~x100指标之间的关系,基于物理化学性质, 建立分子的类别预测模型,分析y1 ~y3 ,  x1 ~x100 中哪些特征指标对分类的结果影 响较大?将 predict.csv 预测结果填入在附件 submit.csv 文件中。

问题 5:在不局限于特征选择的情况下,是否有更好的方法,提高模型的预 测精度,请详细描述你们的方法,并重新对y1 ,  y3 及类别 class 进行预测,论 证你们预测方法的优越性。

二、问题分析

2.1  问题 1 分析

针对问题 1 ,首先需要对数据进行预处理,检测是否有缺失值、异常并进行 修正,同时对需要的数据进行数据标准化与归一化操作。要想探究y2 与分子 id 之间是否存在有一定的函数关系,那么在处理好数据之后,要进行y2 与分子 id 的特征分析,将两个变量进行可视化,大致分析y2 与分子 id 之间的函数关系, 最后采用适当的函数,即多项式回归拟合建立函数,并对y2 进行合理预测。

2.2  问题 2 分析

针对问题 2 ,与问题 1 类似,采用同样的方法检查缺失值并剔除异常值。要 想选择不超过 10 个的特征指标,那么就要分析y2 ~y3 ,  x1 ~x100y1 的相关性, 寻找用于计算特征与目标变量之间相关性的函数,选取相关性最大的 10 个变量 作为特征指标 ,然后建立y1 预测模型进行预测 。根据要求  问题 2 采用了 SelectKBest 方法结合 f_regression  函数从训练数据集中选择对目标变量 y1     响最大的 10 个特征,然后使用随机森林对数据进行训练并最终预测。

2.3  问题 3 分析

针对问题 3,在检查缺失值并剔除异常值之后,要想分析y3 y1 ~y2 ,  x1 ~x100  之间的函数关系,仍旧采用 SelectKBest方法选取相关性最大 10 个特征指标, 来获取对y3 预测结果最大的特征指标。采用基于梯度的回归模型对 10 个特征指 标进行训练并预测y3,最后基于模型的均方误差MSE)来分析这些指标的灵敏 度。

2.4  问题 4 分析

针对问题 4,需要分析 class y1 ~y3 ,  x1 ~x100指标之间的关系,并于物理化 学性质,建立分子的类别预测模型,分析y1 ~y3 ,  x1 ~x100 中对分类结果影响较大

论文相关思路解释  代码一步一步 手把手保姆级运行

请看 B 站 【BZD 数模社】发布相关视频

的指标。首先找出y1 ~y3 ,  x1 ~x100 中对 class 变量影响最大的 10 个指标,然后采  RandomForestClassifier 分类模型对 class 进行分类,最后来评估分类准确率。

2.5  问题 5 分析

针对问题 5 ,需要选择更好的方法来提高模型的检测精度。对于y1 ,  y3 变量 的预测,尝试用更多的特征值(本题增加至 20 个特征指标)来提升检测精度, 对于类别 class 的预测,通过建立深度学习的神经网络(LSTM)模型进行预测 以提升预测精度。

三、模型假设

模型假设

为了方便模型的建立与模型的可行性,我们这里首先对模型提出一些假设,

使得模型更加完备,预测的结果更加合理。

1. 假设给出的数据均为真实数据,真实有效。

2. 假设对于一些较为异常的数据的出现具有一定的合理性。

3. 假设响应变量y1 是解释变量 X(id)的线性和非线性组合,可以表示为多项式

形式。

4. 假设所有数据点是相互独立的,且来自同一分布。

5. 假设模型中的噪声项(误差)服从均值为零的正态分布。

6. 假设解释变量之间没有完美的多重共线性,即解释变量之间不完全线性相关。

7. 假设所有解释变量的噪声项具有相同的方差。

8. 为真实数据,真实有效。

9. 假设对于一些较为异常的数据的出现具有一定的合理性。

% 加载数据
train_data = readtable('data1.csv');
predict_data = readtable('predict.csv');

% 特征选择和模型构建
X_train = train_data{:, 4:105}; % 选择x1到x100列
y_train = train_data.y1; % y1是我们要预测的目标

% 使用fscchi2选择影响y1最大的20个特征
[~,fs] = fscchi2(X_train,y_train);
[~,idx] = sort(fs,'descend');
selected_features_idx = idx(1:20);
selected_features_names = train_data.Properties.VariableNames(3 + selected_features_idx);

% 构建随机森林模型
model = TreeBagger(100, X_train(:, selected_features_idx), y_train, 'Method', 'regression', 'OOBPrediction', 'on');

% 应用相同的特征选择到预测数据集
X_predict_selected = predict_data{:, selected_features_idx + 3}; % 应用相同的特征选择

% 预测
y_predict = predict(model, X_predict_selected);

% 将预测结果保存到表格
predict_results = table(predict_data.id, y_predict, 'VariableNames', {'id', 'predicted_y1'});

% 可视化预测结果
figure;
scatter(predict_results.id, predict_results.predicted_y1);
title('Predicted y1 for IDs 200001 to 202580');
xlabel('ID');
ylabel('Predicted y1');
grid on;

% 将预测结果保存到 CSV 文件
writetable(predict_results, 'pre_y1_Q5.csv');
disp(['Predictions saved to pre_y1_Q5.csv']);

% 输出部分预测结果查看
disp(predict_results(1:5, :));
disp(predict_results(end-4:end, :));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值