找到未知数量的密度,群集,值组(时间戳)

时间:2015-05-13 08:07:23

标签: python group-by time-series cluster-analysis kernel-density

我目前有这个:

Data = [2003, 8, 4, 12, 30, 45, 2003, 8, 4, 12, 32, 55, ... 2003, 12, 9, 08, 30, 45]

(日期时间项目的数量约为50.000到100万或有时更多。)

我想让我的机器提取分组的日期时间,即总日期范围内的密度。日期时间来自交易活动,所以几乎所有的都是白天,早上9点到晚上22点。

如果没有好办法让机器决定,我可以:

提供两个参数,由用户设置: 例如 Minimum_cluster_size = 5#集群内的最小日期时间 Maximum_cluster_datetime_range =群集堆栈中第一个和最后一个日期时间之间的6000秒。

一个不错的输出就像是:

Clusters_found = {0: [2003,8,4,12,30,45, 
                  2003,8,4,12,31,20,
                  2003,8,4,12,33,22],
                  ...
             321:[2003,8,4,14,00,45, 
                  2003,8,4,14,01,20,
                  2003,8,4,14,03,22]} # a dict with 321 clusters.

我感谢任何建议,我是相当新手,并且主要使用编码来规范表数据或制图。

1 个答案:

答案 0 :(得分:0)

我会将平面列表转换为元组列表(或日期时间对象),例如:

data = [tuple(data[i:i+5]) for i in range(0, len(data), 6)]

并查找现有的包,例如clustersklearn.cluster来进行群集...