上次我们爬取了五八二手车数据,文章链接:
获取的数据如下:
今天我们就用这份数据,根据新车报价,行驶里程,上牌时间,排量,变速箱,排放标准这些字段,对交易价做一个预测分析。
环境配置
1.Pandas 库用于读取和分析csv文本
2.Numpy 库用于一些基本的矩阵操作
3.TensorFlow 2.0 库用于创建一个小型的全 连接神经网络
4.Matplotlib 库用于绘图
5.Scikit-learn 库用于数据集切分
我们使用的库,环境是基于 anaconda 的,在其中安装,更换镜像安装可参考:
更换镜像后直接 pip 安装即可。
start
小编使用的 jupyter notebook 环境。
通过 pd.read_csv 就可以读取一个 csv 文件,输出我们读取的 DataFrame。
使用head(5)来观察一下前5个样本的样子:
链接,交易地址,名称是不需要的,需要把他们删掉;同时排放标准,变速箱以及排量需要我们额外编码,把他们变成数字以便训练模型:
下一步就是定义一个模型,我们使用 tensorflow.keras 模型快速实现一个全连接层模型。
全连接网络可以学习数据之间的关联,用于对新的数据做出推断:
接下来开始训练,训练之前需要把数据进行一个归一化操作,就是减去均值再除以标准差,使我们的样本符合一个正态分布,更有益于损失函数的收敛:
使用 matplotlib 画出损失函数的图像,可以看到,训练过程中是持续下降的,没有出现震荡,说明此模型是可以使用的:
下图是预测测试集和真实值得对比:
上图的数据只显示了 20 条,基本都差在 2w 元以内,十分接近真实值了。