Referencia: ejemplos detallados de libsvm C ++ (utilizando datos de formato TXT)
libsvm utiliza ejemplos de c ++ en vs2017 (incluido el código de c ++)
1 construcción del entorno
1.1 Descargue la última versión del sitio web oficial de libsvm (este artículo usa libsvm3.24)
1.2 Realice el conjunto de datos de acuerdo con el formato requerido El
conjunto de capacitación y el conjunto de prueba deben colocarse en el mismo directorio que el archivo vcxproj del proyecto.
Conjunto de entrenamiento:
Conjunto de prueba:
2 entrenamiento
2.1 Cree un nuevo proyecto en blanco en vs2017 y luego importe svm.h, svm.cpp, svm-train.c.
2.2 Parámetros de configuración
Haga clic con el botón derecho en los parámetros project-Properties-Debug-Command, agregue el nombre del archivo del conjunto de entrenamiento (sufijo del paquete) y el nombre del archivo del modelo obtenido después del entrenamiento (sin sufijo del paquete).
2.3 Agregue un sistema de oración ("pausa") antes de la declaración de retorno de la función principal en svm-train.c; para evitar que el código parpadee. Además, debe cambiar el valor de gamma y cambiar 0 al inverso del número de características.
2.4 La compilación directa encontrará errores en la compilación. En este momento, se deben cambiar dos lugares: ① Haga clic con el botón derecho en proyecto-Propiedades (Propiedades) -C ++ - Preprocesador (Preprocesador) -Preprocesador Definiciones (Preprocesador Definiciones) agregue _CRT_SECURE_NO_WARNINGS ② Cambie strdup a _strdup.
2.5 Resultado de la operación
3 prueba
3.1 Eliminar svm-train.c en el proyecto e importar svm-predic.c.
3.2 Parámetros de configuración
Haga clic con el botón derecho en los parámetros project-Properties-Debug-Command, agregue el nombre del archivo del conjunto de prueba (sufijo del paquete), el nombre del archivo del modelo obtenido después del entrenamiento (sin sufijo del paquete) y el nombre del archivo de resultados de la prueba (sufijo del paquete).
3.3 Agregue un sistema de oración ("pausa") antes de la declaración de retorno de la función principal en svm-predic.c; evite que el código parpadee.
3.4 Resultado de la operación