本笔记详细记录了使用TensorFlow进行波士顿房价预测的学习过程,涵盖数据预处理、模型构建与训练等环节。
在使用TensorFlow进行波士顿房价预测的学习过程中,我们首先需要导入必要的库:numpy、matplotlib以及tensorflow。
波士顿房价数据集包含了1970年代中期的25个不同教区的数据,每个教区有13项指标(如犯罪率、房产税等),用来统计当时的中位房价。目标是通过这些特征来预测房屋价格,并找出影响房价的关键因素。在本例中,我们将构建一个回归模型。
数据集中的关键变量包括:
- CRIM:犯罪率
- ZN:25000平方英尺以上的住宅区比例
- INDUS:非零售商业用地的比例
- CHAS:查尔斯河边界标志(1为位于河边)
- NOX:一氧化氮浓度
- RM:平均房间数
- AGE:1940年以前建造的房屋所占百分比
- DIS:到五个波士顿就业中心的距离加权和
- RAD:高速公路可达性指数
- TAX:每$10,000财产税率
- PTRATIO:学生与教师比例
- B:(Bk - 0.63)^2的倍数,其中Bk是每个区域黑人人口的比例百分比
- LSTAT:低收入人群所占百分比
目标变量为MEDV(中位房价)。
在本案例中,我们选择“平均房间数”作为预测模型中的一个关键特征。通过调用`boston_housing = tf.keras.datasets.boston_housing.load_data()`加载数据集,并将其划分为训练集和测试集。其中404个样本用于训练,剩下的102个样本则为测试集合。
接下来定义超参数:学习率、迭代次数以及显示结果的频率等。这些设置有助于控制模型的学习过程并监控其性能表现。
初始化阶段包括随机设定权重和偏置值,并使用numpy生成初始数组后通过`tf.Variable()`创建TensorFlow变量,表示网络中的权重(w)与偏置项(b)。另外还定义了用于保存训练及测试集均方误差的两个列表mse_train与mse_test,以便于后续分析。
在模型训练过程中利用自动求导机制实现反向传播算法以更新参数值,最终达到优化目标函数的目的,在这里就是最小化预测房价和实际中位数之间的差异(即均方误差)。
通过迭代指定次数后完成整个训练流程,并评估测试集上性能表现来检验模型泛化的有效性。此过程展示了如何使用TensorFlow从头开始构建一个简单的线性回归模型,以实现对波士顿地区房屋价格的预测功能。