向数据集添加异常

数据挖掘 Python scikit-学习 无监督学习 异常检测
2022-03-01 01:16:45

最近我一直在尝试不同的 Scikit-Learn 异常检测聚类方法,比如

  • 星展扫描
  • 隔离森林。

根据我使用的训练数据量,我如何调整算法

Example in DBSCAN I play around this min_samples and eps distance.

我的问题 现在我得到了不同的结果,但这就是问题所在。我不知道我应该得到多少异常,所以这导致我不确定什么是最好的。

我已经阅读了自己将异常添加到数据集中的内容。这是一回事吗?这意味着我会知道从算法中发现的异常是否与添加到数据集中的异常相同。

我可能弄错了。

另一个问题是我要检查异常的列中的数字在大小上确实不同,所以我也不会添加哪些数字作为异常。

将不胜感激一些帮助。

1个回答

如果没有数据点异常的标签,您就无法知道应该得到多少异常。

最接近向数据集添加异常的方法是使用合成数据进行异常检测。我看到一些练习者这样做,并且失败了。当您创建合成数据时,它会匹配您的归纳偏差*。现实世界很少能匹配这种归纳偏差*。之后,您可以轻松找到具有相同归纳偏差*的聚类算法,该算法可以将您的合成数据标记为异常。但是,当部署该算法时,它将惨遭失败。

*用简单的语言来说,归纳偏见是您对世界应该如何的假设。