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.