上一篇文章写了用R爬取租房数据以及做初步数据分析,这篇文章拿之前爬的数据,对房源进行分类以及探究影响租金的因素。
爬取的数据文末会附上链接。
文章目录
1 使用kmeans对房源数据进行聚类
kmeans聚类是一种简单粗暴的无监督学习方法,通过点到中心点的距离的计算并反复迭代,可以将没有标签的数据集自动归类。
1.1数据导入
首先,导入数据,
house2 <- read.csv("house2.csv",stringAsFactor = T)
View(house2)
1.2 数据预处理
为了能用散点图(只有x和y两个坐标)更直观的看出聚类效果,这里就简单选取两个数值型变量:房源价格和面积做聚类。
df<-data.frame(price=house$price,area=house$area)
str(df)
因为kmeans涉及到计算点与中心点之间的距离,因此在计算时要去除数据的单位限制,也就是对数据进行标准化,便于不同单位或量级的指标能够进行比较和加权。
这里使用z-score 标准化的方法,它的好处是即使有可能存在离群值,不会对标准化后的数据产生很大的影响。
df2<- data.frame(scale(df))#对数据进行标准化
View(df2)
经过标准化后,价格和面积的数据在量纲上就差不多了。
1.3 判断最佳聚类个数
在建立模型之前,应该先确定模型最佳聚类个数。
因为K-means方法的原则是让组内间距尽可能小,组间差距尽