qq_24949293
qq_24949293
采纳率50%
2019-05-01 20:24 阅读 2.0k

如何对聚类产生的结果簇进行进一步分析?

40

本人是数据挖掘方面的小白,最近刚开始做学校给出的数据分析项目。
语言用的是python。
我目前在做西安市经纬度地图的聚类分析并提取其中的热点区域。我用DBSCAN算法提取出了7-8个核心热点区域(最大的簇),并且用K-means锁定了它们的质心。但是聚类出来的簇很基本而且并不规则。并不符合最终聚类结果的标准。我查了一些问答发现需要对每一个聚类产生的簇进行进阶分析。但我目前并不知道从何下手。
几个可能的方向:
1.对聚类簇做回归分析,让每个簇的形状变得更规则?
2.结合聚类簇的质心,标注出相关地段最有特点的景点或建筑作为标签,然后用有监督学习?
我只想到了上面两个可能的进阶分析方法,但是我上面两个方法也不知道该用什么合适的算法来入手,希望能得到大佬们的提点。或者有更好的思路,也希望大佬能为我指明道路,谢谢!

补充:我的聚类目的是通过分析西安市区中的热点区域,结合具体时间段来分析西安市出行用户的出行模式。(经纬度数据都是用户上下车点的数据)

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    weijun05 weijun05 2019-05-05 11:25

    用户出行模式的问题通常不单单是找出地图上的热点区域的问题, 而是一个多维度的包括时间的聚类. 所用到的维度可能包括乘车日期, 上车时间,下车时间, 乘车站点, 类型(地铁,出租...)....
    之后需要对这些维度的数据进行特征提取, 比如说出行的路线轨迹/距离, 站点序列,出行时间, ... 对于路线轨迹/距离, 简单的基于euclidean distance肯定是不适用的,可以考虑使用scipy.spatial.distance.cdist(a,b, 'cityblock').
    提取特征之后, 大概就可以从时间, 空间, 行程链这几个维度来对每个用户的出行周期进行量化了. 最简单的做法就是只提取出门时间, 结束时间, 出行距离, 然后按照这几个特征再进行聚类.

    至于你上面提到的回归也好, 监督学习也好, 最好都是基于一定目的的特征提取之后再进行的 (而且要结合你的最终要解决的目标问题).

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2019-05-01 23:52

    因为你是基于地图的点的聚类,不是单纯的几何数据,所以说你可以用地名标签做有监督学习,可以考虑用自动编码器来提高效率。
    因为你并非几何上的距离远近的问题,而是按照街道来的,所以光是kmean肯定效率不行。

    点赞 评论 复制链接分享

相关推荐