生态责任型技术文档:从changelog到可持续开发范式
2026/7/15 5:23:13
基于Stacking集成学习的数据回归预测(4种基学习器PLS、SVM、决策、KNN,多种元学习器比选)MATLAB代码:
原始数据 → 标准化 → 基学习器训练 → 元特征构建 → 元学习器训练 → 集成预测 ↓ ↓ ↓ ↓ ↓ ↓ 数据预处理 PLS/SVM/ 预测结果 特征工程 模型选择 最终输出 决策树/KNN 交互/统计 (RF/GB/线性)y^stacking=fmeta(h1(x),h2(x),...,hT(x)) \hat{y}_{\text{stacking}} = f_{\text{meta}}(h_1(x), h_2(x), ..., h_T(x))y^stacking=fmeta(h1(x),h2(x),...,hT(x))
其中hih_ihi是基学习器,fmetaf_{\text{meta}}fmeta是元学习器
wi=1MSEi+ϵ/∑j=1T1MSEj+ϵ w_i = \frac{1}{MSE_i + \epsilon} / \sum_{j=1}^{T} \frac{1}{MSE_j + \epsilon}wi=MSEi+ϵ1/j=1∑TMSEj+ϵ1
===数据准备和预处理===数据集划分:训练集:61,验证集:20,测试集:22===训练基学习器(增加多样性)===1.训练PLS模型...PLS最佳成分数:3PLS验证集MSE:0.1101312.训练SVM模型(改进网格搜索)...SVM最佳参数:C=10.00,gamma=0.100SVM验证集MSE:0.0303253.训练决策树模型(增加多样性)...决策树验证集MSE:0.3546984.训练KNN模型(增加多样性)...KNN验证集MSE:0.569963===创建元特征(关键优化)===添加交互特征...添加统计特征...元特征维度:61×9===训练和选择元学习器===尝试元学习器:RF...RF验证集MSE:0.054018尝试元学习器:LSBoost...LSBoost验证集MSE:0.058475尝试元学习器:Linear...Linear验证集MSE:0.037861尝试元学习器:Ridge...Ridge验证集MSE:0.061026最佳元学习器:Linear(MSE:0.037861)===尝试加权组合策略===加权组合验证集MSE:0.043765==========性能评估==========Model MSE RMSE MAE R2 R2_adj MAPE ___________________ ________ _______ _______ ________ _______ ______{'PLS'}0.0985320.31390.226490.854120.74472136.37{'SVM'}0.0368680.192010.1440.945420.9044853.393{'决策树'}0.300470.548150.43170.555160.22153174.11{'KNN'}1.00191.0010.81251-0.48332-1.5958283.99{'加权组合'}0.0427450.206750.166260.936720.8892561.93{'Stacking-Linear'}0.0488990.221130.153420.927610.8733154.919最佳模型:SVM(MSE:0.036868,R²:0.9454)==========Stacking性能提升分析==========相对于 PLS:MSE提升:50.37% (从 0.098532 降到 0.048899)R²提升:8.60% (从 0.8541 提升到 0.9276)✓ Stacking性能优于PLS 相对于 SVM:MSE提升:-32.63% (从 0.036868 降到 0.048899)R²提升:-1.88% (从 0.9454 提升到 0.9276)✗ SVM性能优于Stacking 相对于 决策树:MSE提升:83.73% (从 0.300466 降到 0.048899)R²提升:67.09% (从 0.5552 提升到 0.9276)✓ Stacking性能优于决策树 相对于 KNN:MSE提升:95.12% (从 1.001909 降到 0.048899)R²提升:291.92% (从 -0.4833 提升到 0.9276)✓ Stacking性能优于KNN==========Stacking性能深入分析==========基学习器预测结果之间的相关系数矩阵:PLS SVM 决策树 KNN _______ _______ _______ _______ PLS10.916750.849940.59847SVM0.9167510.832150.65719决策树0.849940.8321510.8133KNN0.598470.657190.81331平均相关系数:0.7780提示:基学习器预测中度相关(0.5-0.8),Stacking可能有一定收益 基学习器多样性分析(误差与其他预测的相关性):PLS:0.1034SVM:0.3242决策树:0.2940KNN:0.2462公众号:机器学习之心HML 公众号:机器学习之心HML 公众号:机器学习之心HML==========可视化结果==========可视化完成!==========模型保存==========优化后的Stacking模型已保存到 optimized_stacking_model.mat 最佳模型:Stacking-Linear 测试集R²:0.9276已保存:结果/图1.png 已保存:结果/图2.png 已保存:结果/图3.png 已保存:结果/图4.png 已保存:结果/图5.png 已保存:结果/图6.png 已保存:结果/图7.png 已保存:结果/图8.png 已保存:结果/图9.png 已保存:结果/图10.png 已保存:结果/图11.png 已保存:结果/图12.png 已保存:结果/图13.png 已保存:结果/图14.png 已保存:结果/图15.png>>