Regresión Lineal con Scikit Learn

Scikit Learn es una de las más grandes librerías de Machine Learning con la que cuenta Python y es de las 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 el algoritmo de Regresión Lineal.

Toda la información para implementar esta librería la pueden encontrar directamente en la página web, por lo que si tenemos alguna duda en la implementación de las instrucciones solamente tenemos que leer esta información.

Como ya lo explicamos en otra entrada el objetivo de Regresión Lineal es minimizar la distancia vertical entre todos los datos y nuestra línea que vendría siendo el modelo, por lo tanto, para determinar la mejor línea, debemos minimizar la distancia entre todos los puntos y la distancia de nuestra línea.  Existen muchos métodos para cumplir con este objetivo, pero el más utilizado es el criterio de mínimos cuadrados para reducir el error.

La librería Scikit-Learn proporciona una función llamada LinearRegression para hacer justamente este trabajo, y de esta forma ahorrarnos todos los cálculos matemáticos.

Regresión-Lineal-usanco-Scikit-Learn-1

Con Scikit Learn es extremadamente sencillo implementar modelos de Regresión Lineal, lo primero que debemos hacer es importar la librería e importar la clase LinearRegression, crear los parámetros a utilizar, “x” y “y” y llamar al método fit() junto con los datos de entrenamiento.

Regresión-Lineal-usanco-Scikit-Learn-2

La instrucción se puede configurar con ciertos parámetros que puedes ver en la página web pero la mayoría de las veces estos parámetros los dejamos por defecto ya que no afecta el resultado final de nuestro modelo.

Regresión-Lineal-usanco-Scikit-Learn-3

Ahora bien, si te acuerdas de la teoría del algoritmo de Regresión Lineal, indicamos que este modelo se basa de encontrar el mejor valor para la intersección y la pendiente lo que da como resultado una línea que se ajusta mejor a los datos.

Bueno precisamente para ver el valor de intersección y la pendiente o en otras palabras para saber los valores de “a” y “b” de nuestros formula, que fueron calculados por el algoritmo de Regresión Lineal solamente se debe ejecutar unas simples instrucciones que explicamos a continuación.

Para conocer el valor de la pendiente solamente se debe utilizar el comando de “coef_”. Al ejecutar esta instrucción se devuelve los valores de “a”. En caso de que en el problema se cuente con variables independientes, el resultado contará con tantas variables independientes tengan los datos, este sería un problema de Regresión Lineal múltiple.

Por si el contrario el problema solamente cuenta con una variable independiente esta instrucción devolverá solamente un solo valor, este es un problema de Regresión Lineal simple.

Scikit Learn Regresión Lineal 1

Por su parte para conocer el valor de la intersección o constante de la fórmula de Regresión Lineal se deberá ejecutar la instrucción “intercept_”. El resultado siempre será un solo valor y representa la variable “b” en nuestra formula.

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 la teoría para conocer la precisión debemos implementar la estadística, 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.

Regresión-Lineal-usanco-Scikit-Learn-5

Recuerda que todos 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:

Scikit Learn Regresión Lineal 2

Deja un comentario

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