Python 设置';污染';参数设置为';自动';在SKL中学习异常值检测方法吗?

Python 设置';污染';参数设置为';自动';在SKL中学习异常值检测方法吗?,python,scikit-learn,statistics,outliers,anomaly-detection,Python,Scikit Learn,Statistics,Outliers,Anomaly Detection,我有一个数据集,我需要能够控制离群点检测模型(隔离林、椭圆包络、OneClassSVM…)将给定点视为离群点的程度(类似于Z分数或IQR分数)。这意味着我不想预先指定数据集中异常点的百分比,更好地称为污染参数,但我希望此百分比取决于我希望模型的“挑剔”程度。这是否与将参数污染物设置为“自动”相同 以下是Sci工具包学习包对此的说明: “如果‘自动’,则阈值的确定与原稿相同” 这是指哪一份原始文件?将污染参数设置为“auto”是否解决了我的问题?我看了这篇论文,但没有取得多大成功,但看了代码,我找

我有一个数据集,我需要能够控制离群点检测模型(隔离林、椭圆包络、OneClassSVM…)将给定点视为离群点的程度(类似于Z分数或IQR分数)。这意味着我不想预先指定数据集中异常点的百分比,更好地称为
污染
参数,但我希望此百分比取决于我希望模型的“挑剔”程度。这是否与将参数
污染物
设置为“自动”相同

以下是Sci工具包学习包对此的说明: “如果‘自动’,则阈值的确定与原稿相同”


这是指哪一份原始文件?将
污染
参数设置为“auto”是否解决了我的问题?

我看了这篇论文,但没有取得多大成功,但看了代码,我找到了答案。请注意实施的这一部分:

    if self.contamination == "auto":
        # 0.5 plays a special role as described in the original paper.
        # we take the opposite as we consider the opposite of their score.
        self.offset_ = -0.5
        return self

    # else, define offset_ wrt contamination parameter
    self.offset_ = np.percentile(self.score_samples(X),
                                 100. * self.contamination)
您可以检查完整的实现


当您设置
inclution='auto'
时,会影响模型预测的
偏移量
值被设置为
-0.5
,而如果在
inclution
参数中使用
float
值,偏移量值将发生变化,以达到您之前通过的污染百分比。因此,模型将根据此决定确定数据中的污染百分比。

感谢您的回复!事实上,这也是我最终发现的。然而,-0.5的偏移值在技术上是否也对应于给定的污染百分比?在这种情况下,将污染参数设置为“自动”不一定有助于我是,-0.5对应于一个百分比,但由于它是一个固定值,因此不会影响预测,因此,一个样本是否是异常值的决定完全由算法来定义。这意味着污染参数不会影响我们的预测?如果是这样的话,这是个好兆头。在这种情况下,用户可以定义一个点作为离群点或内点的“范围”,对吗?由于决策函数现在所做的只是给出一个异常分数,如果我理解得很好,对不起@Mario,我无法打开你的链接…@lalfab哦,我更新了问题