首页 > 解决方案 > Sklearn 推荐的无监督学习集群算法

问题描述

慢慢进入 Sklearn 这个词,更具体的无监督聚类算法。我正在开发一个将 xml 文件扁平化为 csv 文件的项目,该部分已完成。

现在我想实现任何 sklearn 方法来检测我的数据的异常情况。

csv 文件采用 Dataframe 格式,其中一些列带有描述,而另一些列具有值。这些值也可能是小数55,2

哪种 Sklearn 算法更适合使用无监督学习进行异常检测?

一开始我只是想尝试找出数字的异常,如果有任何不属于那里的数字。

标签: scikit-learnunsupervised-learning

解决方案


首先,聚类算法和异常检测算法不是一回事。在集群中,目标是将每个实例分配到一个组(集群)中,其中每个组都有相似的实例。在异常检测中,目标是找到与任何其他实例都不相似的实例。

一些聚类算法,例如DB-SCAN,会创建一个“异常聚类”。该集群包含不属于任何其他集群的所有实例。我建议尝试看看它是否能解决您的问题。

几乎所有的聚类算法都期望数字向量作为输入。如果要使用字符串列,可以使用One Hot Encoding等方法将字符串转换为数字向量。有很多方法可以做到这一点,您可以在此处找到一些 sk-learn 实现。


推荐阅读