深度学习——入门经典案例《波士顿房价预测》深度解析

一、深度学习

机器学习算法理论在上个世纪90年代发展成熟,在许多领域都取得了成功应用。但平静的日子只延续到2010年左右,随着大数据的涌现和计算机算力提升,深度学习模型异军突起,极大改变了机器学习的应用格局。今天,多数机器学习任务都可以使用深度学习模型解决,尤其在在语音、计算机视觉和自然语言处理等领域,深度学习模型的效果比传统机器学习算法有显著提升。

有关机器学习、深度学习的详细介绍及其之间的联系可查看下方链接
https://www.paddlepaddle.org.cn/tutorials/projectdetail/328689

二、《波士顿房价预测》案例详解

项目完整代码和数据集已经上传,点击链接查看
https://github.com/Narutoooooooo/boston-house-price-forecast

  1. 前提说明

    数据详情:
    在这里插入图片描述
    构建波士顿房价预测任务的神经网络模型步骤:
    在这里插入图片描述

  2. 数据处理
    数据处理包含五个部分:数据导入、数据形状变换、数据集划分、数据归一化处理和封装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) / \
    
  • 17
    点赞
  • 151
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
深度学习可以用于波士顿房价预测。以下是一个使用深度学习模型进行波士顿房价预测的示例: ```python import numpy as np from tensorflow.keras.datasets import boston_housing from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense # 加载波士顿房价数据集 (train_data, train_targets), (test_data, test_targets) = boston_housing.load_data() # 数据标准化 mean = train_data.mean(axis=0) std = train_data.std(axis=0) train_data = (train_data - mean) / std test_data = (test_data - mean) / std # 构建模型 model = Sequential() model.add(Dense(64, activation='relu', input_shape=(train_data.shape[1],))) model.add(Dense(64, activation='relu')) model.add(Dense(1)) # 编译模型 model.compile(optimizer='rmsprop', loss='mse', metrics=['mae']) # 训练模型 model.fit(train_data, train_targets, epochs=100, batch_size=1, verbose=0) # 在测试集上评估模型 test_mse_score, test_mae_score = model.evaluate(test_data, test_targets) # 预测房价 predictions = model.predict(test_data) # 打印预测结果 for i in range(10): print("预测房价: ", predictions[i][0], "实际房价: ", test_targets[i]) ``` 这个示例中,我们使用了波士顿房价数据集,将数据标准化后构建了一个包含两个隐藏层的神经网络模型。模型使用均方误差(MSE)作为损失函数,并使用均方误差(MAE)作为评估指标。我们训练模型并在测试集上评估模型的性能,最后使用模型进行房价预测并打印预测结果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值