tensorflow2.0——波士顿房价数据与房间数关系的预测

Posted cxhzy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tensorflow2.0——波士顿房价数据与房间数关系的预测相关的知识,希望对你有一定的参考价值。

import tensorflow as tf
import matplotlib.pylab as plt
import numpy as np

# 调用数据
boston_house = tf.keras.datasets.boston_housing
(train_x, train_y), (test_x, test_y) = boston_house.load_data(test_split=0.1)
room_num = train_x[:, 5]                # 房间数
price = train_y                         # 标记值
w = tf.Variable(np.random.randn())      # 系数W
b = tf.Variable(np.random.randn())      # 偏置b
iter = 1000                             # 迭代次数
learn_rate = 0.0001                     # 学习率
loss_list = []                          #   存放loss值
for i in range(iter):
    with tf.GradientTape() as tape:
        price_pre = w * room_num + b
        loss = pow(tf.reduce_mean(price - price_pre), 2) / 2
    dloss_dw, dloss_db = tape.gradient(loss, [w, b])                #   求偏导
    w.assign_sub(learn_rate * dloss_dw)                             #   更新参数w
    w.assign_sub(learn_rate * dloss_db)
    if i % 100 == 0:
        print(i:, i)
        print(loss:{},w:{}.format(loss, w))
        loss_list.append(loss)

plt.rcParams["font.family"] = SimHei              # 将字体改为中文
plt.rcParams[axes.unicode_minus] = False          # 设置了中文字体默认后,坐标的"-"号无法显示,设置这个参数就可以避免
plt.subplot(221)
plt.plot(loss_list, label=训练集损失值)
plt.legend()

plt.subplot(223)
test_room = test_x[:,5]
pre_y = w * test_room+ b
plt.plot(test_room, pre_y, label=预测线)
plt.scatter(test_room ,test_y,s = 2)
plt.legend()
plt.show()

技术图片

 

以上是关于tensorflow2.0——波士顿房价数据与房间数关系的预测的主要内容,如果未能解决你的问题,请参考以下文章

线性回归预测波士顿房价

波士顿房价处理

多层感知器波士顿房价预测

回归模型与房价预测

基于集成算法投票的波士顿房价数据集回归问题

机器学习算法:波士顿房价预测 | 黑马程序员