使用深度学习预测房价

波士顿房价预测是一个经典的机器学习任务,类似于程序员世界的“Hello World”。与大家对房价的普遍认知基本相同,波士顿地区的房价受诸多因素影响。该数据集统计了13种可能影响房价的因素和该类型房屋的均价,期望构建一个基于13个因素进行房价预测的模型,如 图1 所示。

对于预测问题,可以根据预测输出的类型是连续的实数值,还是离散的标签,区分为回归任务和分类任务。因为房价是一个连续值,所以房价预测显然是一个回归任务。下面我们尝试用最简单的线性回归模型解决这个问题,并用神经网络来实现这个模型。

线性回归模型

在之前的文章中,我们详细地讲过线性回归的模型及计算公式,只不过,当时我们用的是模拟数据。文章详细请见《DJL-Java动手学深度学习之线性回归实现

数据处理封装

为了数据加载方便,在这里,我把二维表格类数据进行了简单封装,可以方便地把一份数据通过比例切分成训练集和验证集,并通一做归一化处理《DJL-Java开发者动手学深度学习之归一化处理及源代码
》。详细代码如下:

ublic class DataPoint {
   
	private NDArray data;
	private NDArray trainingData;
	private NDArray testData;

	private NDArray lable;
	private NDArray trainingLable;
	private NDArray testLable;

	private float ratio = 0.8F;

	private MinMaxScaler dataScaler = new MinMaxScaler();
	
	public DataPoint(NDArray data) {
   
		this(data, 0.8F);
	}

	public DataPoint(NDArray data, float ration) {
   
		this.ratio = ration;
		this.data = data;
	}
	
	public DataPoint fit() {
   
		System.out.println(data.getShape().get(0));
		
		data = dataScaler.transform(data);//归一化
		System.out.println(dataScaler.getMax());
		System.out.println(dataScaler.getMin());
		
		lable = data.get(":,-1:"); //最后一列
		
		data = data.get(":,:-1")
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值