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

1 visualización (últimos 30 días)
Mech Princess
Mech Princess el 8 de Feb. de 2013
Comentada: marie vill el 24 de Mzo. de 2015
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

Respuesta aceptada

Shashank Prasanna
Shashank Prasanna el 8 de Feb. de 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 comentarios
Sheema Khattak
Sheema Khattak el 22 de Ag. de 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 el 24 de Mzo. de 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??

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre MATLAB en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by