当前位置:   article > 正文

使用深度学习预测房价_基于深度学习的房价预测系统设计 精确度r2大于0.8

基于深度学习的房价预测系统设计 精确度r2大于0.8

波士顿房价预测是一个经典的机器学习任务,类似于程序员世界的“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")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/762232
推荐阅读
相关标签
  

闽ICP备14008679号