异常检测 - 使用什么

时间:2014-08-06 08:23:18

标签: machine-learning data-mining outliers

用于异常检测的系统是什么?

我看到像Mahout这样的系统没有列出异常检测,但是分类,聚类,推荐等问题......

任何建议以及教程和代码示例都会很棒,因为我之前没有这样做过。

2 个答案:

答案 0 :(得分:2)

有异常检测implementation in scikit-learn,它基于一类SVM。您还可以查看已实施空间异常值检测的ELKI project

除了"异常检测",您还可以使用"异常值检测","欺诈检测","入侵检测&#34扩展搜索范围34;获得更多结果。

答案 1 :(得分:1)

离群检测方法分为三类:监督半监督无监督

  • 受监督的:需要完全标记的培训和测试数据集。普通分类器首先要训练,然后再应用。
  • 半监督:使用训练和测试数据集,而训练数据仅由正常数据组成,没有任何异常值。通过学习正常类别的模型,然后可以通过偏离该模型来检测异常值。
  • 无人监管:不需要任何标签;训练和测试数据集之间没有区别。仅根据数据集的固有属性对数据进行评分。

如果您有未标记的数据,则可以使用以下无监督的异常检测方法来检测异常数据:

  1. 使用自动编码器捕获数据中存在的特征的特征表示,并将标志标记为使用新表示无法很好解释的异常数据点。数据点的异常值是根据重构误差(即原始数据与其投影之间的距离的平方)计算的。您可以在H2OTensorflow
  2. 中找到实现
  3. 使用诸如自组织图(SOM) k-prototypes 的聚类方法将未标记的数据聚类为多个组。您可以检测数据中的外部内部离群值。外部离群值定义为位于最小群集上的记录。内部离群值定义为在群集内遥远放置的记录。您可以找到SOMk-prototypes的代码。

如果您已标记数据,则可以使用许多监督分类方法来尝试检测异常值。例如神经网络决策树 SVM