【发布时间】:2019-03-03 22:32:08
【问题描述】:
我正在尝试使用几种算法来解决异常值检测问题。当我使用 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>=6ROC_AUC 非常高
我想问三个问题:
(1) 为什么Local Outlier Factor的n_neighbors参数会影响ROC-AUC?
(2)如何在无监督学习环境中选择合适的n_neighbors?
(3)我应该选择高n_neighbors来获得高ROC_AUC吗?
【问题讨论】:
标签: python machine-learning scikit-learn data-mining anomaly-detection