tensorflow学习003——tf.keras实现线性回归

2.2 tf.keras实现线性回归

废话不多说,接上一篇机器学习原理——线性回归,直接上可运行代码

点击查看代码
import pandas as pd
import tensorflow as tf
data = pd.read_csv("./dataset/Income1.csv")
x = data.Education #这是Income.csv表格中给出的列名
y = data.Income
model = tf.keras.Sequential()  #创建一个顺序模型
#往模型中添加层 输出只有一个f(x)所以是,输入也只有x,也是一维,所以其元组形式为(1,)
model.add(tf.keras.layers.Dense(1 ,input_shape=(1,)))
#输出模型的结构
print(model.summary()) #如图2-3所示
#进行编译
model.compile(optimizer='adam',loss='mse') #设置优化器和损失函数
#进行训练
history = model.fit(x,y,epochs=10000)  #epochs表示对所有的数据训练的次数 x y分别是训练的数据的输入和输出
#使用训练的模型进行预测
print(model.predict(pd.Series([20]))) #因为训练的时候使用的Series,所以预测的时候也一般使用这种格式

image
图2-3
这里的dense层中的输出形状(None,1),None表示输出的个数,如果有一百个数据,那么None就是100.第二个1表示的就是输出的维度是1.
Param是2,表示有两个参数,也就是ax+b中的a,b. b就是表示一个bias,也即是一个截距,如果不想要这个bias,可以在dense()层中将use_bias设置成False. 其中的a是一个权重

image
图2-4
在训练的过程中,我们可以看到loss的值越来越小,也就是拟合效果越来越好,这设计到优化器和loss函数的计算方式

posted @ 2021-11-14 10:54  白菜茄子  阅读(117)  评论(0编辑  收藏  举报