TensorFlow - Regresión lineal
En este capítulo, nos centraremos en el ejemplo básico de implementación de regresión lineal con TensorFlow. La regresión logística o regresión lineal es un enfoque de aprendizaje automático supervisado para la clasificación de categorías discretas de orden. Nuestro objetivo en este capítulo es construir un modelo mediante el cual un usuario pueda predecir la relación entre las variables predictoras y una o más variables independientes.
La relación entre estas dos variables se considera lineal. Si y es la variable dependiente y x se considera la variable independiente, entonces la relación de regresión lineal de dos variables se verá como la siguiente ecuación:
Y = Ax+b
Diseñaremos un algoritmo de regresión lineal. Esto nos permitirá comprender los siguientes dos conceptos importantes:
- Función de costo
- Algoritmos de descenso de gradientes
La representación esquemática de la regresión lineal se menciona a continuación:
La vista gráfica de la ecuación de regresión lineal se menciona a continuación:
Pasos para diseñar un algoritmo de regresión lineal
Ahora aprenderemos sobre los pasos que ayudan a diseñar un algoritmo de regresión lineal.
Paso 1
Es importante importar los módulos necesarios para trazar el módulo de regresión lineal. Comenzamos a importar la biblioteca Python NumPy y Matplotlib.
import numpy as np
import matplotlib.pyplot as plt
Paso 2
Defina el número de coeficientes necesarios para la regresión logística.
number_of_points = 500
x_point = []
y_point = []
a = 0.22
b = 0.78
Paso 3
Itere las variables para generar 300 puntos aleatorios alrededor de la ecuación de regresión -
Y = 0,22x + 0,78
for i in range(number_of_points):
x = np.random.normal(0.0,0.5)
y = a*x + b +np.random.normal(0.0,0.1) x_point.append([x])
y_point.append([y])
Etapa 4
Vea los puntos generados usando Matplotlib.
fplt.plot(x_point,y_point, 'o', label = 'Input Data') plt.legend() plt.show()
El código completo para la regresión logística es el siguiente:
import numpy as np
import matplotlib.pyplot as plt
number_of_points = 500
x_point = []
y_point = []
a = 0.22
b = 0.78
for i in range(number_of_points):
x = np.random.normal(0.0,0.5)
y = a*x + b +np.random.normal(0.0,0.1) x_point.append([x])
y_point.append([y])
plt.plot(x_point,y_point, 'o', label = 'Input Data') plt.legend()
plt.show()
El número de puntos que se toman como entrada se considera como datos de entrada.