Git Product home page Git Product logo

spatio-temporal-clustering's Introduction

Spatio-temporal Clustering

1 介绍

1.1 数据介绍

  • data/cluster_time:按时间顺序排列的用户行为轨迹
  • data/cluster_unix_time:按时间顺序(时间已经转换为时间戳)排列的用户行为轨迹
  • data/cluster_unix_time:按时间顺序(时间约束隐含,没有时间字段)排列的用户行为轨迹
  • data/cluster_unix_time_indoor:按时间顺序(时间已经转换为时间戳)排列的室内用户行为轨迹,存在楼层ID(存在时间连续,楼层不同的簇集,即1楼与4楼形成两个簇)

1.2 聚类算法

  • MYDBSCAN:基于密度的聚类DBSCAN(Density-Based Spatial Clustering of Applications with Noise)算法的底层实现
  • MYAP:基于划分的聚类AP(Affinity Propagation Clustering Algorithm )算法的底层实现--近邻传播聚类算法
  • Adaptive-DBSCAN:自适应的基于密度的空间聚类(Adaptive Density-Based Spatial Clustering of Applications with Noise)算法的底层实现
  • MYOPTICS:基于密度的聚类OPTICS(Ordering points to identify the clustering structure)算法的底层实现
  • MYKMeans:基于划分的聚类KMeans算法的底层实现
  • MYCFSFDP:基于划分和密度的聚类CFSFDP(Clustering by fast search and find of density peaks)算法的底层实现

1.3 时空聚类算法

  • ST-DBSCAN:基于DBSCAN改造的时空聚类算法
  • Indoor-STDBSCAN:基于DBSCAN改造的室内时空聚类算法,添加了时间约束、楼层约束,以及簇集的合并延时间轴前进不会后退
  • ST-OPTICS:基于OPTICS改造的时空聚类算法
  • ST-CFSFDP:基于CFSFDP改造的时空聚类算法
  • ST-AGNES_DIS:基于凝聚层次聚类(AGNES)改造的时空聚类算法(用距离做阈值,自动生成聚类个数)
  • ST-AGNES_SUM:基于凝聚层次聚类(AGNES)改造的时空聚类算法(使用聚类个数做阈值)
  • Indoor-STAGNES_DIS:基于凝聚层次聚类(AGNES)改造的室内时空聚类算法(用距离做阈值,自动生成聚类个数)-引入了时间窗口与楼层阈值
  • Indoor-STAGNES_NUM:基于凝聚层次聚类(AGNES)改造的室内时空聚类算法(使用聚类个数做阈值)-引入了时间窗口与楼层阈值
  • WKM:WKM(Warped K-Means)基于K-Means改造的时空聚类算法(使用聚类个数做阈值)

2 算法原理

2.1在本实例中,如果想将代码直接运行需注意以下几点:

  • Python版本3.X(本人使用的是Python 3.6)
  • numpy版本 1.13.3(其他版本未实验)
  • scipy版本 0.19.1(其他版本未实验)
  • matplotlib版本 2.1.0(其他版本未实验)

2.2 空间聚类算法及时空聚类算法学习教程

spatio-temporal-clustering's People

Contributors

giserwang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

spatio-temporal-clustering's Issues

时空聚类内存溢出

对于行数太多的时空数据,是否需要拆分计算,scipy的pdist生成m*m的矩阵太大了。。。。

关于聚类后如何再分类的问题

非常感谢你的分享。
我有个疑问关于optics的,如何在聚类之后为未知的数据再进行预测分类呢?
在sckit-learn我找到kmeans方法有predict但其他的聚类方法都没有,所以想自己写一下,在这个方面,有没有可以指教一二的?
非常感谢了。

关于超参和代码复现问题

作者您好,我目前在入门ST-CFSFDP算法,想利用您的源代码对论文结果进行复现。但是我观察到数据集中的轨迹点分布和图7(a)(b)相似,但聚类结果好像不太相似(王培晓, 张恒才, 王海波,等. ST-CFSFDP:快速搜索密度峰值的时空聚类算法[J]. 测绘学报, 2019(11))。我不知道是依赖版本问题或者是超参问题(python版本 3.6; numpy版本 1.14.5; scipy版本 1.4.1; matplotlib版本 3.2.1),所以想咨询一下您的建议。

ST_OPTICS算法上的疑问

对于st-optics有一点疑问,这个代码是基于原始论文“Development and validation of OPTICS based spatio-temporal
clustering technique”进行的复现的嘛?那个对于时空数据的扩展是只在于核心点半径上的多变量扩展,那么在可达距离以及核心距离上需要多变量的扩展吗?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.