使用飞桨重写房价预测模型篇(代码详解)
设计思路
图1:设计思路
#加载飞桨、Numpy和相关类库
import paddle
import paddle.fluid as fluid # fluid液体
import paddle.fluid.dygraph as dygraph # 动态图
from paddle.fluid.dygraph import Linear
import numpy as np
import os
import random
1.数据处理
def load_data():
# 从文件导入数据
datafile = './work/housing.data'
data = np.fromfile(datafile, sep=' ')
# 每条数据包括14项,其中前面13项是影响因素,第14项是相应的房屋价格中位数
feature_names = [ 'CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', \
'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV' ]
feature_num = len(feature_names)
# 将原始数据进行Reshape,变成[N, 14]这样的形状
data = data.reshape([data.shape[0] // feature_num, feature_num])
# 将原数据集拆分成训练集和测试集
# 这里使用80%的数据做训练,20%的数据做测试
# 测试集和训练集必须是没有交集的
ratio = 0.8
offset = int(data.shape[0] * ratio)
training_data = data[:offset]
# 计算train数据集的最大值,最小值,平均值
maximums, minimums, avgs = training_data.max(axis=0), training_data.min(axis=0), \
training_data.sum(axis=0) / training_data.shape[0]
# 记录数据的归一化参数,在预测时对数据做归一化
global max_values # 全局变量global 可以在函数体外定义和赋值的变量

本文详述了使用飞桨框架重构房价预测模型的过程,包括数据处理、模型设计、训练配置和训练过程。重点介绍了训练配置的四步流程及二层循环的训练方法。最后,讨论了模型保存和测试的原因及其在实际应用中的意义,并提供了测试模型的三个步骤。
最低0.47元/天 解锁文章
4697

被折叠的 条评论
为什么被折叠?



