【问题标题】:What pre-processing methods do I need for Timestamp, Duration data for use with DBSCAN?与 DBSCAN 一起使用的时间戳、持续时间数据需要哪些预处理方法?
【发布时间】:2016-09-24 03:12:19
【问题描述】:

我有一个月的数据,格式如下:


            timestamp  duration
0 2015-10-01 00:00:08    2912.0
1 2015-10-01 00:48:58      30.0
2 2015-10-01 00:49:58     229.0
3 2015-10-01 00:54:07    4122.0
4 2015-10-01 02:03:19       0.0
...

我希望使用 scikit-learn 库中的 DBSCAN 基于维度“HH:MM:SS 中的时间”和“持续时间”进行聚类,

我知道在使用聚类之前需要一个预处理步骤,但我不知道该使用哪一个!

如果有人能指出我正确的方向,将不胜感激。

谢谢!

【问题讨论】:

  • 预处理是什么意思?如果您的意思是将时间戳读取为日期时间,将持续时间读取为浮点数,那么您可以执行此操作,然后执行 DBSCAN
  • 嗨@EdChum 感谢您的回复!我想知道是否应该使用一些预处理程序;例如,在对其应用聚类之前进行缩放、二值化、规范化。
  • 取决于您希望集群的外观。如果您对一天中相似部分的相似持续时间感兴趣,您也可以将天、小时、分钟...提取到单独的列中。

标签: python numpy scikit-learn


【解决方案1】:

这是一个虚拟的答案: 我遇到了类似的分类问题。分类算法与基于结果的聚类算法没有太大区别,因为目标是按相似的模式对它们进行分组。

您可以搜索“混合数据分类的预处理技术”或类似内容。

主要思想是将时间戳转换为“分类变量”并稍后将它们二值化,因此您将有年份:1,0,1,1,1等,月份:1,0,0,0 ,0,0,0,...(对于具有 12 个变量的一月),...或者您也可以将月份划分为季节,因此您将有 4 个季节等。您需要了解与不过,预期的输出。 即 4 个自变量。

希望对你有帮助!

【讨论】:

    猜你喜欢
    • 2021-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    • 2015-08-16
    相关资源
    最近更新 更多