全文链接:http://tecdat.cn/?p=21467
相关视频
目的
人们得到更多的资源(薪水),期望有更好的房子
人口众多
独生子女政策:如何影响房子的几何结构?更多的卧室,更多的空间
我核心的想法是预测房价。然而,我不打算使用任何arima模型;相反,我将使用数据的特性逐年拟合回归。
结构如下:
数据准备:将数值特征转换为分类;缺失值
EDA:对于数值特征和分类特征:平均价格与这些特征的表现
建模:
分割训练/测试给定年份的数据:例如,在2000年分割数据;根据这些数据训练回归模型
然后,在2016年之前的所有新年里,预测每套房子的价值。
用于验证的度量将是房屋的平均价格(即每年从测试样本中获得平均价格和预测值)
数据准备
我们对特征有了非常完整的描述:
数据清理、特征创建
从最初的数据看:
从网址上,我发现它有位置信息,如chengjiao/101084782030。同样,一个简单的regexp进行省特征提取。
另一个大的数据准备工作是转换一些数字特征,比如地铁,地铁站附近的房子编码为1,相反的情况编码为0。
还有很大一部分DOM缺失。我既不能在建模中使用这个特性,也不能删除NA,但它也会减小数据帧的大小。
检查缺失
如上所述,DOM的很大一部分丢失了。我决定先保留这个特性,然后用中间值来填充缺失的值(分布是非常倾斜的)
否则,buildingType和communityAverage(pop.)中只有几个缺少的值,我决定简单地删除这些值。事实上,它们只占了约30行,而整个数据集的数据量为300k+,因此损失不会太大。
下面我简单地删除了我以后不打算使用的特征。
用于将数字转换为类别的自定义函数
对于某些特征,需要一个函数来处理多个标签,对于其他一些特征(客厅、客厅和浴室),转换非常简单。
似乎buildingType具有错误的编码数字值:
由于错误的编码值和NA的数量很少,因此我将再次丢弃这些行
缺失值检察
插补后的最终检查
探索性分析
由于有数字和分类特征,我将使用的EDA技术有:
数值:相关矩阵
分类:箱线图和地图
我们必须关注价格(单位价格/单位价格)以及总价格(百万元)
totalPrice将是回归模型的目标变量。
数值特征
评论
totalPrice与communityAverage有很强的正相关关系,即人口密集区的房价较高
totalPrice与客厅、卫浴室数量有一定的正相关关系。
至于面积变量,我们看到它与上述变量也有很强的相关性:这是有道理的,因为如果房子的面积大,可以建造更多的房间(显而易见)。
其他一些有趣的相关性:communityAverage与建筑时间呈负相关,这意味着在人口密集区建房所需的时间更短
分类特征
地图
中国三级(省)地图
我看了看城郊,它位于北京附近,所以我过滤了那个特定省份的地图
建筑结构
领取专属 10元无门槛券
私享最新 技术干货