赞
踩
波士顿房价预测是一个经典的机器学习任务,类似于程序员世界的“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")
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。