1 votos

Predicción de etiquetas mediante SVM en Matlab

Necesito ayuda para clasificar una imagen de prueba para que pertenezca a la persona correcta.

Estoy utilizando PCA con un clasificador SVM para clasificar la imagen.

Tengo 40 sujetos, cada uno con 5 características (= total de 200 imágenes).

Por lo tanto, tengo la matriz "train_label" como [1;1;1;1;1;2;2;2;2;2;3;3;3;3;3;4;4;4;4;4;5...40;40;40;40;40]

  1. Conseguí reducir las imágenes proyectadas a una matriz de 200 x 200 utilizando el análisis PCA - "projectimg" .

  2. A continuación, utilicé el siguiente comando para "entrenar" el clasificador SVM:

    SVMModel = fitrsvm(projectimg', train_label,'Standardize',true,'KernelFunction','RBF',... KernelScale','auto');

  3. A continuación, generé la imagen de prueba proyectada, - "projtestimg" .

Ahora quería clasificar esta imagen de prueba, así que uso el siguiente comando:

[label] = predict(SVMModel,projtestimg');

Siempre obtengo un valor incorrecto para la etiqueta, lo que significa que el valor de la etiqueta nunca se correlaciona con el tema correcto. Creo que estoy implementando la parte de clasificación de forma incorrecta.

¿Pueden decirme cómo predecir correctamente la clase de la imagen de prueba después del análisis PCA utilizando el método SVM en Matlab? Gracias.

1voto

Adam Luchjenbroers Puntos 142

No sigo su línea de PCA, pero está usando fitrsvm que está pensado para problemas de regresión para un problema de clasificación multiclase. No funciona.

fitcsvm implementa la clasificación svm pero no maneja la clasificación multiclase. intente fitcecoc que deforma los clasificadores binarios svm por un clasificador de códigos de salida con corrección de errores multiclase o incluso fitcnb para las bayas gaussianas ingenuas. Para las extensiones de SVM multiclase, tendrá que buscar fuera de las cajas de herramientas de Mathworks.

0 votos

Hola, cuando probé su sugerencia de fitcecoc obtuve una tasa de éxito del 82,5%. Esto es peor que el algoritmo KNN que implementé. ¿Puede decirme por qué es así?

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X