TensorFlow - Regressione lineare
In questo capitolo, ci concentreremo sull'esempio di base dell'implementazione della regressione lineare utilizzando TensorFlow. La regressione logistica o regressione lineare è un approccio di apprendimento automatico supervisionato per la classificazione di categorie discrete di ordine. Il nostro obiettivo in questo capitolo è costruire un modello in base al quale un utente possa prevedere la relazione tra variabili predittive e una o più variabili indipendenti.
La relazione tra queste due variabili è considerata lineare. Se y è la variabile dipendente e x è considerata la variabile indipendente, la relazione di regressione lineare di due variabili sarà simile alla seguente equazione:
Y = Ax+b
Progetteremo un algoritmo per la regressione lineare. Questo ci permetterà di comprendere i seguenti due importanti concetti:
- Funzione di costo
- Algoritmi di discesa del gradiente
La rappresentazione schematica della regressione lineare è menzionata di seguito:
La vista grafica dell'equazione della regressione lineare è menzionata di seguito:
Passaggi per progettare un algoritmo per la regressione lineare
Ora impareremo i passaggi che aiutano nella progettazione di un algoritmo per la regressione lineare.
Passo 1
È importante importare i moduli necessari per tracciare il modulo di regressione lineare. Iniziamo importando la libreria Python NumPy e Matplotlib.
import numpy as np
import matplotlib.pyplot as plt
Passo 2
Definire il numero di coefficienti necessari per la regressione logistica.
number_of_points = 500
x_point = []
y_point = []
a = 0.22
b = 0.78
Passaggio 3
Itera le variabili per generare 300 punti casuali attorno all'equazione di regressione -
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])
Passaggio 4
Visualizza i punti generati utilizzando Matplotlib.
fplt.plot(x_point,y_point, 'o', label = 'Input Data') plt.legend() plt.show()
Il codice completo per la regressione logistica è il seguente:
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()
Il numero di punti che viene preso come input è considerato come dati di input.