动手学深度学习:3.16 实战Kaggle比赛:房价预测

本文介绍了如何运用深度学习参与Kaggle的房价预测比赛,概述了预处理数据、构建模型和选择超参数的基本步骤,旨在帮助读者通过实践提升深度学习技能。
摘要由CSDN通过智能技术生成

3.16 实战Kaggle比赛:房价预测

作为深度学习基础篇章的总结,我们将对本章内容学以致用。下面,让我们动手实战一个Kaggle比赛:房价预测。本节将提供未经调优的数据的预处理、模型的设计和超参数的选择。我们希望读者通过动手操作、仔细观察实验现象、认真分析实验结果并不断调整方法,得到令自己满意的结果。

3.16.1 Kaggle比赛

Kaggle是一个著名的供机器学习爱好者交流的平台。图3.7展示了Kaggle网站的首页。为了便于提交结果,需要注册Kaggle账号。

图3.7 Kaggle网站首页

我们可以在房价预测比赛的网页上了解比赛信息和参赛者成绩,也可以下载数据集并提交自己的预测结果。该比赛的网页地址是 https://www.kaggle.com/c/house-prices-advanced-regression-techniques

图3.8 房价预测比赛的网页信息。比赛数据集可通过点击“Data”标签获取
图3.8展示了房价预测比赛的网页信息。

3.16.2 获取和读取数据集

比赛数据分为训练数据集和测试数据集。两个数据集都包括每栋房子的特征,如街道类型、建造年份、房顶类型、地下室状况等特征值。这些特征值有连续的数字、离散的标签甚至是缺失值“na”。只有训练数据集包括了每栋房子的价格,也就是标签。我们可以访问比赛网页,点击图3.8中的“Data”标签,并下载这些数据集。

我们将通过pandas库读入并处理数据。在导入本节需要的包前请确保已安装pandas库,否则请参考下面的代码注释。

# 如果没有安装pandas,则反注释下面一行
# !pip install pandas

%matplotlib inline
import torch
import torch.nn as nn
import numpy as np
import pandas as pd
import sys
sys.path.append("…")
import d2lzh_pytorch as d2l

print(torch.version)
torch.set_default_tensor_type(torch.FloatTensor)Copy to clipboardErrorCopied

假设解压后的数据位于…/…/data/kaggle_house/目录,它包括两个csv文件。下面使用pandas读取这两个文件。

train_data = pd.read_csv(’…/…/data/kaggle_house/train.csv’)
test_data = pd.read_csv(’…/…/data/kaggle_house/test.csv’)
Copy to clipboardErrorCopied

训练数据集包括1460个样本、80个特征和1个标签。

train_data.shape # 输出 (1460, 81)Copy to clipboardErrorCopied

测试数据集包括1459个样本和80个特征。我们需要将测试数据集中每个样本的标签预测出来。

test_data.shape # 输出 (1459, 80)Copy to clipboardErrorCopied

让我们来查看前4个样本的前4个特征、后2个特征和标签(SalePrice):

train_data.iloc[0:4, [0, 1, 2, 3, -3, -2, -1]]Copy to clipboardErrorCopied

可以看到第一个特征是Id,它能帮助模型记住每个训练样本,但难以推广到测试样本,所以我们不使用它来训练。我们将所有的训练数据和测试数据的79个特征按样本连结。

all_features = pd.concat(
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值