% clear all;
% clc;
% load ('ECGData.mat');
% hucreler={};
% for ii=1:size(tumdata,1)
% dt=tumdata(ii,1:end-1);
% [l1 l2 l3 l4 l5,l6,l7,l8,l9,l10] =klbp(dt,4);
% X=[l6;l7;l8;l9;l10];
% hucreler{ii}=num2cell(X);
% end
% hucreler=hucreler';
% hucreler=[hucreler num2cell(tumdata(:,end))];
load ("huc.mat");
hucreler=huc;
[m,n] = size(hucreler) ;
P = 0.50 ;
idx = randperm(m) ;
XT = hucreler(idx(1:round(P*m)),:) ;
XTs = hucreler(idx(round(P*m)+1:end),:) ;
XTrain=XT(:,1);
YTrain=categorical(cell2mat(XT(:,2)));
XTest=XTs(:,1);
YTest=categorical(cell2mat(XTs(:,2)));
%1DCNN*********************************************************
classes = categories(YTrain);
numClasses = numel(classes)
numFeatures = size(XTrain{1},1);
filterSize = 3;
numFilters = 32;
layers = [ ...
sequenceInputLayer(numFeatures)
convolution1dLayer(filterSize,numFilters,Padding="causal")
reluLayer
layerNormalizationLayer
convolution1dLayer(filterSize,2*numFilters,Padding="causal")
reluLayer
layerNormalizationLayer
globalAveragePooling1dLayer
fullyConnectedLayer(numClasses)
softmaxLayer
classificationLayer];
miniBatchSize = 127;
options = trainingOptions("sgdm", ...
MiniBatchSize=miniBatchSize, ...
MaxEpochs=70, ...
SequencePaddingDirection="left", ...
ValidationData={XTest,YTest}, ...
Plots="training-progress", ...
Verbose=0);
net = trainNetwork(XTrain,YTrain,layers,options);
YPredTrain = classify(net,XTrain, ...
MiniBatchSize=miniBatchSize, ...
SequencePaddingDirection="left");
confusionchart(YTrain,YPredTrain,'ColumnSummary','column-normalized',...
'RowSummary','row-normalized','Title','Confusion Matrix for Train Set with 1D-CNN')
figure
YPredTest = classify(net,XTest, ...
MiniBatchSize=miniBatchSize, ...
SequencePaddingDirection="left");
confusionchart(YTest,YPredTest,'ColumnSummary','column-normalized',...
'RowSummary','row-normalized','Title','Confusion Matrix for Test Set with 1D-CNN')
%1DCNN******************************************************
%GradCam
numChannels = size(huc{1},2);
numObservations = numel(huc(:,1));
figure
tiledlayout(2,2)
for i = 1:4
nexttile
stackedplot(huc{i,1},DisplayLabels="Channel "+(1:numChannels));
title("Observation "+i)
xlabel("Time Step")
end
numFailuresToShow = 2;
isCorrect = YPredTest =="1" & YTest=="1" ;
idxValidationFailure = find(isCorrect,numFailuresToShow);
for i = 1:numFailuresToShow
figure
% t = tiledlayout(numChannels,1);
idx = idxValidationFailure(i);
modifiedSignal = XTest{idx};
modifiedSignal=modifiedSignal';
importance = gradCAM(net,modifiedSignal,"1");
for j = 1:numChannels
nexttile
plotWithColorGradient(modifiedSignal(j,:),importance');
ylabel("Channel "+j)
xlabel("Time Steps")
if ~isempty(failureLocationValidation{idx})
xline(failureLocationValidation{idx}(1),":")
xline(failureLocationValidation{idx}(end),":")
end
end
title(t,"Grad-CAM: Validation Observation "+idx)
c = colorbar;
c.Layout.Tile = "east";
c.Label.String = "Grad-CAM Importance";
end
没有合适的资源?快使用搜索试试~ 我知道了~
一种基于新型1D-LBP的混合深度学习轴承故障检测方法matlab实现.zip
共15个文件
m:13个
mat:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 150 浏览量
2024-02-19
00:27:51
上传
评论
收藏 28.77MB ZIP 举报
温馨提示
1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
资源推荐
资源详情
资源评论
收起资源包目录
一种基于新型1D-LBP的混合深度学习轴承故障检测方法matlab实现.zip (15个子文件)
一种基于新型1D-LBP的混合深度学习轴承故障检测方法matlab实现
BearingFaultDetection--main
fraktallbp.m 2KB
veriseti1.m 3KB
grafik11.m 966B
dataset2.mat 13.26MB
verihazirla.m 287B
fraktalOZellikler.m 78B
fraktallbpresim.m 2KB
FlipLayer.m 228B
grafik1.m 252B
segmentasyon.m 734B
dataset1.mat 15.49MB
lbp.m 979B
veriseti1LSTM.m 2KB
fraktal1DCNN.m 3KB
confusionmatStats.m 2KB
共 15 条
- 1
资源评论
matlab科研助手
- 粉丝: 1w+
- 资源: 2085
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功