第一次参加kaggle比赛,得分为0.11356,排名在前4%
问题描述:
基于kaggle网站所提供的爱荷华州埃姆斯的住宅数据信息,预测每间房屋的销售价格,数据的标签SalePrice是连续性数据,因此可以判定这是一个回归问题。
最终目标:预测每一个房屋的销售价格。对于测试集中的每个ID,预测SalePrice变量的值
判定标准:根据预测值的对数与观察到的销售价格的对数之间的均方根误差(RMSE)评估提交的内容(采取对数意味着预测昂贵房屋和廉价房屋的错误将同等影响结果).
数据描述:
数据来源于kaggle网站。数据分为训练数据集和测试数据集。两个数据集都包括每栋房⼦的特征,如街道类型、建造年份、房顶类型、地下室状况等特征值。这些特征值有连续的数字、离散的标签甚⾄是缺失值“na”。只有训练数据集包括了每栋房⼦的价格,也就是标签。
训练数据和测试数据分别各有1460条,数据的特征列有79个,期中35个是数值类型的,44个类别类型
总体的步骤为:
导入各种包
import torch
import torch.nn as nn
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import norm
from scipy import stats
import sys
sys.path.append("..")
import d2lzh_pytorch as d2l
print(torch.__version__)
torch.set_default_tensor_type(torch.FloatTensor)
读取数据
##训练集
train_data=pd.read_csv(open('D:/Desktop/深度学习基础/期中论文/数据/train.csv'))
##测试集
test_data=pd.read_csv(open('D:/Desktop/深度学习基础/期中论文/数据/test.csv'))
数据可视化
#查看自变量与因变量的相关性
fig = plt.figure(figsize=(14,8))
abs(train_data.corr()['SalePrice']).sort_values(ascending=False).plot.bar()
plt.xticks(fontsize=20)
plt.yticks(fontsize=20)
由上图可以发现有10个变量与因变量的相关性大于0.5,分别是:
- OverallQual 房屋设施的完整性
- GrLivArea 居住面积
- GarageCars 车库
- GarageArea 车库面积
- TotalBsmtSF 地下室大小
- 1stFlrSF 1楼面积
- FullBath 厕所面积
- TotRmsAbvGrd 地面上的房间数量
- YearBuilt 建造年份
- YearRemodAdd 重建年份
#查看因变量是否符合正态分布
sns.distplot(train_data['SalePrice'],fit=norm)
sns.distplot(np.log(train_data['SalePrice']),fit=norm)#取对数后的

