Máquinas Vectores de Soporte Clasificación – Scikit Learn

En esta entrada hablaremos en cómo implementar el algoritmo de Maquinas Vectores de Soporte utilizando la librería de Python Scikit Learn.

En una entrada anterior definimos que las Máquinas de Vectores de Soporte son un clasificador discriminatorio formalmente definido por un hiperplano de separación. En otras palabras, dada la etiqueta de datos de entrenamiento, el algoritmo produce un hiperplano óptimo que categoriza los nuevos ejemplos.

La librería Scikit Learn proporciona un modelo bastante completo para implementar el algoritmo de Máquinas Vectores de Soporte Clasificación.

SVM scikit 1

Lo primero que se debe hacer para implementar este algoritmo es definir el modulo, para este caso será: sklearn.svm. Seguidamente importamos la clase ubicada dentro de este modulo, en este caso sería: SVC. Recuerda que este algoritmo también puede ser utilizado para problemas de regresión por tal razón acá se define la C como clasificación.

SVM scikit 2

Realizado esto ya podemos implementar este algoritmo en nuestro programa. Igual que los anteriores algoritmos, con esta instrucción se deberá definir las variables “x” y “y” para implementar la instrucción fit() para entrenar el modelo y predict() para realizar una predicción.

SVM scikit 3

Pero enfoquémonos a verificar las características que podemos modificar dentro del algoritmo de Máquinas de Vectores de Soporte Clasificación, recuerda que si quieres obtener información adicional al respecto siempre puedes dirigirte a la página la librería en donde obtendrás una información más completa.

SVM scikit 4

El primer parámetro, por su puesto será el de kernel, como ya lo explicamos, la función principal del núcleo es transformar los datos de entrada del conjunto de datos en la forma requerida. Existen varios tipos de funciones, como la función de base lineal, polinómica y radial o RBF. Las funciones polinomial y RBF son útiles para el hiperplano no lineal. Los núcleos polinomiales y RBF calculas la línea de separación en la dimensión superior. En algunas de las aplicaciones, se sugiere utilizar un núcleo más complejo para separar las clases que son curvas o no lineales. Esta transformación puede conducir a clasificadores más precisos.

SVM scikit 5

El siguiente parámetro a evaluar será C. Este es un parámetro de regularización. Aquí C es el parámetro de penalización, que representa una clasificación errónea o un término de error. La clasificación errónea o término de error le indica a la optimización del algoritmo cuánto error es soportable. Así es como se puede controlar el compromiso entre el límite de decisión y el concepto de clasificación errónea. Un valor menor de C crea un hiperplano de pequeño margen y un valor de mayor de C crea un hiperplano de mayor margen.

Estos son algunos de los parámetros que maneja este algoritmo, existen otros pero con estos puedes modificarlos para obtener buenos resultados al momento de crear un modelo de Machine Learning. Te recomiendo iniciar con estos y a medidas que ganes experiencia empezar a experimentar con el resto de los parámetros.

El resto de parámetros los puedes ver en la página oficial de la librería.

En resumen, los comandos a utilizar para implementar un algoritmo de Máquinas de Vectores de Soporte Clasificación serían los siguientes:

SVM scikit6

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *