广州租房数据分析
又到了一年一度的换租房的季节,在广州,想要找到一处好一点的租房真心不容易,不是采光不好,就是价格太贵,怎么才能找到合适自己的房子呢?于是我利用“造数”这个爬虫工具爬取了安居客网的广州租房的数据,通过分析,期望能找到合适的租房。
一、数据的获取
首先是数据的获取,这里我使用的是一个免费的爬虫工具“造数”,相关的使用方法在该平台上有详细教程,这里就不再赘述。今天要爬取的网站是安居客网的租房数据,页面是这样的:
安居客的网站页面如图红框中所示,本次爬取的数据包含了小区名称、户型、面积、区域、朝向、租住形式、楼层高度等信息,爬取出来的数据是这样子,共计5346行
爬取出来的数据二、数据的清洗
1、预处理
将数据表通过Navicat导入到MySQL中,在字段中增加单价一列,
#增加单价这一列
ALTER TABLE house
ADD COLUMN 单价int(4) NULL;
UPDATE house SET 单价 = (select round(月租/面积))
MySQL中的数据表2、缺失值的处理
1)“小区”这个字段中的缺失值的行总共6行,考虑到总数据有5346行,占比约为0.1%,且该字段重要性较低,此处选择不处理;
#去除小区为空的值
DELETE from house where 小区isnull
2)“单价”这个字段中,单价等于1元/(㎡*月)的值有4个,缺失率低,查询广州各区的平均租房情况,租房单价1元/(㎡*月)的情况不现实,考虑此字段重要性较高,故选择根据该区的平均单价进行均值填充;
3)“区域”这个字段中含有广州周边城市如佛山、东莞等城市,这样的字段总共有8个,不属于分析的对象,选择剔除这些值;
#去除字段“区域”中非广州地区的数据 8
DELETE from house where 区域like '%周边'
4)“租住形式”这个字段中,由于“合租”这个形式不能反映住房的具体价格情况,此处不属于分析的对象,共计16个,应该从结果中剔除掉,同时,由于剩下的数据均为“整租”形式,该字段没有分析的意义,故应该同时把该字段删除。
#去掉“租住形式”这一字段
alter table house drop column 租住形式
5)为了对房屋面积、单价和月租这样的连续属性进行分组,我在数据集里面增加了四列,分别是面积分组、月租分组和单价分组。
三、数据的概况与分析
1、户型分布
代码户型分布图
我们发现,只有少数几种户型的数量比较多,其余的都很少,这并不是正态分布,而是比较严重的偏态分布,属于长尾分布,所以,在这里,我们考虑将套数在50以下的户型统一归为一类,命名为“其他”。
代码 户型分布图广州租房中房源最多的户型是3室2厅型,而且是远远高于其他,这与当下很多年轻人几个人合租一套大方(3室2厅)的现象相适应,当然也有可能是提供房源的房东有钱,买的就是这种大房。
2、租房面积分布
代码 面积分布图我们发现,实际上面积范围在50-100平方米的房源最多,超过50%,其次是100-150平方米范围的房源,约占35%,总体超过85%,结合户型的分布为3室2厅的居多可以知道,广州的租房市场中面积在100平方米左右的房源最多。
3、租房区域的分布
代码 区域分布图房源最多的地区居然是番禺,其次才是天河与荔湾白云这几个区的房源数量紧随其后。从化的租房市场很冷,只有少数几套房源。
4、租金和单价的分布
作为找租房的人来说,房租是一个特别重要的问题,接下来看一下广州的房租分布是怎样的:
代码 月租分布图 代码 单价分布[endif]可以看出,广州的房租租金呈现偏态分布,租金主要集中在2000-5500元/月,而单价的分布也是偏态的分布,租金主要集中在25-65元/(平方米*月)。有趣的是有少数的房子租金达到了2万以上,单价也有到300元/(平方米*月)以上的房源,住这么好的房子的人肯定很有生活品质的追求,反正像这种租这么贵的房我是不可能的,这辈子都不可能租这么贵的房子的。
5、楼层的分布
代码 楼层分布图其中,中层的房源占到了44.66%,高层和低层的都在25%~30%的范围内,这和人们的喜好程度有关,一般来说,顶层的房子冬天冷夏天热,低楼层比较潮湿,吵闹,像这种类型的房子,住起来都不是那么舒服,所以住的人就少了,房源也没那么多了。
6、广州各区的租房单价均价分布
代码 分布图租房每平方米单价最贵的前三名毫无意外地出现在了天河、越秀和海珠这三个主城区,都超过了55元/(平方米*月),天河甚至超过了70元/(平方米*月),而单价最低的是增城区,仅为23元/(平方米*月)左右的单价。
7、广州各区的房租均价分布
代码 分布图由图可知,天河的租金领跑广州,直逼8000元/月的房租真的让人望而生畏。而第二梯队的海珠、白云、越秀、荔湾和番禺这几个区,也均价也在4500-5200元/月之间,并不便宜,考虑到房源主要是3室2厅的大套房,这个价位也算正常。
四、聚类分析
这么多的房子,我们该如何把它们分类呢?即应该把哪些房源归为一类?这里我们就使用简单而快捷的k-means算法实现聚类的工作。但聚类前,需要明确该聚为几类?根据聚类原则:组内差距要小,组间差距要大。我们绘制不同类簇下的组内离差平方和图,聚类过程中,我们选择面积、月租和单价三个数值型变量:
代码 图当把所有样本当作一类时,离差平方和达到最大,随着聚类数量的增加,组内离差平方和会逐渐降低,直到极端情况,每一个样本作为一类,此时组内离差平方和为0。从上图看,聚类数量在5次以上,组内离差平方降低非常缓慢,可以把拐点当作6,即聚为6类。
代码 结果6类房子的数量如上所示。紧接着按照聚类的结果,查看各类中的区域分布:
结果各户型的平均面积:
代码 结果按照聚类结果,比较各类中房子的平均面积和、平均价格和平均单价
代码 结果从平均水平来看,我们大体可以将5300多套房源合成为如下几种说法:
a、单身公寓型(1室1厅、2室1厅),属于第1类。平均面积比较小,精装修,所以单价单价也不低,但总租金比较合理,是白领们喜欢的公寓类型,主要分布在天河、越秀等市中心。
b、豪宅型(4室2厅),属于第2类。租金非常高,典型的区域有番禺、白云等地,租金很高,单价也很高,面积超过了250平方米,是典型的豪宅。
c、大户型(4室2厅、3室2厅),属于第3类。典型的区域有天河、番禺等地等地。
d、地段型(面积适中,租金高),属于第4类。典型的区域是天河市中心,在比较好的商业地段,在地铁口的可能性也比较高。
e、大众蜗居型(房源最多,是租房的主流),属于第5类,典型的区域是番禺、荔湾、花都等城郊区域,租金相对来说比较合适,居住条件也相对比较好,是租房人中最青睐的类型。
|f、精装小户型(面积较小,租金较低),属于第六类,典型的区域有天河、白云、荔湾、海珠,在海珠和天河的该房类型一般为城中村房经过装修后的,房源也相对来说比较多,是毕业生的首选。
最后绘制面积与单价的散点图,并按聚类进行划分:
代码 面积单价散点图五、总结
通过分析之后得到,租房市场中,比较适合刚毕业不久的学生的房子类型是精装小户型,这样的房子,主要分布在天河、白云、荔湾、海珠,在海珠和天河的该房类型一般为城中村房,相对来说,天河和海珠的居住条件差了些,但好在交通便利,如果不能接受居住条件差一些的,那就需要去到白云和荔湾区区找了,好在现在地铁也有,交通也不算不方便,只是在路上会耽搁一些时间,看个人取舍了。今天就到了啦。