Tengo una matriz con mis imágenes de muestra (todas convertidas en vectores) que se ejecutó a través de PCA/LDA, y un vector que indica la clase a la que pertenecen cada imagen. Ahora quiero usar la clase OpenCV SVM para entrenar mi SVM (estoy usando Python, OpenCV 2.3.1). Pero tengo un problema con la definición de los parámetros:Implementación Python OpenCV SVM
test = cv2.SVM()
test.train(trainData, responses, ????)
estoy atascado en cómo definir el tipo de SVM (lineal, etc.) y otras cosas. En C++ lo defines diciendo, por ejemplo: svm_type = CvSVM :: C_SVC ... Python no tiene eso. C++ también tiene una clase especial para almacenar estos parámetros -> CvSVMParams. ¿Alguien puede darme un ejemplo de esto en Python? Al igual que la definición del tipo SVM, gamma, etc.
la documentación 2.3.1 dice así:
Python: cv2.SVM.train(trainData, responses[, varIdx[, sampleIdx[, params]]]) → retval
¿Cuáles son varIdx y sampleIdx, y cómo definir los parametros?
Actualmente estoy leyendo documentos, pero mientras tanto, puede usar una solución alternativa: convierta su matriz en numpy y use sk-learn para la tarea de aprendizaje automático. – timgluz
¡Hola! Pruebe esos ejemplos: https://code.ros.org/svn/opencv/trunk/opencv/samples/python2/letter_recog.py – timgluz
timgluz THX eso es exactamente lo que estaba buscando ... podría copiar la parte SVM de el enlace en una respuesta para que pueda aceptarlo (para que otras personas puedan encontrar la respuesta de inmediato y obtener crédito) ... la parte de SVM es de la línea 79 a 91 ... – Veles