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
?
如果不影响结果,就不需要这个参数了吧?
考虑更多的邻居成本更高。但这也意味着使用了更多的数据,所以我对结果有所改善并不感到惊讶。您是否阅读了解释参数作用的论文?
当你根据评价来选择参数时,你就是在作弊。这是一种无监督的方法 - 你 应该 在实际用例中有这样的标签。
我正在尝试使用多种算法解决离群值检测问题。当我使用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
?
如果不影响结果,就不需要这个参数了吧?
考虑更多的邻居成本更高。但这也意味着使用了更多的数据,所以我对结果有所改善并不感到惊讶。您是否阅读了解释参数作用的论文?
当你根据评价来选择参数时,你就是在作弊。这是一种无监督的方法 - 你 应该 在实际用例中有这样的标签。