企业网站建设作用,新浪图床 wordpress,免费软件下载网站,网页编辑格式回归预测 | Matlab实现基于MIC-BP最大互信息系数数据特征选择算法结合BP神经网络的数据回归预测 目录 回归预测 | Matlab实现基于MIC-BP最大互信息系数数据特征选择算法结合BP神经网络的数据回归预测效果一览基本介绍研究内容程序设计参考资料 效果一览 基本介绍 Matlab实现基于…回归预测 | Matlab实现基于MIC-BP最大互信息系数数据特征选择算法结合BP神经网络的数据回归预测 目录 回归预测 | Matlab实现基于MIC-BP最大互信息系数数据特征选择算法结合BP神经网络的数据回归预测效果一览基本介绍研究内容程序设计参考资料 效果一览 基本介绍 Matlab实现基于MIC-BP最大互信息系数数据特征选择算法结合BP神经网络的数据回归预测Matlab完整程序和数据 1.最大互信息系数MIC(数据特征选择算法)的回归预测MIC特征选择回归预测多输入单输出模型。 2.多特征输入模型直接替换数据就可以用。 3.语言为matlab。预测对比图误差分析图相关分析图。 4.运行环境matlab2018及以上。 经过特征选择后保留特征的序号为 152 153 154 155 156 157 158 159 160 -----------------------误差计算-------------------------- 评价结果如下所示 平均绝对误差MAE为0.27482 均方误差MSE为 0.13341 均方根误差RMSEP为 0.36525 决定系数R^2为 0.94425 剩余预测残差RPD为 4.2536 平均绝对百分比误差MAPE为 0.0031803
研究内容 最大互信息系数Maximum Information CoefficientMIC是一种常用的数据特征选择算法用于发现特征之间的非线性关系。它可以测量两个变量之间的最大相关性。首先准备一个包含多个特征和目标变量的数据集。对于每对特征和目标变量计算它们之间的互信息值。互信息度量了两个变量之间的相关性。将计算得到的互信息值进行排序按照互信息值的大小进行降序排列。从排序后的互信息值列表中选择具有最大互信息系数的特征。可以根据具体需求选择一定数量的特征。最大互信息系数算法的核心思想是找到特征与目标变量之间的最大相关性因此选择具有最大互信息系数的特征可以被认为是最相关的特征。这种选择方法可以帮助排除那些与目标变量关联较弱的特征提高模型的性能和效率。在实际应用中可以结合其他特征选择方法或降维技术来进一步优化特征选择过程。 程序设计
完整程序和数据下载方式(资源处直接下载)Matlab实现基于MIC-BP最大互信息系数数据特征选择算法结合BP神经网络的数据回归预测
%% 数据归一化
[p_train, ps_input] mapminmax(P_train, 0, 1);
p_test mapminmax(apply, P_test, ps_input );
t_train T_train;
t_test T_test ;%% 特征选择
k 9; % 保留特征个数
[save_index, mic] mic_select(p_train, t_train, k);%% 输出选择特征的对应序号
disp(经过特征选择后保留9个特征的序号为)
disp(save_index)%% 特征重要性
figure
bar(mic)
xlabel(输入特征序号)
ylabel(最大互信息系数)%% 特征选择后的数据集
p_train p_train(save_index, :);
p_test p_test (save_index, :);%% 输出编码
t_train ind2vec(t_train);
t_test ind2vec(t_test );%% 创建网络
net newff(p_train, t_train, 5);%% 设置训练参数
net.trainParam.epochs 1000; % 最大迭代次数
net.trainParam.goal 1e-6; % 误差阈值
net.trainParam.lr 0.01; % 学习率%% 训练网络
net train(net, p_train, t_train);%% 数据反归一化
T_sim1 vec2ind(t_sim1);
T_sim2 vec2ind(t_sim2);%% 性能评价
error1 sum((T_sim1 T_train)) / M * 100 ;
error2 sum((T_sim2 T_test )) / N * 100 ;%% 绘图
figure
plot(1: M, T_train, r-*, 1: M, T_sim1, b-o, LineWidth, 1)
legend(真实值, MIC-BP预测值)
xlabel(预测样本)
ylabel(预测结果)
string {训练集预测结果对比; [准确率 num2str(error1) %]};
title(string)
gridfigure
plot(1: N, T_test, r-*, 1: N, T_sim2, b-o, LineWidth, 1)
legend(真实值, MIC-BP预测值)
xlabel(预测样本)
ylabel(预测结果)
string {测试集预测结果对比; [准确率 num2str(error2) %]};
title(string)
grid
参考资料 [1] https://blog.csdn.net/kjm13182345320/article/details/128163536?spm1001.2014.3001.5502 [2] https://blog.csdn.net/kjm13182345320/article/details/128151206?spm1001.2014.3001.5502