最近在工作中遇到了某些小城市缺少房价数据的问题,除了最直接买来数据以外,也尝试用机器学习对缺失的房价做些补充。本博客先对一些准备工作做些说明,下篇介绍结果如何。
数据准备
地理范围
上海、武汉、厦门、重庆等十六个城市的街道办数据
指标数据
各年龄段(14岁以下、15-64、65岁以上)人口数据
产业(第一产业、第二产业、第三产业)及第三产业再分类数据
交通(公共交通、自驾、路口数量)数据
POI(医院、学校、景观、工厂、商业、办公、住宅)数据
消费水平数据
最近一个月街道办房均价数据
![](/content/images/2017/03/QQ20170324-0-2x.png)
人口数据示例
数据预处理
对某些字段中的缺失数据用该城市该字段值中位数补充。
算法准备
机器学习算法有很多种,如C4.5、SVM、EM、Adaboost等,因对高维数据处理、抗噪声、简易度等方面更有优势,本文选取了随机森林(Random Forest)算法。
随机森林算法介绍
随机森林是基于决策树的算法,其用随机方式建立一个森林,森林由很多决策树组成,每个决策树之间没有关联。在有新样本进入时,就让森林中的每一棵决策树分别进行判断,看看这个样本应该属于哪一类(对于分类算法),然后看看哪一类被选择最多,就预测这个样本为那一类。随机森林中的每个决策树都类似于某一领域的专家,并对新问题从不同角度打分,最终综合所有决策树评分得到最终评分。
环境准备
开发语言:python
结语
前期准备就是这些,后面介绍结果怎么样。