How to input a 3D matrix to SVMtrain? (2class problem)

11 visualizzazioni (ultimi 30 giorni)
Hi. I have a 3D matrix Training (4x12x7) with first dimension being the number of samples. Group gives the labels +1 or -1. I get an error when I try to input this to svmtrain
Training(:,:,1) = [0 0 0 0 0 0 1 0 2 1 3 0; 0 0 0 1 1 0 0 1 2 2 1 0; 0 1 0 0 0 0 0 0 0 0 1 1;0 0 0 0 1 0 2 0 2 0 2 0];
Training(:,:,2) = [0 0 0 0 0 0 1 0 2 1 0 0; 0 0 0 1 1 0 0 1 0 2 1 1; 0 1 0 0 0 0 0 0 0 0 1 1;0 0 0 0 1 0 2 0 3 0 2 2];
Training(:,:,3) = [0 0 0 0 0 0 1 0 2 1 3 0; 0 0 0 0 1 0 0 1 2 0 1 0; 0 1 0 0 5 0 0 0 0 0 1 1;0 0 0 0 0 0 0 0 2 0 3 2];
Training(:,:,4) = [1 1 0 0 0 0 1 0 0 1 3 0; 0 4 0 2 0 0 0 0 2 0 2 1; 0 1 0 0 0 0 0 0 0 0 1 1;0 1 2 0 0 0 1 0 0 0 0 2];
Training(:,:,5) = [0 0 2 0 0 0 1 0 2 0 0 0; 0 0 0 3 1 0 0 1 2 2 1 1; 0 1 0 2 0 0 0 0 0 0 3 1;0 0 0 0 1 0 0 0 2 0 2 3];
Training(:,:,6) = [0 0 0 0 0 0 1 0 2 1 3 0; 0 0 0 1 0 0 0 1 1 2 0 1; 0 1 0 0 0 0 0 0 0 0 1 1;0 0 0 0 0 0 2 0 2 0 0 2];
Training(:,:,7) = [1 0 0 0 0 0 0 0 2 0 3 0; 0 0 0 1 1 0 0 1 2 1 1 1; 0 1 0 0 0 0 5 0 0 0 1 1;0 0 0 0 1 0 2 0 2 0 2 2];
Group = [1 1 -1 -1];
SVMStruct = svmtrain(Training,Group);
The error is below
??? Error using ==> svmtrain at 453
Error calculating the kernel function:
Transpose on ND array is not defined.
I think it is an issue with input of more than 2 dim. If "Training" is 4x12, there is no problem. Can any one help me? Thanks

Risposta accettata

Shashank Prasanna
Shashank Prasanna il 8 Feb 2013
Just reshape your data such that svm understands what your observations are and what your targets are:
Tr = reshape(Training,[4 84])';
Group = [1 1 -1 -1];
SVMStruct = svmtrain(Tr,Group);
  5 Commenti
Sheema Khattak
Sheema Khattak il 22 Ago 2014
Still get the same error Error using svmtrain (line 254) Y and TRAINING must have the same number of rows.
marie vill
marie vill il 24 Mar 2015
Hi I didn't know how to use svm classification with matrix ,I apply at the first MFCC so I wil have for each data a matrix (34*numbre of sample),I used 9 signals for the training and 9 for the test please there is any one know how to implement this??

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by