首页 > 解决方案 > Local Outlier Factor 的 n_neighbor 参数对 ROC-AUC 的影响

问题描述

我正在尝试用几种算法解决异常值检测问题。当我使用 Scikit-learn 的 Local Outlier Factor API 时,我必须输入一个非常重要的参数—— n_neighbors。但是,使用不同n_neighbors的 ,我会收到不同的ROC_AUC分数。例如,使用n_neighbors=5then ROC_AUC=56。但是,与n_neighbors=6then ROC_AUC=85; 与n_neighbors=7thenROC_AUC=94等。形式上,ROC_AUC非常高 ifn_neighbors>=6

我想问三个问题:(1)为什么n_neighborsLocal Outlier Factor这个参数会影响ROC-AUC?(2)如何n_neighbors在无监督学习环境中选择合适的?(3) 我应该选择高n_neighbors来获得高ROC_AUC吗?

标签: pythonmachine-learningscikit-learndata-mininganomaly-detection

解决方案


如果结果不受影响,参数就不需要了,对吧?

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

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


推荐阅读