1. 问题描述
根据已知的房价数据,对新的房子进行价格预测。这种属于典型的监督类学习算法。
2. 算法选择以及原理
2.1 算法图
这里我们用一种比较好理解的机器学习算法来进行建模:线性回归。看下面的图,很容易理解,找出一条线对数据点进行拟合使得目标函数最小话,下图是对单变量进行拟合还可以针对多变量进行建模。
2.2 算法公式
第一步:定义拟合曲线。
第二步:转化成矩阵运算,这里的X0就是为了维度增加的。
第三步:计算误差函数,将模型值与真实值进行比较得到误差。
第四步:采用梯度下降进行模型优化,求偏导确定方向,a表示步长,下图理解下。
上面写的是单变量的模型,多变量的模型类似,不做赘述。
3. 使用TensorFlow实现预测算法
3.1 数据可视化
数据说明:自己构造啦[因为没有找到合适的数据],自己造一个三列的数据
import matplotlib.pyplot as plt
from mpl_toolkits import mplot3d
df1 = pd.read_csv('data1.csv', names=['square', 'bedrooms', 'price'])
ig = plt.figure()
# 设置坐标
ax.set_xlabel('square')
ax.set_ylabel('bedrooms')
ax.set_zlabel('price')
ax.scatter3D(df1['square'], df1['bedrooms'], df1['price'], c=df1['price'],