TensorFlow - Regressão Linear
Neste capítulo, vamos nos concentrar no exemplo básico de implementação de regressão linear usando o TensorFlow. A regressão logística ou regressão linear é uma abordagem de aprendizado de máquina supervisionada para a classificação de categorias discretas de ordem. Nosso objetivo neste capítulo é construir um modelo pelo qual um usuário pode prever o relacionamento entre variáveis preditoras e uma ou mais variáveis independentes.
A relação entre essas duas variáveis é considerada linear. Se y for a variável dependente e x for considerado a variável independente, então a relação de regressão linear de duas variáveis será semelhante à seguinte equação -
Y = Ax+b
Vamos projetar um algoritmo para regressão linear. Isso nos permitirá entender os seguintes dois conceitos importantes -
- Função de Custo
- Algoritmos de descida gradiente
A representação esquemática da regressão linear é mencionada abaixo -
A visão gráfica da equação de regressão linear é mencionada abaixo -
Etapas para projetar um algoritmo de regressão linear
Agora aprenderemos sobre as etapas que ajudam no projeto de um algoritmo de regressão linear.
Passo 1
É importante importar os módulos necessários para traçar o módulo de regressão linear. Começamos a importar a biblioteca Python NumPy e Matplotlib.
import numpy as np
import matplotlib.pyplot as plt
Passo 2
Defina o número de coeficientes necessários para a regressão logística.
number_of_points = 500
x_point = []
y_point = []
a = 0.22
b = 0.78
etapa 3
Repita as variáveis para gerar 300 pontos aleatórios em torno da equação de regressão -
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])
Passo 4
Veja os pontos gerados usando Matplotlib.
fplt.plot(x_point,y_point, 'o', label = 'Input Data') plt.legend() plt.show()
O código completo para regressão logística é o seguinte -
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()
O número de pontos considerados como entrada é considerado como dados de entrada.