我正在使用“局部异常因子”进行异常检测。该算法有一个称为“污染”的参数。该参数表示异常值的比例。就我而言,“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)
在尝试了许多不同的值后,我找到了这个值。但是,我需要在不尝试不同值的情况下找到污染参数的最佳值。
这是数据的形状:
我有两个问题;
是否可以在执行异常检测算法之前预测污染参数的最佳值?
在现实世界的应用中,异常检测模型是否有可能完美地检测到所有异常?
提前致谢。