Skip to main content

matlab matrix to weka .arff format conversion


inputFormat ( matrix are tab seperated , last column indicates the label, This is for two class problem,
for multiclass need to change the code in few lines)
======================================================================
5.0  6.5  7.9 +1
6.6  8.9  6.1 -1
code
=======
function matlabToarff


% convert matrix int arff(Attribute relation file format )format
clc;
fNameData = 'seqLabel';
fNameARFF = 'seqLabel.arff';

fidARFF = fopen( fNameARFF ,'w');
matrix = load(fNameData);
feature = matrix ( : , 1:end-1);
label = matrix (: , end) ;
noFeature = size(feature,2);
noSample = size(feature,1);

%%%%%%%%%% header

fprintf(fidARFF,'%s\n\n','@RELATION LNCRNAsequence');
for i=1:noFeature % noFeature
         fprintf(fidARFF,'%s\t%d\t%s\n' ,'@ATTRIBUTE' , i, 'NUMERIC' );
end
fprintf(fidARFF,'%s\n\n','@ATTRIBUTE class {+1,-1 }');

%%%%%%%%%%  data
fprintf(fidARFF,'%s\n','@DATA');
for r=1:noSample
     for c=1:noFeature
          fprintf(fidARFF,'%f,',matrix(r,c) );
     end
     if label(r)==1
            fprintf(fidARFF,'%s\n', '+1');
     else
            fprintf(fidARFF,'%s\n', '-1');
     end
end

fclose(fidARFF);

end

Comments

  1. if it possible to convert weka arff format to matrix in matlab

    ReplyDelete

Post a Comment