Sklearn推荐用于无监督学习的聚类算法

时间:2020-01-28 13:31:11

标签: scikit-learn unsupervised-learning

慢慢地讲起Sklearn,更具体的无监督聚类算法。 我正在做一个将xml文件展平为csv文件的项目,这一部分已经完成。

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

csv文件采用Dataframe格式,其中有些列带有说明,而另一些带有值。这些值也可以是十进制值55,2

更建议使用无监督学习中的哪些Sklearn算法进行异常检测?

开始时,我只想尝试查找这些数字的异常情况,如果那里不存在任何数字。

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

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

sklearn建议these ones使用最多的算法。

一开始,我只想尝试查找异常 数字,如果有不属于该数字的数字。

如我所见,您可以尝试一种新颖性检测方法,here您有一个基本的解释。根据我的经验,OneClassSVM是可靠的算法。