I am working on neural network to study cancer data, which has 680 record and labels. I just want to study the data and classify them to e classes. I've tried to write a code on matlab and I got result. But I don't know if it's correct or not.
So could you help me?
Thanks in advance.
close all, clear all, format compact
[num]= xlsread('Cdata2.xlsx'); [r,c] = size(num); x = num(: ,1:c-1); t = num(:,c); inputs = x'; targets = t';
% Create a Pattern Recognition Network hiddenLayerSize = 10; net = patternnet(hiddenLayerSize);
% Set up Division of Data for Training, Validation, Testing net.divideParam.trainRatio = 70/100; net.divideParam.valRatio = 15/100; net.divideParam.testRatio = 15/100;
% Train the Network [net,tr] = train(net,inputs,targets);
% Test the Network outputs = net(inputs); errors = gsubtract(targets,outputs); performance = perform(net,targets,outputs);
perf = mse(net,targets,outputs);
% View the Network view(net)
figure, plotregression(targets,outputs) % Uncomment these lines to enable various plots. %figure, plotperform(tr) %figure, plottrainstate(tr) figure, plotconfusion(targets,outputs) %figure, ploterrhist(errors)
You need to
1. Initialize the RNG before train so that you can duplicate your results
2. Convert your output to percent error rates or correct classification rates for the train/val/test subsets of each class.
3. Search using
for some examples.
Hope this helps.
Thank you for formally accepting my answer
P.S. If you try your code on one of the MATLAB classification examples, we can compare results