gpt4 book ai didi

python - 在 Sklearn 异常值检测方法中将 'contamination' 参数设置为 'auto' 有什么作用?

转载 作者:行者123 更新时间:2023-12-04 15:22:06 27 4
gpt4 key购买 nike

我有一个数据集,我需要能够控制异常值检测模型(隔离森林、椭圆包络、OneClassSVM...)在多大程度上将给定点视为异常值(类似于 Z 分数或 IQR-分数)。这意味着我不想提前指定数据集中异常点的百分比,更广为人知的是 contamination参数,但我希望这个百分比取决于我希望我的模型有多“挑剔”。这和设置参数contamination一样吗? '自动'?
以下是 Sci-kit Learn 软件包对此的说明:
“如果‘自动’,阈值的确定与原始论文相同”。
这是指哪篇原始论文?并设置 contamination '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)
您可以查看完整的实现 here .
当您设置 contamination='auto' offset_影响模型预测的值设置为 -0.5 , 而如果你使用 float contamination 中的值参数偏移值会有所不同,以达到您之前通过的污染百分比。因此,模型将根据此决定确定数据中的污染百分比。

关于python - 在 Sklearn 异常值检测方法中将 'contamination' 参数设置为 'auto' 有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63073951/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com