【问题标题】:How to predict the best value for the proportion of outliers?如何预测离群值比例的最佳值?
【发布时间】:2018-05-07 06:58:30
【问题描述】:

我正在使用“局部异常值因子”进行异常检测。该算法有一个名为“contamination”的参数。该参数表示异常值的比例。在我的例子中,"0.0058" 是污染参数的最佳值。

#parameters
n_neighbors = 750
p = 7
contamination = 0.0058 # the proportion of outliers 

lof = LocalOutlierFactor(n_neighbors=n_neighbors, p=p, contamination=contamination)
y_pred_train = lof.fit_predict(data_scaled)

我在尝试了许多不同的值后找到了这个值。但是,我需要在不尝试不同值的情况下找到污染参数的最佳值。

这是数据的形状:

我有两个问题;

是否可以在执行异常检测算法之前预测污染参数的最佳值?

在现实世界的应用中,异常检测模型是否有可能完美地检测到所有异常?

提前致谢。

【问题讨论】:

    标签: scikit-learn data-science anomaly-detection


    【解决方案1】:

    Local Outlier Factor 值是一种常用的异常检测工具。它采用局部方法来更好地检测其邻居的异常值,而全局策略可能不是对密度波动的数据集的最佳检测。

    这完全取决于您的数据集:

    你有一个紧凑、干净和统一的数据集吗?那么 1.05 的 LOF 值可能是一个异常值。

    您是否有一个稀疏数据集,其密度不同,具有许多特定于该本地集群的局部波动?那么 LOF 值 2 仍然可能是一个内点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-01
      • 1970-01-01
      • 2013-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-04
      • 2019-06-24
      相关资源
      最近更新 更多