TensorFlow線性回歸


在本章中,將重點介紹使用TensorFlow進行線性回歸實現的基本範例。邏輯回歸或線性回歸是用於對離散類別進行分類的監督機器學習方法。在本章中的目標是構建一個模型,使用者可以通過該模型預測預測變數與一個或多個自變數之間的關係。

這兩個變數之間的關係是線性的。如果y是因變數x的變化而變化,那麼可將x認為是自變數,那麼兩個變數的線性回歸關係將如下式所示:

Y = Ax+b

接下來將設計一種線性回歸演算法。需要了解以下兩個重要概念 -

  • 成本函式
  • 梯度下降演算法

線性回歸的示意圖如下所述 -

線性回歸

線性回歸方程的圖形檢視如下所述 -

線性回歸方程

設計線性回歸演算法的步驟

我們現在來看看設計線性回歸演算法的步驟。

第1步

匯入繪製線性回歸模組所需的模組非常重要。開始匯入Python庫NumPy和Matplotlib。

import numpy as np 
import matplotlib.pyplot as plt

第2步

定義邏輯回歸所需的系數數量。

number_of_points = 500 
x_point = [] 
y_point = [] 
a = 0.22 
b = 0.78

第3步

疊代變數以在回歸方程周圍生成300個隨機點 -

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])

第4步

使用Matplotlib檢視生成的點。

fplt.plot(x_point,y_point, 'o', label = 'Input Data') plt.legend() plt.show()

邏輯回歸的完整程式碼如下 -

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()

輸入的點數視為輸入資料 -