【问题标题】:Is it mandatory to set contamination value for isolation forest in python?python中隔离林是否必须设置污染值?
【发布时间】:2020-12-17 04:04:27
【问题描述】:

我将构建一个模型来识别我的数据集中的异常情况。我研究了很多,发现隔离森林是最好的选择。在我的数据集中,我没有任何标签(这意味着数据集仅包含解释变量)。但是我不知道在隔离林中设置污染参数(大多数解释的文章已经有输出变量[标记为异常],使用它们计算异常值然后将其设置为污染值强>)。

是否必须设置它?污染的默认值为 0.1。可以忽略它吗? 如果我没有为它赋值,会影响模型结果吗?

model = IsolationForest(contamination=0.1, n_estimators=1000)

【问题讨论】:

    标签: python scikit-learn outliers anomaly-detection


    【解决方案1】:

    不,设置污染值不是强制性的。默认情况下,它设置为“自动”。

    contamination‘auto’或float,default=‘auto’ 数据集的污染,即异常值在数据集中的比例 数据集。在拟合时用于定义分数的阈值 样本。

    Reference in documentation

    因此,您可以忽略它,但它可以/将会影响模型结果,因为预测方法使用由污染值设置的阈值。

    预测方法利用原始评分的阈值 由估计器计算的函数。这个评分函数是 可以通过score_samples 方法访问,而阈值可以 由contamination 参数控制。

    Reference in documentation

    【讨论】:

    • 感谢您的回答。能否请您看一下相关帖子here
    猜你喜欢
    • 2021-01-10
    • 1970-01-01
    • 2018-09-14
    • 2021-09-11
    • 2019-07-11
    • 2019-06-29
    • 2015-07-16
    • 1970-01-01
    • 2020-05-25
    相关资源
    最近更新 更多