La decisión de SVM se toma usando pesos para predecir de esta manera
valor de decisión = suma (pesos * predictores) -b
ahora las clases se asignan en función de que el valor de decisión sea – / +. [esto se vuelve complejo en caso de múltiples clases]
puede recuperar el valor de los pesos de su modelo [svm_model] de esta manera:
- ¿Cuál de los siguientes 2 cursos en la India es mejor para una carrera en ciencia de datos, Udacity o Courseera?
- ¿Cuáles son algunos de los análisis de datos más interesantes que se hayan hecho?
- ¿Cómo se benefician los servicios de transcripción de datos?
- ¿Qué es anaconda?
- ¿Cuáles son los pros y los contras de los algoritmos genéticos en comparación con otros métodos de optimización global?
{aunque no he comprobado si el código funciona exactamente así, es posible que necesites algunas modificaciones}
pesos = t (svm_model $ coefs)% *% svm_model $ SV
b = svm_model $ rho
También tendrá que escalar sus datos para obtener estos valores de decisión. Puede verificar si los valores de decisión que está calculando manualmente son correctos o no mirando svm_model $ decision.values
{Supuse que usó el paquete e1071 para esto. Si ha utilizado otro paquete, las cosas pueden tener un nombre diferente y el procedimiento para recuperar pesos puede variar. comience con nombres (sum_model) para ver qué valores contiene su salida y construir sobre eso}
Si está interesado en utilizar este modelo para predecir el resultado en una nueva información, simplemente puede usar la función “predecir” de la siguiente manera:
predecir (svm_model, new_data, decision.values = TRUE)