view reeval/folds/createFolds.m @ 4:a1f6a08f624c tip

Completed version 0.0.2
author Francisco Rodriguez Algarra <f.rodriguezalgarra@qmul.ac.uk>
date Tue, 03 Nov 2015 21:24:41 +0000
parents b1cd83874633
children
line wrap: on
line source
function [train,test] = createFolds(type)

% 'none' to use no filtering
% 'fault' to use filtering

switch type
  case 'fault'
    testname = 'test_filtered.txt';
    trainname = 'train_filtered.txt';
    validname = 'valid_filtered.txt';
  case 'none'
    testname = 'test_stratified.txt';
    trainname = 'train_stratified.txt';
    validname = 'valid_stratified.txt';
end

genrelabels = {'blues','classical','country','disco','hiphop','jazz','metal','pop','reggae','rock'};

% read in test partition
fid = fopen(testname);
C = textscan(fid,'%s');
testdata = zeros(length(C{:}),1);
for cc=1:length(C{:})
  genremult = (find(strncmp(C{1}(cc),genrelabels,3))-1)*100;
  exnum = str2num(C{1}{cc}(end-5:end-4));
  testdata(cc) = genremult+exnum+1;
end
fclose(fid);

% read in valid partition
fid = fopen(validname);
C = textscan(fid,'%s');
validdata = zeros(length(C{:}),1);
for cc=1:length(C{:})
  genremult = (find(strncmp(C{1}(cc),genrelabels,3))-1)*100;
  exnum = str2num(C{1}{cc}(end-5:end-4));
  validdata(cc) = genremult+exnum+1;
end
fclose(fid);

% read in train partition
fid = fopen(trainname);
C = textscan(fid,'%s');
traindata = zeros(length(C{:}),1);
for cc=1:length(C{:})
  genremult = (find(strncmp(C{1}(cc),genrelabels,3))-1)*100;
  exnum = str2num(C{1}{cc}(end-5:end-4));
  traindata(cc) = genremult+exnum+1;
end
fclose(fid);

testbool = zeros(1000,1); testbool(testdata) = 1;
trainbool = zeros(1000,1); trainbool(validdata) = 1; trainbool(traindata) = 1;

test = logical(testbool);
train = logical(trainbool);