用文本对时间序列数据进行聚类

时间:2018-10-08 12:58:09

标签: python-2.7 nlp time-series sklearn-pandas dbscan

我试图将事件描述相似且在相同时间范围内相对发生的事件聚类。

For eg:
   Time_Stamp     | Description
1. 30-07-2018 1am | "apples and oranges"
2. 30-07-2018 2am | "nuts bananas honey"
3. 30-07-2018 4am | "apples peaches and carrots"
4. 02-08-2018 6am | "apples and oranges"

所以聚类应该是(1,3),(2),(4)

到目前为止我的方法:

  1. 将时间转换为纪元时间戳并将其标准化
  2. 对Tfidf矢量化器的描述
  3. 使用具有自定义距离指标的DBSCAN尝试集群

但是所有数据点最终都变成了1个簇。

请提出一种更好的距离度量或方法,以及一种良好的交互式方式来可视化python中形成的簇。

1 个答案:

答案 0 :(得分:0)

余弦和时间的尺度不同。另外,您是否错过了距离相似性?可能您的距离函数根本没有按照您的预期做?您测试过您的距离了吗?任何聚类都只有您的距离...

您如何选择DBSCAN参数? sklearn具有默认值,但它们通常是愚蠢的-应该将其删除,并要求您进行有意的选择。最后但并非最不重要的一点是,GDBSCAN使您可以轻松地将余弦和时间分别视为两个条件。