使用无监督的隔离森林,如何从异常分数中识别出最佳异常值数量?
数据挖掘
无监督学习
数据科学模型
2021-09-17 19:01:59
3个回答
在大多数情况下似乎使用隔离森林的方式涉及对您期望的异常值比例进行某种事先“猜测”(如果您想安全起见,您可能会倾向于增加它) . 根据您设置的比例(它是 中的contamination
参数scikit-learn
),观察值会根据它们的异常分数进行标记。
话虽这么说,没有什么能阻止你在运行隔离森林后提出自己的规则。您可以绘制异常分数,然后根据分数的分布亲自查看另一个阈值是否有意义。这将是一个更具经验性的规则。
这将是一个经验法则。您可以想出一些逻辑来标记异常值(如果与平均值相差 2-std,则将其标记为异常值,然后使用此百分比来设置污染水平)。
有一个称为score的属性,您可以将其用作 model.predict_score(X) ,它基于此返回异常分数,您可以将其分类为内点或异常点。