版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章概论西华大学数据分析基础与实践成都二手房房价分析与预测
目录Contents案例任务案例主要实现流程及原理详细实现及结果展示案例任务一1案例任务4经过几十年时间的发展,房地产市场发展火热,房价高歌猛进,很多家庭表示为了购买一套房子真的是倾尽了一生的心血。在长期的发展过程中,痛苦的刚需一族迫切地希望房价能够有所降低,但是在很多因素的“助推”下,这么多年房价也没有降下来的势头。房价高位难下,成为了很多家庭的烦恼。房价的分析与预测一直是一个社会热点问题。本章我们将爬取成都链家二手房的房价数据(成都链家二手房网址:/ershoufang/),并对二手房房价进行分析和可视化,以及对房价进行简单预测。具体来说,本案例将完成以下任务:1、获取成都二手房数据,是从链家网上爬取成都二手房价的相关数据,包括二手房的每平米的售价、总价、地理位置、楼层以及二手房的装修情况等。2、针对数据进行分析近年来房屋成交价、房屋面积等进行分析,实现数据可视化。3、结合爬取到的数据,判断影响二手房价格的因素,并根据给定的二手房特征对二手房售价进行简单估计。案例主要实现流程及原理二2.1案例实现流程框图6
实现本案例的流程包括了数据收集、数据预处理、数据分析与可视化、数据挖掘。大规模数据的收集主要有两种方法:一种方法是利用API,API又叫应用程序程序接口,是网站的管理者为了使用者方便,编写的一种程序接口,但是API技术受限于平台开发者,因此我们通常采用第二种方式,即网络爬虫。在得到的数据后,就需要对数据进行预处理。数据预处理主要操作为:数据清洗;数据转换;数据描述;特征选择;特征抽取。数据的预处理对数据分析的准确性有着很大的影响。当数据预处理不当时,这就会使得数据分析的准确性下降。数据分析与可视化分为两个步骤:数据分析与数据可视化。数据挖掘其实是一种深层次的数据分析方法。数据挖掘可以描述为:按照既定的业务目标,对大量的数据进行探索和分析,揭示隐藏的,未知的或者验证已知的规律性,并进一步将其模型化的先进有效的方法。本章我们将爬取成都链家二手房的房价数据,结合数据预处理的相关操作,对成都二手房房价进行数据可视化,观察数据背后蕴含的信息,最后对成都二手房房价进行相关简单的预测。2.2数据收集7
本案例中需要用到的数据是通过网络爬虫在链家网上获取的,我们将分析从链家网上爬取用于分析的数据的具体思路。我们发现成都链家二手房网页地址可以用下面的公式来表示:https://+城市名称拼音缩写+
./ershoufang/pg
+页码+/,根据此规律,就可以获得成都链家二手房的所有网页的网址。
获取了网页地址之后,我们需要利用函数requests.get()来得到该网页下html的内容。但是直接利用requests.get()函数获取html的内容会报错,服务器拒绝访问。大部分网站都有反爬虫的机制,但链家官网的反爬虫机制比较简单,只需要我们添加网页的headers从而模仿人为使用浏览器访问链家二手房网页。2.2数据收集8
打开成都链家二手房官网,键盘按F12,就可以看到下图所示的开发者工具页面,在开发者工具页面中找到User_Agent,将其中的内容添加到我们所写的爬虫程序中即可。2.2数据收集9
此时我们所写的爬虫程序爬取的内容却并不如人意。所爬取的内容为html文档,无法肉眼识别文档的内容,但此时只需要我们利用python中的requests库里的相关函数,解析html文档即可。未解析的html文档2.2数据收集10
此时我们所写的爬虫程序爬取的内容却并不如人意。所爬取的内容为html文档,无法肉眼识别文档的内容,但此时只需要我们利用python中的requests库里的相关函数,解析html文档即可。解析后的html文档2.2数据收集11
解析后的html文档包含了我们所需要的文字内容,但是还仍有许多标签(如<span>,<div>等),同时我们需要的文字内容排版混乱。因此,我们需要相关去除标签和提取文字的操作。
解析后的html文档2.2数据收集12
解析后的html文档包含了我们所需要的文字内容,但是还仍有许多标签(如<span>,<div>等),同时我们需要的文字内容排版混乱。因此,我们需要相关去除标签和提取文字的操作。
保存为csv格式的文档2.3数据预处理13可以看到,爬取到的数据已经很有规则,大致看过去,肉眼并没有发现异常值。下图中的第四列房屋朝向“东南东北”,这很有歧义,同时,“Tag”一列中既有二手房的面积,卧室数,楼层数,装修程度等信息,这种数据,对我们后续的分析十分不利。因此,在对数据进行分析挖掘之前,就很有必要对数据进行预处理。2.3数据分析14所谓数据分析就是将产品相关的数据收集整合,然后利用特定的方法去分析这些数据,从中发现规律或是得到结论。在本案例中,我们将从七个方面进行分析:①房屋户型特征分析;②房屋区域地理位置分析;③面积特征分析;④装修特征分析⑤房龄,装修类型及二手房建筑类型综合分析;⑥楼层分析。2.4房源价格预测15
通过热力图,分析房价和哪些因素的关系比较密切,然后再试图利用数据挖掘方法,找出这些因素和房价之间的关系,从而实现利用这些关键因素对房源价格的预测。在实现热力图绘制是,我们采用了seaborn中的heatmap函数进行绘制。最后,对数据进行One-HotEncoding处理(One-Hot编码,也称独热编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候,其中只有一位有效)在这之后就可以采用8.3小节介绍的多元线性回归方法建立模型,对房屋价格进行预测。2.4房源价格预测16
左图面的热力图我们展示二手房面积、室厅数、关注人数等因素影响房价的情况。中的数字构成了一个对称矩阵,列表中的数字值越大,代表横纵坐标所代表的两个因素互相影响力越大。2.4房源价格预测17
One-HotEncoding处理结果房价预测结果
左图为房屋价格预测结果,发现结果并不如意,但当把二手房单位面积的价格也作物预测因素,则实际价格和预测价格会更加接近。
上图为One-HotEncoding处理,在对数据进行One-HotEncoding处理之后,我们发现数据中没有了多余的汉字描述。详细实现及结果展示三3.1爬取数据19左边的代码首先导入了爬虫的相关库。同时定义了三个函数:removenone,addnone,regunm。其作用分别为移除爬取内容中的空值;对为填入的信息进行赋值(例如当二手房的装修程度未被告知时,函数便会对其赋值。);提取爬取内容中的数字(如房屋面积。)。3.1爬取数据20
左边是爬取数据的关键代码。其模拟了人为点击网页和完成了提取网页中的内容的操作。在运行爬取二手房数据的代码时,需要自行输入保存文件名和爬取多少页。3.1爬取数据21
运行爬取数据的相关代码之后,我们就可以在代码文件的同目录下找到一个XLS工作表,这个XLS工作表,便是我们爬取到的二手房数据。例如:上图文件名为cd的XLS工作表,就是我们爬取到的二手房数据。打开这个工作表,就可以得到如下图形式的二手房数据。3.2数据预处理22
左边为数据预处理的代码。由于爬取到的数据比较规整,因此对数据的预处理操作十分简单。主要是对爬取到的空值进行了删除,以及把Tag列划分为多列。3.2数据预处理23
左边为数据预处理后的数据。发现处理前后的数据在某些列的名称发生了变化,其中的数据形式也发生了变化。数据预处理后的结果3.3户型特征分析24
户型特征主要针对二手房的户型类型数量进行了统计。户型特征分析的代码如左边所示,只需要在预处理的代码后接着输入这些代码就可以。3.3户型特征分析25
执行代码可以得到如左图所示的户型分析结果,从图中可以发现,2室1厅的二手房数量和3室2厅的二手房数量差不多,而1室0厅等室厅数的二手房数量很少。1室0厅不能满足一个家庭的生活,2室1厅和3室2厅的户型能够满足大部分人的基本住房需求,更受人们的青睐。3.4区域特征分析26
区域特征分析是基于不同小区的二手房数量进行统计及可视化。区域特征分析的代码左边所示。3.4区域特征分析27
执行上述代码可以得到如左图所示的分析结果,从图中可以发现,在二手房数量最多的前15个小区中,南湖国际社区就有15套二手房出售。表中的其他小区的二手房数量分布比较均匀,都有9套左右的二手房出售。3.5面积特征分析28
二手房的面积是影响房价的一个重要因素,上面的代码对二手房面积划分了区间,且绘制出了二手房面积和二手房售价的线性关系图。执行上述代码可以得到右边所示的分析结果。右边上面的统计图的纵坐标代表二手房数量占比,横坐标代表二手房面积区间。可以看到:二手房面积在50-100平米的房子最多。右边下面的图的从左边为二手房面积大小,纵坐标为售价。可以看到面积与总价基本呈现线性关系,符合基本常识。3.5面积特征分析29
二手房的每平米售价的高低与其装修情况有一定关系,为此,我们将二手房单位售价和其装修情况做了统计分析。上面是装修特征分析的代码。
执行上述代码可以得到如右图所示的分析结果,从图中可以发现,在三种类型的装修情况中,精装二手房的平均每平米售价高于其他三种类型房屋的每平米售价,在精装中每平米售价波动幅度小,其他类型的二手房每平米售价波动十分大。3.6房龄,装修类型及二手房建筑类型综合分析30
除了二手房面积会影响房价之外,二手房的其他信息,也会影响房价。因此,我们做相关可视化操作,查看其他因素对房价的影响。房龄,装修类型及二手房建筑类型综合分析的代码如下:3.6房龄,装修类型及二手房建筑类型综合分析31
在左边的15个统计图中,图中每一个小圆点代表一套二手房。第一排的5张统计图中的小圆点为装修风格为“精装”的所有二手房,第二排的5张统计图中的小圆点为装修风格为“毛坯”的所有二手房,第三排的5张统计图中的小圆点为装修风格为“简装”的所有二手房。第一列的5张统计图中的小圆点为房主建筑类型为“塔类”的所有二手房,其他四列统计图中的小圆点依次代表房屋建筑类型为“板塔结合”,“板楼”,“暂无数据”,“平方”四种类型。在Style(房屋装修风格)和的Type(房屋建筑类型)条件下,使用FaceGrid分析二手房建筑时间的特征:整个二手房房价趋势是随着时间增长而增长的,且二手房的建筑年限主要集中的2010年左右。平房以及装修情况未告知的二手房十分少。3.7楼层分析32同户型特征分析一样,我们对不同楼层的二手房进行了统计。楼层分析的代码如下:
执行上述代码可以得到左图所示的分析结果。在中国的传统意识中,认为二手房层数后的数字代表了深远的意义。从图中可以看到,6层、7层、18层和33层二手房数量最多。但是单独的楼层特征没有什么意义,因为每个小区住房的总楼层数都不一样,我们需要知道楼层的相对意义。另外,楼层与文化也有很重要联系,比如中国文化七上八下,七层相对于8层的确是更受欢迎。当然,正常情况下中间楼层是比较受欢迎的,价格也高,底层和顶层受欢迎度较低,价格也相对较低。所以楼层是一个非常复杂的特征,对房价影响也比较大。3.8房源价格预测33
在对成都二手房数据进行前面的操作之后,我们期待能通过这些数据,训练出一个模型。此模型能根据二手房的位置、面积等信息,预测二手房目前的售价。首先需要对数据进行预处理。下面第一张图是未经预处理的数据形式,第二张图是预处理后的数据形式。此处的预处理,不仅仅需要对异常值,缺失值等进行处理,还需要对数据进行独热处理,简单来说就是将将汉字描述转变为文字描述。预处理前的数据预处理后的数据3.8房源价格预测34房源价格预测前的预处理代码:3.8房源
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人财务工作总结
- 孝老爱亲事迹材料
- 中国肾脏移植受者侵袭性镰刀菌病临床诊疗指南解读
- 职业健康安全知识手册:应知应会100条
- 用二元一次方程组解决问题(第3课时)课件2025-2026学年苏科版七年级数学下册
- 2026年音乐吉他行业分析报告及未来发展趋势报告
- 2026年酸碱催化剂行业分析报告及未来发展趋势报告
- 2026年羰基钴行业分析报告及未来发展趋势报告
- 2026年干发帽行业分析报告及未来发展趋势报告
- 凝血功能检查解读(患者科普指南)
- 恒丰银行笔试题库及答案
- 《导游实务》课件-6.1出境旅游领队服务程序
- DL∕T 531-2016 电站高温高压截止阀闸阀技术条件
- 智能制造概论
- 单元写作任务 统编版高中语文必修下册
- 个人查摆问题清单和整改措施
- 架空配电线路及设备运行规程
- GB/T 2484-2023固结磨具形状类型、标记和标志
- 苏泊尔电磁炉标准板电路分析
- 五行称命书--源自唐朝手抄本(檀香四逸)
- 失血性休克的诊治麻醉病例讨论
评论
0/150
提交评论