tensorflow实现线性回归

单变量线性回归x,y

单变量线性回归算法,比如表示学历,f(x)表示收入:
f ( x ) = a x + b f(x) = ax + b f(x)=ax+b
使用f(x)映射输入值和输出值。通过训练来实现预测。
预测目标与损失函数:我们的目标是预测函数f(x)与真实值之间的在整体误差最小。 f ( x ) 预 − f ( x ) 真 f(x)预-f(x)真 f(x)f(x)
但是两者之间的差值,可正可负;那么对应函数可以使用均方差来实现成本函数,也就是预测值和真实值之间差的平方取均值。
优化目标:找到一个合适的a和b,使得(f(x)-y)^2越小越好。

使用tf.keras建立模型

导入数据集,查看散点图

#tf.keras实现线性回归
import tensorflow as tf
print("Tensorflow Version:",tf.__version__)#查看Tensorflow版本
import pandas as pd#引入pandas,导入数据
data = pd.read_csv('./Desktop/csv.csv')
import matplotlib.pyplot as plt#引入plt
%matplotlib inline
#x轴是Education,y轴是Income,scatter(x,y)表示散点图
plt.scatter(data.Education,data.Income)

构建模型->训练->预测

x = data.Education
y = data.Income

#顺序模型
model = tf.keras.Sequential()
#Dense(w,e) w:表示输出维度,e表示输入维度
model.add(tf.keras.layers.Dense(1,input_shape=(1,)))
model.summary()#查看模型结构

#optimizer='adam'表示优化方法,loss='mse'表示损
model.compile(optimizer='adam',loss='mse')
history = model.fit(x,y,epochs=5000)#epochs表示训练次数

#使用model进行预测
model.predict(pd.Series([20]))

这里遗留的问题,优化函数optimizer='adam’和损失函数loss='mse’怎么理解?
使用到的数据集:

	Education	Income
1	10.000000 	26.658839 
2	10.401338 	27.306435 
3	10.842809 	22.132410 
4	11.244147 	21.169841 
5	11.645449 	15.192634 
6	12.086957 	26.398951 
7	12.048829 	17.435307 
8	12.889632 	25.507885 
9	13.290970 	36.884595 
10	13.732441 	39.666109 
11	14.133779 	34.396281 
12	14.635117 	41.497994 
13	14.978589 	44.981575 
14	15.377926 	47.039595 
15	15.779264 	48.252578 
16	16.220736 	57.034251 
17	16.622074 	51.490919 
18	17.023411 	51.336621 
19	17.464883 	57.681998 
20	17.866221 	68.553714 
21	18.267559 	64.310925 
22	18.709030 	68.959009 
23	19.110368 	74.614639 
24	19.511706 	71.867195 
25	19.913043 	76.098135 
26	20.354515 	75.775216 
27	20.755853 	72.486055 
28	21.167191 	77.355021 
29	21.598662 	72.118790 
30	22.000000 	80.260571
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值