Vectores de Soporte Regresión con Scikit Learn

Como ya te he comentado en varios videos, Scikit Learn es una de las más grandes librerías de Machine Learning con la que cuenta Python y es la más utilizadas al momento de crear los modelos implementando los algoritmos de Machine Learning, razón por la cual veremos cómo se puede usar esta librería para implementar este algoritmo.

Como ya lo vimos en otro video el objetivo de los Vectores de Soporte Regresión en la de individualizar el hiperplano maximizando el margen, teniendo en cuenta que se tolera parte del error.

Lo primero que debes saber es que Scikit Learn cuenta con un modulo llamado sklearn.svm en donde se incluye todo lo referente al algoritmo de Vectores de Soporte tanto clasificación como regresión. Para esta entrada nos enfocaremos solamente en regresión y más específicamente en SVR.

Vectores-Soporte-Regresión-1

Con Scikit Learn es extremadamente sencillo implementar este algoritmo, lo primero que debemos hacer es importar el módulo e importar la clase SVR, crear los parámetros a utilizar, “x” y “y” y llamar al método fit() junto con los datos de entrenamiento.

Vectores-Soporte-Regresión-2

La instrucción SVR se puede configurar con ciertos parámetros que puedes ver en la página web con más detalle, acá te voy a explicar los más importantes y los que debes considerar al momento de configurar el modelo.

Vectores de Soporte Regresión Scikit Learn 1

Comencemos con C, te acuerdas que cuando vimos la teoría del algoritmo de vectores de soporte regresión, en la formula se disponía de una variable llamada C, la cual la definimos como una constante que determina el equilibrio entre la regularidad de la función y la cuantía hasta la cual toleramos desviaciones mayores que las bandas de soporte, bueno este valor lo puedes definir acá, por defecto este valor es de 1 pero tu lo puedes definir a tu conveniencia.

Vectores de Soporte Regresión Scikit Learn 2

Otro parámetro que puedes modificar es el de “épsilon”,

Ambas variables las puedes modificar a tu conveniencia, pero tradicionalmente esto valores se dejan por defecto, sobretodo si apenas estas empezando en Machine Learning y no tienes la suficiente destreza para manipularlos.

Una configuración que cuenta este algoritmo en Scikit Learn y que en ocasiones si se modifica es la de Kernel, pero hasta los momentos no he explicado mucho al respecto, por lo que acá solamente la voy a nombrar y más adelante habrá un video dedicado completamente a explicar de qué se trata los Kernel y porque son bastante útiles sobretodo para este tipo de algoritmos.

Por los momentos me voy a limitar a decir que acá se puede definir uno de los tres tipos de Kernel que se manejan, lineal, que se utiliza cuando los datos son lineales, y para los datos no lineales se cuenta con “poly”, “rbf” y “sigmoid”. Si este parámetro no se configura al momento de utilizar este algoritmo, se utilizará “rbf” como Kernel por defecto.

Recuerda que estos son solo algunos de los parámetros que cuenta este algoritmo para su configuración.

Teniendo toda esta información ya tenemos nuestro modelo de Regresión Lineal listo, ahora el último paso es el de evaluar el rendimiento del algoritmo, este paso es particularmente importante para comparar qué tan bien funcionan diferentes algoritmos en un conjunto de datos particular. Como lo explicamos en un anterior video para conocer la precisión debemos implementar la estadística R al cuadrado, pero, obviamente, la librería Scikit Learn cuenta con una instrucción que hace nuestro trabajo mucho más sencillo. Para este caso solamente tenemos que utilizar la instrucción “score” junto con los datos de pruebas y nos devolverá la precisión del modelo con los datos utilizados.

Recuerda que todos estos datos los podemos obtener después de haber entrenado el modelo de lo contrario nuestro programa nos arrojará un error.

En resumen, los comandos a utilizar para implementar un algoritmo de Regresión Lineal serían los siguientes:

Vectores de Soporte Regresión Scikit Learn 3

Deja un comentario

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