当前位置:网站首页>matlab neural network ANN classification
matlab neural network ANN classification
2022-08-09 22:07:00 【student_domi】
1、内容简介
略
500-可以交流、咨询、答疑
2、内容说明
clear
clc
close all
%% import and deal data
filename = "DAY 1-DAY28 AVERAGE DATA SETS----A.B.C -split by 28 × 6 classification.xlsx";
datatrain = xlsread(filename, "Sheet1");
datatest = xlsread(filename, "Sheet2");
datavalidation = xlsread(filename, "Sheet3");
Xtrain = datatrain(:,1:4)';
% Xtrain(2,:) = 100*Xtrain(2,:);
Ytrain = datatrain(:,5)';
[~,nber] = size(Xtrain);
order = randperm(nber);
XTrain1 = Xtrain(:,order);
YTrain1 = Ytrain(:,order);
XValidation = datavalidation(:,1:4)';
% XValidation(2,:) = 100*XValidation(2,:);
YValidation = datavalidation(:,5)';
[~,nber] = size(XValidation);
order = randperm(nber);
XValidation1 = XValidation(:,order);
YValidation1 = YValidation(:,order);
Xtest = datatest(:,1:4)';
% Xtest(2,:) = 100*Xtest(2,:);
Ytest = datatest(:,5)';
[~,nber] = size(Xtest);
order = randperm(nber);
Xtest1 = Xtest(:,order);
Ytest1 = Ytest(:,order);
XTrain = [XTrain1 XValidation1 Xtest1];
YTrain = [YTrain1 YValidation1 Ytest1];
% [p1,minp,maxp,t1,mint,maxt]=premnmx(XTrain,YTrain);
% load net.mat
% accuary(net, XTrain, YTrain, minp, maxp, mint,maxt)
% accuary(net, XValidation, YValidation, minp, maxp, mint,maxt)
% accuary(net, Xtest, Ytest, minp, maxp, mint,maxt)
%% 训练
%数据做归一化
% [p1,minp,maxp,t1,mint,maxt]=premnmx(XTrain,output');
[p1,minp,maxp,t1,mint,maxt]=premnmx(XTrain,YTrain);
%创建网络
% logsig:对数S形转移函数,单极性;tansig: 双极性S形转移函数;purelin:线性函数
% traingdx :梯度下降自适应学习率训练函数,traingdm,trainlm, trainscg These are learning algorithms for weights
% traingdm是带动量的梯度下降法,trainlm是指L-M优化算法,trainscgRefers to the quantized conjugate gradient method
% 网络结构:三个隐含层、And the number of neurons is 5、12的前向BP网络,1个output
% net=newff(minmax(p1),[6, 15, 1],{'tansig', 'tansig','purelin'},'trainlm');
net=newff(minmax(p1),[12, 24, 32, 24, 1],{'tansig', 'tansig', 'tansig', 'tansig', 'purelin'},'trainlm');
% net=newff(minmax(p1),[5, 12, 3],{'tansig', 'tansig','purelin'},'trainlm');
%设置训练次数
net.trainParam.epochs = 600;
%设置收敛误差
net.trainParam.goal=0.0001;
%设置学习率
net.trainParam.lr = 0.03 ;
%Set the momentum factor,Avoid local optima and overfitting
net.trainParam.mc=0.9;
%Minimum number of confirmation failures
net.trainParam.max_fail=30;
%训练网络
[net,tr]=train(net,p1,t1);
%%
fuse_matrix_train = accuary(net, XTrain, YTrain, minp, maxp, mint,maxt);
fuse_matrix_Validation = accuary(net, XValidation, YValidation, minp, maxp, mint,maxt);
fuse_matrix_test = accuary(net, Xtest, Ytest, minp, maxp, mint,maxt);
%%
figure
imagesc(fuse_matrix_train)
set(gca,'xtick',1:3)
set(gca,'xticklabel',{'1 ','2','3'},'XTickLabelRotation',45)
set(gca,'ytick',1:3)
set(gca,'yticklabel',{'1 ','2','3'})
set(gca,'FontSize',14,'Fontname', 'Times New Roman');
colorbar
title ("train data")
xlabel('truth')
ylabel("predict")
[m,n] = size(fuse_matrix_train);
for i = 1:m
for j = 1:n
x = i;
y = j;
text(x,y,num2str(fuse_matrix_train(i,j)))
end
end
%
figure
imagesc(fuse_matrix_Validation)
set(gca,'xtick',1:3)
set(gca,'xticklabel',{'1 ','2','3'},'XTickLabelRotation',45)
set(gca,'ytick',1:3)
set(gca,'yticklabel',{'1 ','2','3'})
set(gca,'FontSize',14,'Fontname', 'Times New Roman');
colorbar
title ("Validation data")
xlabel('truth')
ylabel("predict")
[m,n] = size(fuse_matrix_Validation);
for i = 1:m
for j = 1:n
x = i;
y = j;
text(x,y,num2str(fuse_matrix_Validation(i,j)))
end
end
%
figure
imagesc(fuse_matrix_test)
set(gca,'xtick',1:3)
set(gca,'xticklabel',{'1 ','2','3'},'XTickLabelRotation',45)
set(gca,'ytick',1:3)
set(gca,'yticklabel',{'1 ','2','3'})
set(gca,'FontSize',14,'Fontname', 'Times New Roman');
colorbar
title ("test data")
xlabel('truth')
ylabel("predict")
[m,n] = size(fuse_matrix_test);
for i = 1:m
for j = 1:n
x = i;
y = j;
text(x,y,num2str(fuse_matrix_test(i,j)))
end
end
3、仿真分析
4、参考论文
略
边栏推荐
- An overall security understanding and method of cyberspace based on connection and security entropy
- 倍福CX5120实现温度控制例程详细解析
- 【随笔】致19期的小伙伴们
- 痛击面试官 CURD系统也能做出技术含量
- 力扣15-三数之和——HashSet&双指针法
- hdu 2094 产生冠军(STL map || 拓扑 || STL set)
- php安装make出现“collect2:error:ldreturned1exitstatus
- Laravel DB批量更新的方法
- [] free column Android run Android, her - as command of safety
- 下秒数据:湖仓一体带来的现代数据堆栈变革开始了
猜你喜欢
随机推荐
看完这波 Android 面试题;助你斩获心中 offer
ebook download | "Business executives' IT strategy guide - why enterprises should implement DevOps"
中英文说明书丨Abbkine细胞迁移分析试剂盒
日期及时间处理包 Carbon 在 Laravel 中的简单使用[通俗易懂]
pytest框架之mark标记功能详细介绍
源码编译安装与yum和rpm软件安装详解
ClickHouse一种高性能分布式join查询模型(Colocate Join)
【kali-密码攻击】(5.1.1)密码在线破解:Hydra(图形界面)
如何在WPF中设置Grid ColumnDefinitions的样式
基于SSM实现手机销售商城系统
倍福CX5120实现温度控制例程详细解析
Next second data: the transformation of the modern data stack brought about by the integration of lake and warehouse has begun
STM32WB55的FUS更新及协议栈固件烧写方法
顺序表的定义和基本操作
leetcode 二叉树的分层遍历1
【图文并茂】如何进行Win7系统的重装
SqlServer 2016 安装相关问题
一种基于连接和安全熵的网络空间整体安全认识和方法
Abbkine TraKine Pro 活细胞微管染色试剂盒重要特色
DP-Differential Privacy概念介绍