我有一个巨大的动态"数据集,我试图在其上找到有趣的集群。
在运行了许多不同的无监督聚类算法后,我发现DBSCAN的配置可以得到一致的结果。
我想根据我的测试数据推断DBSCAN
创建的模型,以将其应用于其他数据集,但无需重新运行算法。我不能在整个数据集上运行算法,因为它会耗尽内存,并且由于数据是动态的,模型可能在不同时间对我没有意义。
使用 sklearn ,我发现其他群集算法(如MiniBatchKMeans)采用predict
方法,但DBSCAN
没有。
我理解,对于MiniBatchKMeans
,质心唯一地定义了模型。但DBSCAN
可能不存在这样的事情。
所以我的问题是:推断DBSCAN
模型的正确方法是什么?我应该使用DBSCAN
对我的测试数据集给出的输出来训练有监督的学习算法吗?或者是否存在一些本质上属于DBSCAN
模型的东西,可用于分类新数据而无需重新运行算法?
答案 0 :(得分:2)
根据您的模型训练分类器。
DBSCAN不容易适应新对象,因为您最终需要调整minPts。向DBSCAN添加点可能会导致群集合并,您可能不希望这种情况发生。
如果您认为DBSCAN找到的聚类很有用,请训练分类器将新实例放入相同的类中。您现在想要执行分类,而不是重新发现结构。
答案 1 :(得分:1)
DBSCAN和其他无监督的'聚类方法可以用于自动传播分类器使用的标签(一种受监督的机器学习任务),这就是所谓的半监督'机器学习。我打破了这样做的一般步骤,并引用了一系列半监督的论文,推动了这种方法的发展。
以下文章提出了对此一般过程的一些扩展,以提高分类性能。值得注意的是,以下所有论文都发现,与其他十几种聚类方法相比,k-means是一种一致,高效,有效的半监督学习聚类方法。然后,他们使用具有大K值的k-最近邻居进行分类。一篇专门介绍基于DBSCAN的聚类的论文是:
- Erman,J。,& Arlitt,M。(2006)。使用聚类算法进行流量分类。在2006年SIGCOMM矿业网络数据研讨会论文集(第281-286页)中。 https://doi.org/http://doi.acm.org/10.1145/1162678.1162679
注意:这些文件按时间顺序列出并相互依赖。如果您只想看到最成功/最先进的迭代,那么您应该阅读2016年格伦南论文。
Erman,J。,& Arlitt,M。(2006)。使用聚类算法进行流量分类。在2006年SIGCOMM矿业网络数据研讨会论文集(第281-286页)中。 https://doi.org/http://doi.acm.org/10.1145/1162678.1162679
Wang,Y.,Xiang,Y.,Zhang,J。,& Yu,S。(2011)。一种新的半监督网络流量聚类方法。第五届国际网络与系统安全大会(NSS)(第169-175页)。意大利米兰:IEEE。 https://doi.org/10.1109/ICNSS.2011.6059997
Zhang,J.,Chen,C.,Xiang,Y。,& Zhou,W。(2012)。网络流量的半监督和复合分类。在Proceedings - 第32届IEEE国际分布式计算系统研讨会上,ICDCSW 2012(第617-621页)。 https://doi.org/10.1109/ICDCSW.2012.12
Glennan,T.,Leckie,C。,& Erfani,S。M.(2016)。利用半监督机器学习改进已知和未知网络流量的分类。在J. K. Liu& R. Steinfeld(编辑),信息安全和隐私:第21届澳大利亚会议(第2卷,第493-501页)。墨尔本:施普林格国际出版社。 https://doi.org/10.1007/978-3-319-40367-0_33