测试DBSCAN聚类算法是否可能?如果是,怎么样



我想使用DBSCAN clustering algorithm来检测数据集中的异常值。由于这是一种无监督的学习方法,我是否需要在培训和测试数据中将数据集拆分,或者对DBSCAN algorithm进行测试是不可能的?出于离群检测原因,我应该用整个数据集喂食DBSCAN model吗?

如果可以测试DBSCAN,您能否建议使用Python?

进行此操作。

您不需要将数据拆分为测试和训练。但是,如果您想评估模型,则应从原始数据中获得标记的数据示例。还有其他无监督的方法,但是它们比较了哪种聚类方法相对于您尝试的其他方法(算法或其他超参数(。

我建议阅读-https://scikit-learn.org/stable/modules/clustering.html第2.3.10节显示了用于评估聚类模型的各种方法,以及实现它们所需的Sklearn API。

您可以根据问题声明选择哪种最适合您的要求。

用于离群值检测,使用实际离群检测算法而不是dbscan。

dbscan检测到的噪声是不是与异常值相同的噪声。如果您的数据都是均匀的随机数据,则应将其视为"噪声",但它们都不是异常值。所有数据都是正常的噪声。

让我在这里添加另一个重要点:

您无法测试无监督的学习方法。无监督的学习方法的主要思想是定义一个非定位的目标。

机器学习中的监督学习方法 ->火车/测试或火车/开发/测试拆分

无监督的学习 ->不拆分

根据您的数据集的离群值,还有其他统计方法可以识别离群值:

定量

z得分

相关内容

最新更新