一、简要介绍
经典的线性回归模型主要用来预测一些存在着线性关系的数据集。
回归模型可以理解为:存在一个点集,用一条曲线去拟合它分布的过程。如果拟合曲线是一条直线,则称为线性回归。
如果是一条二次曲线,则被称为二次回归。
线性回归是回归模型中最简单的一种。
本示例简要介绍如何用飞桨开源框架,实现波士顿房价预测。
其思路是,假设uci-housing数据集中的房子属性和房价之间的关系可以被属性间的线性组合描述。在模型训练阶段,让假设的预测结果和真实值之间的误差越来越小。在模型预测阶段,预测器会读取训练好的模型,对从未遇见过的房子属性进行房价预测。
二、环境配置
人工智能 框架 paddlepaddle 飞桨 使用指南& 使用例子 线性回归模型demo 详解_paddlepaddle使用岭回归-CSDN博客
三、数据集介绍
本示例采用uci-housing数据集,这是经典线性回归的数据集。数据集共7084条数据,可以拆分成506行,每行14列。前13列用来描述房屋的各种信息,最后一列为该类房屋价格中位数。
前13列用来描述房屋的各种信息
如果找不到可以关注 私信我获取 数据集
3.1 数据处理
#下载数据
!wget https://archive.ics.uci.edu/ml/machine-learning-databases/housing/housing.data -O housing.data
def load_date():
# 从文件导入数据
datafile = './housing.data'
# datafile = 'housing.data'
data = np.fromfile(datafile, sep=' ',dtype=np.float32)
print(data)
feature_names = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE',
'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT','MEDV']
feature_num = len(feature_names)
data = data.reshape([data.shape[0] // feature_num, feature_num])
ratio = 0.8
offset = int(data.shape[0] * ratio)
t