Desarrollo

El algoritmo de regresión lineal con Python

Publicado el
Etiquetas: python linear regression data algorithms
El algoritmo de regresión lineal con Python
Comparte

El algoritmo de regresión lineal es un método estadístico utilizado para modelar la relación entre dos variables continuas. El objetivo es encontrar la mejor línea recta que se ajuste a los datos, lo que permite predecir la relación entre las variables en el futuro.

El modelo de regresión lineal se utiliza en diversas áreas, desde finanzas hasta ingeniería, y es especialmente útil para predecir resultados numéricos a partir de variables de entrada. Un ejemplo común de su uso es en la predicción de los precios de una casa en función de sus características, como el tamaño, la ubicación y el número de habitaciones.

La principal ventaja de la regresión lineal es su simplicidad y facilidad de interpretación, lo que lo hace ideal para su uso en aplicaciones prácticas. Además, es un método muy rápido y eficiente en términos de cómputo, lo que lo hace ideal para grandes conjuntos de datos.

Sin embargo, existen algunas desventajas en el uso del modelo de regresión lineal. Por ejemplo, asume una relación lineal entre las variables de entrada y la variable de salida, lo que significa que no es adecuado para modelos no lineales. Además, puede ser sensible a valores atípicos y errores en los datos, lo que puede afectar negativamente la precisión de las predicciones.

En la industria, el modelo de regresión lineal se utiliza en una variedad de aplicaciones, desde la predicción de precios de productos hasta la estimación de la demanda del mercado. Por ejemplo, en el campo de la manufactura, se puede utilizar para predecir el tiempo de producción de un producto en función de las características del proceso de producción. En la industria financiera, se puede utilizar para predecir el valor futuro de las acciones de una empresa en función de las tendencias del mercado y la situación económica actual.

Cómo funciona el algoritmo de regresión lineal

Imaginemos que queremos predecir la cantidad de dinero que un empleado gana en función de su experiencia laboral. Tenemos los siguientes datos:

Experiencia (años) Salario (USD)
0 30000
1 32000
2 34000
3 36000
4 38000
5 40000
6 42000
7 44000
8 46000
9 48000
10 50000

En este caso, la variable de entrada es la experiencia laboral del empleado (en años), mientras que la variable de salida es su salario (en USD). Podemos utilizar el algoritmo de regresión lineal para modelar la relación entre estas dos variables y predecir el salario de un empleado en función de su experiencia laboral.

Código

Usar el algoritmo de regresión lineal es realmente muy fácil en Python, ya que cuenta con excelentes herramientas para el análisis de datos.

import pandas as pd
from sklearn.linear_model import LinearRegression

# cargamos los datos en un DataFrame de pandas
data = pd.DataFrame({'Experiencia': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                     'Salario': [30000, 32000, 34000, 36000, 38000, 40000, 42000, 44000, 46000, 48000, 50000]})

# separamos las variables de entrada y salida
X = data[['Experiencia']]
y = data['Salario']

# creamos el modelo de regresión lineal y lo entrenamos con los datos
regression = LinearRegression()
regression.fit(X, y)

# realizamos una predicción para un empleado con 12 años de experiencia
prediccion = regression.predict([[12]])

# imprimimos el resultado
print(f"Un empleado con 12 años de experiencia tiene un salario estimado de ${prediccion[0]:.2f}")

En este código, primero cargamos los datos en un DataFrame de pandas. Luego, separamos las variables de entrada (Experiencia) y salida (Salario). A continuación, creamos un objeto de regresión lineal y lo entrenamos con los datos utilizando el método fit(). Finalmente, realizamos una predicción para un empleado con 12 años de experiencia y mostramos el resultado.

Si ejecutamos este código, obtendremos el siguiente resultado:

Un empleado con 12 años de experiencia tiene un salario estimado de $62000.00

Este resultado indica que un empleado con 12 años de experiencia tendría un salario estimado de $62,000 según nuestro modelo.

En cuanto al informe que podríamos obtener y las decisiones que podríamos tomar con los resultados, esto dependería del contexto específico del problema y de las necesidades del usuario. En general, podríamos proporcionar una visualización de la relación entre las variables de entrada y salida, junto con estadísticas descriptivas como el coeficiente de correlación y la ecuación de la línea de regresión. A partir de estos resultados, el usuario podría tomar decisiones informadas sobre la relación entre las variables y utilizar el modelo para hacer predicciones sobre nuevos datos.

En resumen, la regresión lineal es un algoritmo simple y eficiente para modelar la relación entre dos variables continuas. Aunque tiene algunas limitaciones, es ampliamente utilizado en una variedad de industrias y aplicaciones prácticas para predecir resultados numéricos a partir de variables de entrada.

Javier Sanchez Toledano
Escrito por Javier Sanchez Toledano Sígueme

Soy Licenciado en Informática e Ingeniero en Sistemas Computacionales.
Soy auditor líder certificado por ICA en la Norma ISO 9000, desarrollo sistemas de gestión de la calidad con un enfoque de mejora continua, creo tableros de control con indicadores clave para mejorar la toma de decisiones basadas en datos.

Comentarios