I created neural network for binary classification , i have 2 classes and 9 features using an input matrix with a size of [9 981] and target matrix [1 981] . This is my code :
rng(0); inputs = patientInputs;targets = patientTargets;[x,ps] = mapminmax(inputs);t=targets; trainFcn = 'trainbr'; % Create a Pattern Recognition Network
hiddenLayerSize =8;net = patternnet(hiddenLayerSize,trainFcn);net.divideFcn = 'dividerand'; % Divide data randomly
net.divideMode = 'sample'; % Divide up every sample
net.divideParam.trainRatio = 70/100;net.divideParam.valRatio = 15/100;net.divideParam.testRatio = 15/100;net.performFcn = 'mse'; net.trainParam.max_fail=6;% Choose Plot Functions
% For a list of all plot functions type: help nnplot
net.plotFcns = {'plotperform','plottrainstate','ploterrhist', ... 'plotconfusion', 'plotroc'}; % Train the Network
net= configure(net,x,t);[net,tr] = train(net,x,t); y = net(x);e = gsubtract(t,y);performance = perform(net,t,y)tind = vec2ind(t);yind = vec2ind(y);percentErrors = sum(tind ~= yind)/numel(tind); % Recalculate Training, Validation and Test Performance
trainTargets = t .* tr.trainMask{1};valTargets = t .* tr.valMask{1};testTargets = t .* tr.testMask{1};trainPerformance = perform(net,trainTargets,y)valPerformance = perform(net,valTargets,y)testPerformance = perform(net,testTargets,y) % View the Network
view(net)
and when i tried to test the neural network with new data using
ptst2 = mapminmax('apply',tst2,ps); bnewn = sim(net,ptst2);
I don't get the same values like the target i mean 0 or 1 however if i put test data with target 0 i have as a result of bnewn= 0.1835 and with data test having target 1 i got cnewn= 0.816. How can i read this results ? as i understand if it is >0.5 so target=1 else target=0
Best Answer