慢慢地讲起Sklearn,更具体的无监督聚类算法。我正在一个将xml文件展平为csv文件的项目,这一部分完成了。
现在我想实现任何sklearn方法来检测数据异常。
csv文件采用Dataframe格式,其中有些列带有说明,而另一些带有值。这些值也可以是十进制值55,2
更建议使用无监督学习中的哪些Sklearn算法进行异常检测?
[开始时,我只想尝试找出这些数字的异常之处,如果那里不存在任何数字。
首先,聚类算法和异常检测算法不是一回事。在群集中,目标是将每个实例分配到一个组(群集)中,其中每个组都有相似的实例。在异常检测中,目标是找到与任何其他实例都不相似的实例。
某些聚类算法,例如DB-SCAN,会创建“异常聚类”。该集群具有不属于任何其他集群的所有实例。我建议尝试看看是否能解决您的问题。
几乎所有的聚类算法都期望数字向量作为输入。如果要使用字符串列,则可以使用One Hot Encoding之类的方法将字符串转换为数字向量。有很多方法可以做到这一点,并且您可以找到一些sk-learn实现here。
更建议将哪些Sklearn算法用于使用无监督学习?
[最常用的算法是sklearn推荐的these ones。
开始时,我只想尝试查找异常数字,如果有不属于该数字的数字。
正如我所看到的,您可以尝试一种新颖性检测方法,here您有一个基本的解释。以我的经验,OneClassSVM是可靠的算法。