【TensorFlow】—— 使用TensorFlow實現線性迴歸(波士頓房價數據集)

線性迴歸模型

f(x)=ax+bf(x)= ax + b
使用 f(x)f(x) 來映射輸入特徵和輸出值,aa 爲權重,bb 爲偏置。

損失函數:

MSE=1ni=1n(f(x)y)2MSE = \frac{1}{n}\displaystyle \sum^n_{i=1}(f(x)-y)^2

優化目標:

找到合適的 aabb,使得 (f(x)y)²/n(f(x) - y)²/n 越小越好。


大體步驟:

  1. 讀取數據集(此處使用波士頓房價數據集)
  2. 定義變量和模型
  3. 設置超參數、訓練模型
  4. 對模型進行預測評估

讀取數據集:

import tensorflow as tf
from sklearn import datasets
import matplotlib.pyplot as plt
boston = datasets.load_boston()

X = boston.data[:, 5] # 取出房間數量這一特徵
y = boston.target
plt.scatter(X, y)

Output:


定義變量和模型:

model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(1, input_shape=(1,)))
model.summary() # 打印出模型概述信息

Output:

模型概述信息


設置超參數、訓練模型:

model.compile(optimizer='adam', loss='mse') # 選擇優化器adam,損失函數mse
history = model.fit(X, y, epochs=5000) # 訓練模型

Output:


對模型進行預測評估:

print(model.predict(X)) # 預測一下

Output:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章