一、深度学习
机器学习算法理论在上个世纪90年代发展成熟,在许多领域都取得了成功应用。但平静的日子只延续到2010年左右,随着大数据的涌现和计算机算力提升,深度学习模型异军突起,极大改变了机器学习的应用格局。今天,多数机器学习任务都可以使用深度学习模型解决,尤其在在语音、计算机视觉和自然语言处理等领域,深度学习模型的效果比传统机器学习算法有显著提升。
有关机器学习、深度学习的详细介绍及其之间的联系可查看下方链接
https://www.paddlepaddle.org.cn/tutorials/projectdetail/328689
二、《波士顿房价预测》案例详解
项目完整代码和数据集已经上传,点击链接查看
https://github.com/Narutoooooooo/boston-house-price-forecast
-
前提说明
数据详情:
构建波士顿房价预测任务的神经网络模型步骤:
-
数据处理
数据处理包含五个部分:数据导入、数据形状变换、数据集划分、数据归一化处理和封装load data函数。
数据预处理后,才能被模型调用。数据归一化参考https://blog.csdn.net/program_developer/article/details/78637711
实现代码如下:
import numpy as np import matplotlib.pyplot as plt def load_data(): # 读取以空格分开的文件,变成一个连续的数组 firstdata = np.fromfile('housing.data', sep=' ') # 添加属性 feature_names = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV'] # 列的长度 feature_num = len(feature_names) # print(firstdata.shape) 输出结果:(7084, ) # print(firstdata.shape[0] // feature_nums) 输出结果:506 # 构造506*14的二维数组 data = firstdata.reshape([firstdata.shape[0] // feature_num, feature_num]) # 将数据集划分成训练集和测试集,其中训练集用于确定模型的参数,测试集用于评判模型的效果。 # 训练集设置为总数据的80% ratio = 0.8 offset = int(data.shape[0] * ratio) training_data = data[:offset] # print(training_data.shape) # axis=0表示列 # axis=1表示行 # \表示换行,无需输入 maximums, minimums, avgs = training_data.max(axis=0), training_data.min(axis=0), training_data.sum(axis=0) / \