波士顿房价数据集——预测房价

本文介绍了一个使用波士顿房价数据集进行预测的案例,包括数据集简介、数据标准化、构建小型神经网络、K折交叉验证评估模型以及防止过拟合的方法。通过训练,模型的平均绝对误差约为2780美元。
摘要由CSDN通过智能技术生成

1.数据集及问题简介

20 世纪70 年代中期波士顿郊区房屋价格数据集,它包含的数据点相对较少,只有506 个,分为404 个训练样本和102 个测试样本。输入数据的每个特征(比如犯罪率)都有不同的取值范围。例如,有些特性是比例,取值范围为0-1;有的取值范围为1-12;还有的取值范围为0~100,等等。

我们将要预测当时该地区房屋价格的中位数,这是一个回归问题。

分类问题,其目标是预测输入数据点所对应的单一离散的标签。另一种常见的机器学习问题是回归问题,它预测一个连续值而不是离散的标签,例如,根据气象数据预测明天的气温,或者根据软件说明书预测完成软件项目所需要的时间。

2.加载数据集并探索数据

from keras.datasets import boston_housing

(train_data, train_targets), (test_data, test_targets) = boston_housing.load_data()

print(train_data.shape) # (404, 13)
print(test_data.shape) #(102, 13)
print(train_targets) #array([ 15.2, 42.3, 50. ... 19.4, 19.4, 29.1])

#【房价大都在 10000~50000 美元】

简单了解各属性的意义:

import pandas as pd

train = pd.DataFrame(train_data)
train.columns=['crim','zn','indus','chas','nox','rm','age','dis','rad','tax','ptratio','b','lstat']
train.columns=['人均犯罪','用地','非商业地','河','环保指标','房间数',
               '老房子比例','dis','交通便利','税率','教师学生比','黑人比','低收入房东比']
train

在这里插入图片描述

3.准备输入的数据

将取值范围差异很大的数据输入到神经网络中,这是有问题的。网络可能会自动适应这种取值范围不同的数据,但学习肯定变得更加困难。对于这种数据,普遍采用的最佳实践是对每个特征做标准化,即对于输入数据的每个特征(输入数据矩阵中的列),减去特征平均值,再除以标准差,这样得到的特征平均值为0,标准差为1。用Numpy 可以很容易实现标准化。

#【1】求每一列的平均值
mean = train_data.mean(axis=0) 
#【2】减去平均值
train_data -= mean
#【3】求每一列的标准差
std = train_data.std(axis=0)
#【4】除以标准差
train_data 
  • 4
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
波士顿房价数据集是一个经典的机器学习案例,可以用来预测波士顿地区房屋价格。如果你想使用MATLAB进行相关的研究或建模,可以按照以下步骤进行: 1. 准备数据集:首先,你需要获取波士顿房价数据集。这个数据集可以在MATLAB自带的示例数据集中找到,名为"boston"。你可以使用命令`load boston`加载数据。 2. 数据预处理:在进行建模之前,通常需要对数据进行预处理。这可能包括特征缩放、去除异常值、处理缺失值等。你可以使用MATLAB的数据处理工具和函数来完成这些任务。 3. 特征工程:根据你的需求,可能需要对原始特征进行一些转换或提取新的特征。例如,你可以添加多项式特征、交互项等。MATLAB提供了许多函数和工具箱来辅助特征工程。 4. 模型选择和训练:选择适合问题的机器学习模型并进行训练。在波士顿房价预测中,常用的模型包括线性回归、决策树、支持向量机等。MATLAB提供了各种机器学习工具箱,可以帮助你选择和训练合适的模型。 5. 模型评估:使用评估指标(如均方误差、决定系数等)来评估模型的性能。你可以使用交叉验证等技术来更准确地评估模型的泛化能力。 6. 模型应用:在完成模型的训练和评估后,你可以使用该模型进行波士顿房价预测。输入新的特征数据,模型将给出对应的房价预测结果。 希望这些步骤对你有帮助!如果你有其他问题,可以继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值