论文部分内容阅读
智慧城市的建设旨在解决城市发展过程中遇到的过于依赖人工、设计不够智能、预测不够精确等问题。房地产市场健康发展是智慧城市建设过程中与社会民生切实相关的重要组成部分。一方面,传统上房价评估依赖专业人士进行分析,凭借他们的经验和领域知识,进行主观分析,因而不能客观的评价出房屋的真实价格而且人工成本较高。另一方面,在早期城市信息化建设过程中,政府单位会根据需求建立房产业务系统。但这些业务系统仍存在以下的问题:随着城市规模的不断扩大和需求多样性的进一步丰富,系统的数据量急剧增加,存储空间面临瓶颈;另外这些系统中的数据内部蕴含的十分重要的信息没有被有效挖掘。因此,传统的方法已经无法满足这些需求,研究一个支持大规模存储并能对房屋数据进行有效分析的系统成为解决上述问题的关键。基于以上需求和问题,在特征价格理论、大数据处理技术以及机器学习中的随机森林和线性回归算法基础上,研究和实现了房价评估的存储和分析系统。首先为了给房价评估提供更加准确的属性信息,设计和实现了一个快速的数据采集工具。其次为了解决上述数据量急剧增加的问题,实现了一个基于Hive的房产数据仓库,该数据仓库既可以一次性的将原来数据库中和房价评估有关的数据进行导入,也可以定时将数据库中的数据进行增量导入。接着设计和实现了整套数据的预处理流程,对预处理后的房屋属性特征进行相关性分析,从而去除和房屋价格相关性小的属性。最终得到适合机器学习算法的房屋属性输入数据集。然后在Spark平台上根据特征价格理论构建房价评估的线性回归和随机森林模型,并利用数据仓库中的数据进行多次交叉验证和参数调优,选出能够使评估房价和真实房价之间误差与构建模型所需的时间相平衡的模型参数。同时为了提高访问房价评估结果的性能,设计和实现了一套基于Redis的数据结构和访问接口。最后,将房价评估模型以RESTful WebService的形式发布来方便用户使用。本文在测试验证阶段,首先在虚拟机的基础上搭建了一套大数据处理框架,包括基于Zookeeper的高可用分布式文件系统HDFS、数据ETL工具Sqoop、数据仓库工具Hive、分布式内存计算框架Spark以及结果缓存的内存数据库Redis。实验采用893200条样本数据进行模型训练与调优,实验结果表明随机森林模型比线性回归更加适合房价评估问题。当选择好随机森林的参数后,评估房价和真实房价之间的平均绝对误差低于0.03,两个算法构建模型的时间都在可接受范围之内。由于随机森林可以很好的学习出房屋数据中的特征,所以在真实环境中我们采用了随机森林模型进行房价评估。最后对房价评估的四个模块和性能进行测试,并以表格的形式记录了主要的测试过程,详细的测试结果和评估标准充分表明房价评估需求已经基本完成。