%% 清空环境变量
warning off % 关闭报警信息
close all % 关闭开启的图窗
clear % 清空变量
clc % 清空命令行
%% 导入数据
data= xlsread('数据集.xlsx');
res=[];
for i=1:size(data,2)
res1=gaf(data(:,i));
res=[res res1];
end
res(:,end)=data(:,end);
%% 划分训练集和测试集
temp = randperm(357);
[MM,NN]=size(res);
P_train = res(temp(1: 357), 1: NN-1)';
T_train = res(temp(1: 357), NN)';
M = size(P_train, 2);
P_test = res(temp(301: end), 1:NN-1)';
T_test = res(temp(301: end), NN)';
N = size(P_test, 2);
%% 数据归一化
[P_train, ps_input] = mapminmax(P_train, 0, 1);
P_test = mapminmax('apply', P_test, ps_input);
t_train = categorical(T_train)';
t_test = categorical(T_test )';
%% 数据平铺
% 将数据平铺成1维数据只是一种处理方式
% 也可以平铺成2维数据,以及3维数据,需要修改对应模型结构
% 但是应该始终和输入层数据结构保持一致
p_train = double(reshape(P_train, NN-1, 1, 1, M));
p_test = double(reshape(P_test , NN-1, 1, 1, N));
%% 构造网络结构
layers = [
imageInputLayer([NN-1, 1, 1]) % 输入层
convolution2dLayer([2, 1], 16, 'Padding', 'same') % 卷积核大小为 2*1 生成16个卷积
batchNormalizationLayer % 批归一化层
reluLayer % relu 激活层
maxPooling2dLayer([2, 1], 'Stride', [2, 1]) % 最大池化层 大小为 2*1 步长为 [2, 1]
convolution2dLayer([2, 1], 32, 'Padding', 'same') % 卷积核大小为 2*1 生成32个卷积
batchNormalizationLayer % 批归一化层
reluLayer % relu 激活层
fullyConnectedLayer(4) % 全连接层(类别数)
softmaxLayer % 损失函数层
classificationLayer]; % 分类层
%% 参数设置
options = trainingOptions('adam', ... % Adam 梯度下降算法
'MaxEpochs', 200, ... % 最大训练次数 500
'InitialLearnRate', 1e-4, ... % 初始学习率为 0.001
'L2Regularization', 1e-4, ... % L2正则化参数
'LearnRateSchedule', 'piecewise', ... % 学习率下降
'LearnRateDropFactor', 0.1, ... % 学习率下降因子 0.1
'LearnRateDropPeriod', 400, ... % 经过450次训练后 学习率为 0.001 * 0.1
'Shuffle', 'every-epoch', ... % 每次训练打乱数据集
'ValidationPatience', Inf, ... % 关闭验证
'Plots', 'training-progress', ... % 画出曲线
'Verbose', false);
%% 训练模型
net = trainNetwork(p_train, t_train, layers, options);
%% 预测模型
t_sim1 = predict(net, p_train);
t_sim2 = predict(net, p_test );
%% 反归一化
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 ;
%% 绘制网络分析图
analyzeNetwork(layers)
%% 数据排序
[T_train, index_1] = sort(T_train);
[T_test , index_2] = sort(T_test );
T_sim1 = T_sim1(index_1);
T_sim2 = T_sim2(index_2);
%% 绘图
figure
plot(1: M, T_train, 'r-*', 1: M, T_sim1, 'b-o', 'LineWidth', 1)
legend('真实值', '预测值')
xlabel('预测样本')
ylabel('预测结果')
string = {'训练集预测结果对比'; ['准确率=' num2str(error1) '%']};
title(string)
xlim([1, M])
grid
figure
plot(1: N, T_test, 'r-*', 1: N, T_sim2, 'b-o', 'LineWidth', 1)
legend('真实值', '预测值')
xlabel('预测样本')
ylabel('预测结果')
string = {'测试集预测结果对比'; ['准确率=' num2str(error2) '%']};
title(string)
xlim([1, N])
grid
%% 混淆矩阵
figure
cm = confusionchart(T_train, T_sim1);
cm.Title = 'Confusion Matrix for Train Data';
cm.ColumnSummary = 'column-normalized';
cm.RowSummary = 'row-normalized';
figure
cm = confusionchart(T_test, T_sim2);
cm.Title = 'Confusion Matrix for Test Data';
cm.ColumnSummary = 'column-normalized';
cm.RowSummary = 'row-normalized';
没有合适的资源?快使用搜索试试~ 我知道了~
CNN分类基于matlab格拉姆角场GAF结合卷积神经网络数据分类【含Matlab源码 4031期】.zip
共11个文件
png:6个
xlsx:3个
m:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 3 下载量 90 浏览量
2024-03-05
00:58:54
上传
评论 3
收藏 227KB ZIP 举报
温馨提示
CSDN海神之光上传的全部代码均可运行,亲测可用,直接替换数据即可,适合小白; 1、代码压缩包内容 主函数:Main .m; 数据; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,可私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开除Main.m的其他m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博主博客文章底部QQ名片; 4.1 CSDN博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作 智能优化算法优化CNN卷积神经网络分类预测系列程序定制或科研合作方向: 4.4.1 遗传算法GA/蚁群算法ACO优化CNN 4.4.2 粒子群算法PSO/蛙跳算法SFLA优化CNN 4.4.3 灰狼算法GWO/狼群算法WPA优化CNN 4.4.4 鲸鱼算法WOA/麻雀算法SSA优化CNN 4.4.5 萤火虫算法FA/差分算法DE优化CNN 4.4.6 其他优化算法优化CNN
资源推荐
资源详情
资源评论
收起资源包目录
【CNN分类】基于matlab格拉姆角场GAF结合卷积神经网络数据分类【含Matlab源码 4031期】.zip (11个子文件)
【CNN分类】基于matlab格拉姆角场GAF结合卷积神经网络数据分类【含Matlab源码 4031期】
gaf.m 387B
3.png 18KB
dataQQQ2023.xlsx 26KB
main.m 4KB
数据集.xlsx 73KB
1.png 22KB
11.png 28KB
4.png 17KB
data.xlsx 26KB
2.png 27KB
22.png 18KB
共 11 条
- 1
资源评论
- ZaraPlanck2024-03-31资源太好了,解决了我当下遇到的难题,抱紧大佬的大腿~
- asdfgedkxm2024-05-22感谢大佬分享的资源,对我启发很大,给了我新的灵感。
- 2201_759494622024-05-15资源很好用,有较大的参考价值,资源不错,支持一下。
海神之光
- 粉丝: 3w+
- 资源: 2095
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Screenshot_2024-05-28-11-40-58-177_com.tencent.mm.jpg
- 基于Dart的Flutter小提琴调音器APP设计源码 - violinhelper
- 基于JavaScript和CSS的随寻订购网页设计源码 - web-order
- 基于MATLAB的声纹识别系统设计源码 - VoiceprintRecognition
- 基于Java的微服务插件集合设计源码 - wsy-plugins
- 基于Vue和微信小程序的监理日志系统设计源码 - supervisionLog
- 基于Java和LCN分布式事务框架的设计源码 - tx-lcn
- 基于Java和JavaScript的茶叶评级管理系统设计源码 - tea
- IMG_5680.JPG
- IMG_0437.jpg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功