Regresión lineal

Podemos ayudar a comprender los datos mediante la construcción de modelos matemáticos, esto es clave para el machine learning.
Uno de esos modelos es la regresión lineal, en la que ajustamos una línea a los datos (x,y).

Hay muchos módulos para Machine Learning en Python, pero scikit-learn es uno de los más populares.

Regresión lineal

Es posible que desee predecir valores continuos. Ese es un problema de regresión. La regresión lineal es uno de los métodos para resolver eso.

Todo tipo de valores son continuos: temperatura, salario, números y muchos más. La regresión no siempre es lineal, como se muestra en la siguiente imagen:

Pero hay muchos puntos de datos en los que se puede aplicar la regresión lineal. Como la tarifa tay, donde las horas conducidas se correlacionan directamente con el precio a pagar.

Módulos

Instale los módulos requeridos;

 
sudo pip install matplotlib
sudo pip install scikit-learn
sudo pip install scipy

ejemplo de regresión lineal

Entonces comenzamos con una trama básica:

 
import matplotlib
matplotlib.use('qt5agg')

import matplotlib.pyplot as plt
import numpy as np

randomNumberGenerator = np.random.RandomState(1000)
x = 4 * randomNumberGenerator.rand(100)
y = 4 * x - 1 + randomNumberGenerator.randn(100)
plt.scatter(x, y);
plt.show()

Esto creará un montón de datos aleatorios, que siguen una ruta lineal.
En una situación de la vida real, usaría datos del mundo real en lugar de números aleatorios

Luego usamos el modelo de regresión lineal del módulo scikit-learn.

 
model = LinearRegression(fit_intercept=True)
model.fit(x[:, np.newaxis], y)

luego definimos el espacio lineal y predecimos los valores de y usando el modelo.

 
xfit = np.linspace(0, 5, 50)
yfit = model.predict(xfit[:, np.newaxis])

finalmente graficamos los datos, resumiendo con este código:

from sklearn.linear_model import LinearRegression
import matplotlib
matplotlib.use('qt5agg')

import matplotlib.pyplot as plt
import numpy as np


randomNumberGenerator = np.random.RandomState(1000)
x = 4 * randomNumberGenerator.rand(100)
y = 4 * x - 1 + randomNumberGenerator.randn(100)


model = LinearRegression(fit_intercept=True)
model.fit(x[:, np.newaxis], y)

xfit = np.linspace(0, 5, 50)
yfit = model.predict(xfit[:, np.newaxis])


plt.scatter(x, y)
plt.plot(xfit, yfit);
plt.show()

Luego encontramos la línea de ajuste.

No dudes en revisar estas entradas sobre Machine Learning:

El árbol de decisión es uno de los algoritmos de clasificación más simples y populares para aprender, comprender e interpretar ...
Después de entender qué es el aprendizaje automático, conviene conocer los tres tipos de algoritmos de aprendizaje automático existentes: supervisado, ...
Si queremos usar texto en algoritmos de Machine Learning, tendremos que convertirlo a una representación numérica. No debería sorprender que ...
Los emprendedores se están dando cuenta de lo rápido que pueden recuperar su inversión si apuestan por la tecnología y ...
El aprendizaje automático o aprendizaje automático es uno de los campos que participan en el desarrollo de la inteligencia artificial ...
Un árbol de decisión es uno de los muchos algoritmos de machine learning. Un árbol de decisión es una herramienta ...

¿ Te pareció de utilidad este articulo Regresión lineal?
⬇️ Tu ayuda compartiendo es invaluable.⬇️

3 comentarios en «Regresión lineal»

  1. ¿Es realmente la regresión lineal la mejor forma de predecir datos? Opiniones, por favor.

  2. ¡Interesante artículo! ¿Alguien más piensa que los módulos son clave en regresión lineal? 🤔📊

    • ¡Totalmente de acuerdo! Los módulos son esenciales en la regresión lineal para garantizar la estabilidad y precisión de los modelos. Quienes duden de su importancia quizás necesiten repasar conceptos básicos de estadística. ¡Excelente observación! 📊🔑

Los comentarios están cerrados.