classifying data files in a folder with neural network
1 view (last 30 days)
Show older comments
Hi there,
I was hoping somebody could advise me on how to achieve something with neural networks.
I used the neural network pattern recognition tool GUI to create a network for data classification.
I saved the network as net.mat
What I would like to do is, loop through files in the current work folder, which contain normalized inputs and run these through the network. Then save each ouput with same name as the input - so I can identify them at a later stage.
I'm not good coding but I suppose an attempt would be something like this:
files = dir('*.txt');
for k = 1:numel(files)
output = sim(net, files(k).name)
%save the output with the same name as input to E:\NNoutput
end
I would really appreciate any advice
Thank you
John
2 Comments
Chandra Kurniawan
on 10 Jan 2012
Can you give me one example of the txt file?
I need to know how do you format it.
Accepted Answer
Chandra Kurniawan
on 11 Jan 2012
Hi,
This is the code that I created.
If there is an error, please tell me.
files = dir(fullfile(pwd,'*.txt'));
for k = 1 : numel(files)
%%%%reading the txt file
fid01 = fopen(fullfile(pwd,files(k).name));
idx = 0; tmparray = [];
tline = fgetl(fid01);
while ischar(tline)
idx = idx + 1;
tmparray(idx,:) = str2num(tline);
tline = fgetl(fid01);
end
fclose(fid01);
%%%%simulate net
output = sim(net, tmparray);
%%%%save the output
filename = strcat(regexprep(files(k).name,'.txt',''),'-output.txt');
fid02 = fopen(filename,'w');
fprintf(fid02,'%.2f\n',output');
fclose(fid02);
end
6 Comments
Greg Heath
on 19 Aug 2013
If you only have 3 classes, the size of your output should only have 3 rows. The corresponding training target matrix should have only had columns of the unit matrix eye(3).
trueclass = vec2ind(target)
assignedclass = vec2ind(output)
err = assignedclass ~= trueclass
Nerr = sum(err)
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!