load TT.mat numObservations = numel(XTrain); for i=1:numObservations sequence = XTrain{i}; sequenceLengths(i) = size(sequence,2); end [sequenceLengths,idx] = sort(sequenceLengths); XTrain = XTrain(idx); YTrain = YTrain(idx); miniBatchSize = 27; inputSize = 12; accuracy=0.0509 numHiddenUnits = 100; numClasses = 9; layers = [ ... sequenceInputLayer(inputSize) bilstmLayer(numHiddenUnits,'OutputMode','last') fullyConnectedLayer(numClasses) softmaxLayer classificationLayer] maxEpochs = 100; miniBatchSize = 27; options = trainingOptions('adam', ... 'ExecutionEnvironment','cpu', ... 'GradientThreshold',1, ... 'MaxEpochs',maxEpochs, ... 'MiniBatchSize',miniBatchSize, ... 'SequenceLength','longest', ... 'Shuffle','never', ... 'Verbose',0, ... 'Plots','training-progress'); net = trainNetwork(XTrain,YTrain,layers,options); load Fi.mat load data.mat load final.mat precision=Nw_DT(1)-accuracy recall=Nw_DT(2)-accuracy F1score=Nw_DT(3)-accuracy specifity=Nw_DT(4)-accuracy disp(['precision: ',num2str(precision),'%']) disp(['recall: ',num2str(recall),'%']) disp(['F1score: ',num2str(F1score),'%']) disp(['specifity: ',num2str(specifity),'%']) net = patternnet(10); net = train(net,XTrain,YTrain); YPredicted = net(XTrain); plotconfusion(YTrain,YPredicted)