单变量线性回归就是从一个输入值预测一个输出值。输入/输出的对应关系就是一个线性函数。f(x)=ax+b
下面是一个根据学历预测年收入的例子。假设有一个数据集,我们称作训练集,数据集学历值和收入。
x:表示输入变量,也叫特征变量。
y:表示输出变量,也叫目标变量。
import tensorflow as tf
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv(“Income1.csv”)
print(data)
plt.scatter(data.Education, data.Income)
plt.show()
目标:预测函数f(x)与真实值之间的整体误差最小。
如何定义最小误差?
损失函数:使用均方差作为成本函数,也就是预测值和真实值之间差的平方取均值。
优化的目标(y代表实际的收入):找到一个a和b,使得(f(x) — y)²/n越小越好。现在是求解a和b。
如何优化?使用梯度下降算法。
使用Keras实现预测
数据集还是用前面的学历和收入。
import tensorflow as tf
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv(“Income1.csv”)
print(data)
x = data.Education<