n_neighbor Local Outlier Factor 参数对 ROC-AUC 的影响

n_neighbor parameter of Local Outlier Factor affects to ROC-AUC

我正在尝试使用多种算法解决离群值检测问题。当我使用Scikit-learn的Local Outlier Factor API时,我必须输入一个非常重要的参数--n_neighbors。然而,不同的 n_neighbors,我得到不同的 ROC_AUC 分数。例如,使用 n_neighbors=5 然后 ROC_AUC=56。但是,使用 n_neighbors=6 然后 ROC_AUC=85;使用 n_neighbors=7 然后 ROC_AUC=94,等等。正式地,如果 n_neighbors>=6

ROC_AUC 非常高

我想问三个问题: (1) 为什么Local Outlier Factor的n_neighbors参数会影响ROC-AUC? (2) 如何在无监督学习环境中选择合适的n_neighbors? (3) 是否应该选择highn_neighbors才能得到highROC_AUC?

如果不影响结果,就不需要这个参数了吧?

考虑更多的邻居成本更高。但这也意味着使用了更多的数据,所以我对结果有所改善并不感到惊讶。您是否阅读了解释参数作用的论文?

当你根据评价来选择参数时,你就是在作弊。这是一种无监督的方法 - 你 应该 在实际用例中有这样的标签。