Effacer les filtres
Effacer les filtres

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

6 vues (au cours des 30 derniers jours)
Mech Princess
Mech Princess le 8 Fév 2013
Commenté : marie vill le 24 Mar 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

Réponse acceptée

Shashank Prasanna
Shashank Prasanna le 8 Fév 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 commentaires
Sheema Khattak
Sheema Khattak le 22 Août 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 le 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??

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by