我目前有这个:
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.
我感谢任何建议,我是相当新手,并且主要使用编码来规范表数据或制图。
答案 0 :(得分:0)
我会将平面列表转换为元组列表(或日期时间对象),例如:
data = [tuple(data[i:i+5]) for i in range(0, len(data), 6)]
并查找现有的包,例如cluster或sklearn.cluster来进行群集...