原文链接:http://tecdat.cn/?p=21467
目的
房价有关的数据可能反映了中国近年来的变化:
人们得到更多的资源(薪水),期望有更好的房子
人口众多
独生子女政策:如何影响房子的几何结构?更多的卧室,更多的空间
我核心的想法是预测房价。然而,我不打算使用任何arima模型;相反,我将使用数据的特性逐年拟合回归。
结构如下:
数据准备:将数值特征转换为分类;缺失值
EDA:对于数值特征和分类特征:平均价格与这些特征的表现
建模:
分割训练/测试给定年份的数据:例如,在2000年分割数据;根据这些数据训练回归模型
然后,在2016年之前的所有新年里,预测每套房子的价值。
用于验证的度量将是房屋的平均价格(即每年从测试样本中获得平均价格和预测值)
数据准备
我们对特征有了非常完整的描述:
url:获取数据(字符)的url
id:id(字符)
Lng:和Lat坐标,使用BD09协议。(数字)
Cid:社区id(数字)
交易时间:交易时间(字符)
DOM:市场活跃日。(数字)
关注者:交易后的人数。(数字)
总价:(数值)
价格:按平方计算的平均价格(数值)
面积:房屋的平方(数字)
起居室
数(字符)
客厅
数(字符)
厨房:厨房数量(数字)
浴室数量(字符)
房子高度
建筑类型:包括塔楼(1)、平房(2)、板塔组合(3)、板(4)(数值)
施工时间
装修:包括其他(1)、粗(2)、简单(3)、精装(4)(数值)
建筑结构:包括未清(1)、混合(2)、砖和木(3)、砖混凝土(4)、钢(5)和钢-混凝土复合材料(6)(数值)
梯梯比:同层居民数与电梯数量的比例。
电梯有(1)或没有电梯(0)(数值)
五年期:业主拥有不到5年的财产(数字)
数据清理、特征创建
从最初的数据看:
从网址上,我发现它有位置信息,如chengjiao/101084782030。同样,一个简单的regexp进行省特征提取。
另一个大的数据准备工作是转换一些数字特征,比如地铁,地铁站附近的房子编码为1,相反的情况编码为0。
还有很大一部分DOM缺失。我既不能在建模中使用这个特性,也不能删除NA,但它也会减小数据帧的大小。
#从网址中提取省份
sapply(df$url, function(x) strsplit(x,'/')[[1]][4])
检查缺失
#缺失数据图
ggplot(data = .,aes(x = V2, y = V1)) + geom_tile(aes(fill = value )) +
如上所述,DOM的很大一部分丢失了。我决定先保留这个特性&