【问题标题】:n_neighbor parameter of Local Outlier Factor affects to ROC-AUCLocal Outlier Factor 的 n_neighbor 参数对 ROC-AUC 的影响
【发布时间】: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


    【解决方案1】:

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

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

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

    【讨论】:

    • 实际上,当我更改n_neighborsprecisionrecallF1 时不会更改。没有任何改善。但是,ROC_AUC 确实发生了变化。哪一个是重要的@Anony-Mousse? precisionrecallF1ROC_AUC
    • 如何定义输出实数的方法的精度?可能有一些门槛。这就是 ROC 的优点——它不取决于你的门槛。
    猜你喜欢
    • 1970-01-01
    • 2023-01-07
    • 2020-02-23
    • 2017-10-25
    • 2020-03-12
    • 2019-06-09
    • 2012-04-15
    • 2020-10-01
    • 2020-11-27
    相关资源
    最近更新 更多