【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:

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