Kaggle入门级赛题:房价预测——数据分析篇
本次分享的项目来自 Kaggle 的经典赛题:房价预测。分为数据分析和数据挖掘两部分介绍。本篇为数据分析篇。
影响房价的因素有很多,在本题的数据集中有 79 个变量几乎描述了爱荷华州艾姆斯 (Ames, Iowa) 住宅的方方面面,要求预测最终的房价。
特征工程 (Creative feature engineering)
回归模型 (Advanced regression techniques like random forest and
gradient boosting)
预测出每间房屋的价格,对于测试集中的每一个,给出变量相应的值。
首先我们导入数据并查看:
我们可以看到有 80 列,也就是有 79 个特征。
接下来将训练集和测试集合并在一起,这么做是为了进行数据预处理的时候更加方便,让测试集和训练集的特征变换为相同的格式,等预处理进行完之后,再把他们分隔开。
我们知道作为我们的训练目标,只出现在训练集中,不出现在测试集,因此我们需要把这一列拿出来再进行合并。在拿出这一列前,我们先来观察它,看看它长什么样子,也就是查看它的分布。
因为本身并不平滑,为了我们分类器的学习更加准确,我们需要首先把给平滑化(正态化)。我在这里使用的是, 也就是 。要注意的是我们这一步把数据平滑化了,在最后算结果的时候,还要把预测到的平滑数据给变回去,那么的反函数就是,后面用到时再具体细说。
然后我们把这一列拿出来:
有
这时,就是那一列。
然后我们把两个数据集合并起来:
查看:
就是我们合并之后的DataFrame。
根据 kaggle 给出的说明,有以下特征及其说明:
接下来我们对特征进行分析。上述列出了一个目标变量和 79 个特征,数量较多,这一步的特征分析是为了之后的特征工程做准备。
我们来查看哪些特征存在缺失值:
这样并不方便观察,我们先查看缺失值最多的 10 个特征:
为了更清楚的表示,我们用缺失率来考察缺失情况:
对其进行可视化:
我们可以看到PoolQC、MiscFeature、Alley、Fence、FireplaceQu 等特征存在大量缺失,LotFrontage 有 16.7% 的缺失率,GarageType、GarageFinish、GarageQual 和 GarageCond等缺失率相近,这些特征有的是 category 数据,有的是 numerical 数据,对它们的缺失值如何处理,将在关于特征工程的部分给出。
最后,我们对每个特征进行相关性分析,查看热力图:
我们看到有些特征相关性大,容易造成过拟合现象,因此需要进行剔除。在下一篇的数据挖掘篇我们来对这些特征进行处理并训练模型。
不足之处,欢迎指正。








版权说明:
1.版权归本网站或原作者所有;
2.未经本网或原作者允许不得转载本文内容,否则将视为侵权;
3.转载或者引用本文内容请注明来源及原作者;
4.对于不遵守此声明或者其他违法使用本文内容者,本人依法保留追究权等。