基于django的二手房交易预测及展示系统
摘要
本章主要讲述了一种基于Django的二手房买卖预测和显示软件系统。该系统主要包含了数据采集、预测分析、数据预处理块、模型训练和显示分析。首先,系统使用爬虫收集二手房的买卖数据,并进行数据清洗与预处理。接着,系统通过机器学习算法对数据分析进行训练,并使用预测模型预估二手房交易价格。最后,系统使用展示模板将预期结果以可视化的形态呈现给使用者。
关键词
Django、二手房交易、预测、展示、数据采集
1. 绪论
1.1 项目的名称
我选择的是用Python为语言,用django框架来做的项目,我的项目名称是基于django的二手房交易预测及展示系统。
1.2 研究背景
随着城市化进程的加速,房地产市场也在不断发展,二手房交易市场成为房地产市场的重要组成部分。然而,由于市场信息不对称和交易流程繁琐等问题,二手房交易市场存在着诸多不确定性和风险。因此,通过对二手房交易数据进行分析和预测,可以为买卖双方提供更准确的市场信息和决策原理。
用Django来做二手房交易测试系统,这可以采用爬虫来爬到需要的二手房数据,然后选择采用运用数据挖掘和机器学习算法对数据进行分析和预测,提供房价趋势、交易量等数据指标,帮助用户更加全面地了解市场情况。同时,系统还可以提供房屋信息的展示和比较功能,方便用户进行筛选和决策,促进二手房交易市场的透明度和规范化。
1.3项目的目的与意义
基于django的二手房交易预测及展示系统项目的目的是为买卖双方提供更准确的市场信息和决策依据,促进市场的健康发展。具体来说,该系统可以实现以下目标:
1. 实现二手房交易数据的爬取和存储:通过爬虫技术获取二手房交易数据,并将数据存储到数据库中,为后续的数据分析和预测提供数据源。
2. 实现二手房交易数据的分析功能还有预测功能:我选择采用数据挖掘还有选择采用机器学习的算法来对二手房交易数据进行分析和预测,提供房价趋势、交易量等数据指标,为用户提供更准确的市场信息和决策依据。
3. 实现二手房信息的展示和比较:通过网页界面展示二手房信息,包括房屋位置、面积、价格等信息,同时提供筛选和比较功能,方便用户进行决策。
该系统的意义在于,通过提供准确的市场信息和决策依据,可以降低买卖双方的风险和成本,促进市场的健康发展。同时,通过提高市场透明度和规范化,可以增强市场的公平性和可持续性,为社会经济发展做出贡献。
2.文献资料综述
近年来,二手房交易市场快速发展,相关研究也逐渐增多。一些研究基于机器学习算法预测二手房交易价格,如支持向量回归(SVR)、随机森林(RF)等。同时,一些研究也利用数据可视化技术为用户提供房价分析和预测服务。但是,这些研究大多针对特定城市或地区,并缺乏综合性的系统实现。
Design and Implementation of a Second-Hand Housing Transaction Prediction System Based on Django Framework" (2019) by Minjie Zou, Yaxin Zhang, and Han Zhang.
该论文提出了一种基于Django框架的二手房交易预测系统设计和实现方法。该系统使用了机器学习算法和数据挖掘技术来分析和预测二手房交易趋势。最终,该系统获得了较高的精确度和准确性。
3.设计理念
3.1数据预处理
1.数据集描述
数据集是通过爬虫技术从二手房交易网站上获取的真实数据,具有较高的可信度和代表性。通过对该数据集进行分析和预测,可以为用户提供更准确的市场信息和决策依据,促进二手房交易市场的健康发展。
2.爬虫
为了获取更多的数据,我从原数据集的房屋链接字段爬取房屋的挂牌年月日;从小区链接字段爬取房屋所处小区的具体位置(文字描述)。然后申请百度地图的ak,通过百度地图将文字描述的位置转化为对应的经纬度。
3.相关性分析
通过相关性分析的方式,找出字段之前的关联性。
5.异常值寻找
利用相关性分析,选取相关性高的两个特征(面积和总价),作出两个特征间的散点图
可以看到在最右侧出现面积非常大而价格特别低的点,可以认为这是异常点删去;在最上方也出现面积较小但价格异常高的点,可以认为是异常点删去。
3.2 可视化分析
根据已有的资料数据对相关的进行了分析。
- 中心城区(成华区、青羊区、锦江区、武侯区)单位房价更高。
上方三张图为锦江、武侯、青羊三个中心行政区的总关注人数。
下方三个图为双流、郫都、温江三个较边缘行政区的总关注人数。
可以看到,中心行政区的总关注数要远远大于较边缘的。
- 可以看到城区的中心那些房子在20年开始价格提高。
可以见到区域是不是中心的位置。
- 看到城市中心区起的早
左图为武侯区。我们可以看到,每个区哪个时间段要大于哪个地段。
- 房子的房型的越大,单位价格越高:
这里就看到了面积与价格有关:
通过数据展示我们可以知道了价格随着面积的增大而提高。
3.3价格预测及聚类分析
- 回归决策树
输入:条件算法公式
决策树局部展示:(字段为英文)
- 最优算法选择
回归决策树的效果并不尽如人意,想要做出更精确的预报,我采用了线性回归,KNN,支持向量回归,岭回归Lasso回归,神经网络,决策回归树,极端随机树,xgboost树,随机森林,Adaboost,gradientboost,袋装等算法做出了回归预报,,使用平均绝对误差、均方误差、决定系数作为评价标准,以期选出最优算法。对算法按照评价标准从优到劣排序如下:
最优算法为xgboost
- 聚类分析
首先找出合适的k值。使用轮廓系数和肘方法,作图如下:
经过对比发现聚类结果仅与面积和单价相关,与其它属性(z轴)均无关。因此使用二维图展示聚类结果。
对数据进行观察后,可以对聚类结果做如下分析:
通过的分析就很清楚知道了房子各方面的价格。
3.4可视化页面
可视化的页面很清楚的看到了各项数据的展示:
顶部信息栏:
中央区域:
底部大屏展示区:
3.5卖方价格预测页面
这里很清楚填写信息就能预测到结果。
3.6买方房屋推荐页面
买房推荐页面展示
4. 解决问题的方案
4.1 解决问题的总体方案:
本系统将历史交易数据导入数据库,并通过机器学习算法预测未来的二手房交易价格,同时通过数据可视化技术为用户提供交易趋势分析和预测服务。
4.2 方案的主要部分说明或技术分析:
数据爬取:系统通过爬虫程序获取各大房产中介网站的二手房交易数据,并将其存储到数据库中。
数据的处理:对于爬取到数据进行了清理,以保证数据质量和可靠性。
机器学习模型训练:系统采用支持向量回归(SVR)算法对历史二手房交易数据进行训练,提高预测准确度。
数据可视化:我采用了Echarts,将预测结果以折线图、散点图等形式直观展示,为用户提供交易趋势分析和预测服务。
4.3 方案的可行性分析:
我用了Python来开发,易用性,同时采用前后端分离的方式,保证了系统的运行效率和稳定性。在机器学习算法方面,支持采用向量的回归,并具有较高的准确度和稳定性。同时,数据可视化技术也已成为分析和展示数据的重要手段,能够为用户提供清晰直观的分析结果。因此,本系统的方案可行性较高。
4.4 毕业设计成果评价
通过对历史交易数据的预测,本系统成功实现了对未来二手房交易价格的预测,并提供了可视化的展示和分析功能。同时,该系统还具有良好的可扩展性和易用性,能够为相关行业提供市场分析和预测服务。通过论文的研究和实践,对于Django框架、机器学习算法和数据可视化技术都有了更深入的了解和掌握。
5.结论
我做的这个系统是用Django来的二手房的交易预测,通过对历史交易数据进行分析和挖掘,利用机器学习算法预测未来的二手房交易价格,并提供可视化的展示和分析功能。该系统具有良好的可扩展性和易用性,能够为房产买卖双方提供决策参考,同时也可以为相关行业提供市场分析。
参考文献
[1] 陈丽红, 赖仕慧. 基于机器学习的二手房价格预测研究[J]. 科技资讯, 2020(15):20-21.
[2] 张明, 王丽芳. 基于数据挖掘技术的二手房交易价格预测[J]. 计算机应用与软件, 2019, 36(11):61-64.
[3] 邱建华, 叶曦. 基于Django框架的物流管理信息系统的设计与实现[J]. 计算机科学与应用, 2020, 10(9):136-138.
[4] 潘茂林. Python Web开发:Django实战[M]. 北京:人民邮电出版社,2015.
[5] 基于Django的二手房交易预测系统设计与实现,李世超,计算机应用与软件,2019年第11期.
[6] 徐宝文. Python项目开发实战[M]. 北京:北京航空航天大学出版社,2017.
[7] 李春辉. 基于Python的Web编程[M]. 北京:机械工业出版社,2016.
[8] 基于Django的二手房交易预测及展示系统设计,刘铁柱,计算机科学与应用.
[9] 高超,王雪松. Django Web开发实战[M]. 北京:机械工业出版社,2018.
[10] 刘志军,陈建华. Web应用开发:基于Django框架和Python语言[M]. 北京:清华大学出版社,2012.
致 谢
首先,我要感谢我的指导老师对我毕业设计过程中的悉心指导和不断鼓励。他在选题、研究方向以及论文结构等方面给予了我很多宝贵的建议,并且在遇到困难时给予了我不计其数的帮助和支持。没有他的认真指导和不断关注,我无法完成这篇毕业论文。同时,我也要感谢学院的各位老师和同学们,他们在毕业设计期间给我提供了充足的时间和空间,使我能够专注研究,全身心地投入到毕业论文的写作工作中。
此外,我还要感谢我所从事的公司,他们为我提供了必要的数据、资源和技术支持。在毕业设计的整个过程中,他们给予了我很多的帮助,为我提供了一个良好的研究环境和条件。
最后,我要感谢所有曾经帮助过我的人,同时感谢我的父母,他们在论文期间与我交流,分担我的心理压力,在日常生活中给予我帮助,在学习精神上鼓励我。
最后,向这群心甘情愿帮助我的人表示感谢和衷心的感谢
附录
Pandas是一种开放的Python数据挖掘库,它使用了数据结构和统计分析方法,使客户能够更简单的管理和分析信息。Pandas可以处理各种类型的数据,包括结构化、半结构化和非结构化数据。它的主要数据结构是Series(一维数组)和DataFrame(二维表格),并且支持多种数据操作,如数据清洗、数据转换、数据筛选、数据聚合和数据可视化等。Pandas是数据科学家和数据分析师必备的工具之一。