聚类的目标是使同一类对象的相似度尽可能地大;不同类对象之间的相似度尽可能地小。目前聚类的方法很多,根据基本思想的不同,大致可以将聚类算法分为五大类:层次聚类算法、分割聚类算法、基于约束的聚类算法、机器学习中的聚类算法和用于高维度的聚类算法。本源码实现主要选取了基于划分的Kmeans算法和基于密度的DBSCAN算法来对用户地理位置信息进行聚类。
本实验用python实现,依赖numpy, pandas, sklearn, scipy等科学计算library。
数据来自收集得到的用户的地理位置信息,即经纬度数据的序列集。
一种基于DBSCAN和Kmeans的混合算法:先利用DBSCAN算法的密度可达特性将用户的地理位置数据集按照活动半径聚合成若干个簇,并且将每一簇的数据集作为新的输入,再利用Kmeans算法的迭代聚合求出质心的位置,设定K值为1。