2021年2月
基于聚类算法的青岛房屋
分布及价格分析
吴正哲
(山东科技大学计算机科学与工程学院,山东青岛266590)
【摘要】随着大数据时代的到来,互联网已经深深地改变了我们的生活模式。本文使用Python爬虫技术从青岛链家网二手房网站中抓取招聘信息并清洗;然后利用Python中的matplotlib库,对清洗后的数据进行可视化分析,分析不同类型房屋情况的分布;最后,通过K-means算法和线性回归算法分析青岛房屋的分布与价格,准确得出多个方面的分析数据,起到购房决策辅助作用。
【关键词】K-means;线性回归;数据可视化;机器学习;Python语言;Beautiful Soup技术
【中图分类号】G350【文献标识码】A【文章编号】1006-4222(2021)02-0297-02
0引言
“互联网+”时代的到来,增强了房地产经纪业务适应线上、线下场景的产品和服务能力,目前我国房地产经纪业务已经形成O2O的发展格局,未来线上线下渠道将继续加速融合发展。因此,无论是从带动国民经济发展的角度,还是从满足人民众基本需求以及开发商投资决策的角度,掌握了解商品住宅价格的变动发展趋势都显得尤为重要。
1相关工作
Beautiful Soup是一个可以从HTML或XML文件中提取数据的Python库,简单来说,它能将HTML的标签文件解析成树形结构,然后方便地获取到指定标签的对应属性。爬取网页的内容其实就是先把页面的信息先通过Urllib库抓取到本地,然后再通过Beautiful Soup库精细划分抓取得到的页面内容数据。
K表示聚类个数,读取全部数据之后,随机选取K个数据作为初始聚类中心,然后将剩余数据计算到聚类中心距离并分配到最近的中心簇,并且相应的删除每个聚类中的个数,更新聚类中心。Means也就是均值,就是每次“选举大会”每个组内由X和Y的平均值组成新的老大,往往是虚拟的。形成的新簇并不一定是最好的划分,因此生成的新簇中,重新计算每个簇的中心点,然后在重新进行划分,直到每次划分的结果保持不变。
线性回归是利用数理统计中回归分析,通过处理大量的观测数据,从而得到比较符合事物内部规律的数学表达式。也就是说寻到数据与数据之间的规律所在,将结果模拟出来,预测结果。线性回归是
在输入变量和输出变量之间建立一个线性依赖关系模型。解决的就是通过已知的数据得到未知的结果。
借鉴已有研究,本文将使用Beautiful Soup爬虫数据并且用K-means算法[1]和线性回归算法来研究。
2研究准备
2.1数据来源及分析
此次数据挖掘选取青岛所有城区在网络显示的二手房屋情况进行分析。基于Beautiful Soup技术,针对链家网的中显示的二手房的地址、标题、价格、大小进行爬取分析。
打开链家网页面观察网页的HTML代码,可以发现所要去获取的数据都在ul标签下的li标签,同时一个房源信息对应着一个li标签。由于网页是静态的,笔者通过检索发现要获取的数据都可以在网页源代码中到,因此可以利用Beauti-ful Soup中的find、find_all方法获取数据。然后利用Beautiful Soup语法解析网站页面,并解析要获取的内容,通过解析可以发现我们想要获取的楼房名称是在li标签下,divclass=”info-clear”下divclass=”title”下的a标签中。节点的查利用Beautiful Soup中的find、find_all方法,观察页面代码中的标签上下节点,适当使用其方法。遍历方法利用for循环实现对ul 标签下li标签的全部遍历,同时实现其翻页遍历的操作。2.2数据清洗
由于网络中爬取的数据为通过HTTP请求进行整个页面信息的获取,对于抓取到的数据还需要进行进一步的数据加工处理,从而得到需要的数据集合,在抓取之间后使用Beau-tiful Soup4可以使网络解析更加清晰,并能快速地提取文本。由于原始数据中可能含有特殊符号或者统计的单位,在清洗时我们需要去除其属性中的特殊符号,通过进一步的数据处理,保证了数据格式的完整统一。
数据清洗后其中主要获取的信息包括:房屋名称、地址、价格。由于在分析后期数据时,需要对房屋价值进行分析,但
专题综述297
2021年2月
是网络数据为房屋总价,且房价大多已设置了价格区间,因此可以通过选取房屋公示价值的中位数作为房屋的总价值,房屋总面积与总价进行计算房屋单价。最终形成具有统一格式的完整数据集合,在保存时,第一列为房屋所在的小区,第二列为房屋类型,第三列为房屋所在的具体位置,具体格式为所属区域+所在片区+价格。安卓app应用开发教材
3使用聚类算法分析青岛二手房价变化
3.1聚类分析准备工作
在进行聚类分析之前我们通过对数据进行可视化显示,既可方便对数据进行分析,同时便于在采用聚类分析的时候造成极个别的数据对聚类的整个结果产生影响。在数据可视化的过程中通过对CSV 文件的读取,从而获取二手房的最高最低售价,以及最高最低售价所在处。在读取的过程中统计其
类型,将其“商业类”“低商”“写字楼”总体归纳为商业类,从而得到房屋的主要类别为住宅、别墅、商业类共计3个类别,最终调用Python 中的matplotlib 库对数据进行绘图显示。
3.2房屋价格和分布结果分析
在本文中分析数据集主要属性有地区、房价、类型等相关
python基础代码写字的属性,共设置4个聚簇,聚簇中心初始值分别设置为7000、10000、13000、16000。
排除单价在2万/m 2以上的数据,将其余所有的数据归在各簇中,最终在经过4次聚簇中心的改变后,最终中心值变化为6906、10422、13573、17769。其中以第三个为中心点的数量为最多达165,其次为聚簇四在133、
聚簇二为104,聚簇1为最小值为94。而对于每一个聚簇中基本的住房都为最高比例的占有,而在四个聚簇中别墅数量都为最低,见图1。
4使用线性回归算法分析青岛二手房价变化
4.1利用线性回归算法并且优化
本文在预测房屋价格的时候采用线性回归算法,用到的
线性回归方程如式(1)、式(2)所示。
a =
m
i =1
∑x
(i )-x
—
()y (i )-y
—()minterviewee有复数吗
i =1
∑x
(i )-x
—
()
2
(1)
b =y —-ax
—
(2)与此同时,笔者还使用了随机梯度下降优化算法,随机梯
度下降算法是机器学习中使用非常广泛的优化算法。每读取
一条样本,就迭代对ΘT 进行更新,判断其是否收敛,若没有收敛,则继续读取样本进行处理,如果读取完了所有的样本,那么重新从头开始读取样本处理并循环。
在本实验中,用lr =LinearRegression ()实例化类,lr.fit
(X_train,y_train)训练模型,y_predict =lr.predict(X_test)预测训练数据,lr.plotFigure()用于画出样本散点图与预测模型。
4.2房屋预测结果分析
从整个数据中可以看出青岛地区房价基本集中在1.5万writer英文翻译
元左右。较少数量呈现在2万元以上。不同的住房类型,在不同的地方呈现不同的密集度,而商品房受地区影响,价格变动的差异较大。在整体上青岛房价呈现正态分布,更多的房屋售价基本集中于1.5万元左右。可估测青岛地区的房价的大致走势基本集中于1万元/m 2,在分析的过程中,购房者考虑更
多的是周围的配套设施是否完善,而整体的售价中根据不同的地区呈现的价值也不同。
python中header是什么意思啊通过上述分析可获得青岛二手房的基本属性特征以及二手房源的分布情况,起到购房决策辅助作用。通过青岛14个区县对比后,不难发现胶州、黄岛、崂山等写字楼较多;黄岛、城阳、市北区的底商数量较多;齐河的商业楼价格较高。因此房产中介可针对这两个年龄段的特点制定营销策略,黄岛区发展较快,人们对于写字楼和住宅楼的需求也很多,房屋中介可以有目的地为黄岛等热门房屋制定相关优惠政策。而平度、莱阳等地区房屋成交可能性较低,房屋中介可以稍微减少对这些地区的针对性,把更多的精力投入其他房源。
5结语
本文探究了K-means 聚类算法的青岛房屋价格,并用线
性回归算法辅助分析。通过本研究,不仅有助于消费者能够全
面了解青岛各地区房价的变化和走势,还有助于房屋中介根据得出的预测结果有的放矢,能够及时改
变自己的营销策略,有针对性地开展优惠活动,提高成交量。
参考文献
[1]吴夙慧,
成颖,郑彦宁,等.K-means 算法研究综述[J].现代图书情报技术,2011(5):28-35.
收稿日期:2021-01-08
作者简介:吴正哲
php正则表达式案例(1999—),男,汉族,山东东营人,本科在读,研究方向为计算机科学与技术
。
图1基本住宅、别墅、商业类聚类分析
专题综述
298
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论