필터 지우기
필터 지우기

classifying data files in a folder with neural network

조회 수: 4 (최근 30일)
John
John 2012년 1월 10일
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
Chandra Kurniawan
Chandra Kurniawan 2012년 1월 10일
Can you give me one example of the txt file?
I need to know how do you format it.
John
John 2012년 1월 10일
Hi,
Thanks for replying.
The text files contain column vectors as inputs each one with 30 elements.
I've attached a link to sample in a dropbox. This particular one contains two column vectors, but others would contain more (20-30).
http://dl.dropbox.com/u/54057365/NNinput.txt
So I was hoping to pass each file containing the column vectors into the neural network to classify the data, as being of type 1,2,3. Then save the output with the same name as the input file.
Does it have to saved as a .mat file of can it be saved as a .txt file?
Many thanks for your help
Please come back to me if I have not explained that well
John

댓글을 달려면 로그인하십시오.

채택된 답변

Chandra Kurniawan
Chandra Kurniawan 2012년 1월 11일
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
Freedom
Freedom 2013년 8월 19일
What type of neural network are u using?
Greg Heath
Greg Heath 2013년 8월 19일
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)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Pattern Recognition and Classification에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by