隔离林需要数据规范化吗?

Posted

技术标签:

【中文标题】隔离林需要数据规范化吗?【英文标题】:Data normalization needed for Isolation Forest? 【发布时间】:2020-07-07 17:04:18 【问题描述】:

我希望使用 Isolation Forest 对一些系统时间序列数据进行异常值检测。在我的案例中,特征的尺度是多种多样的。我的直觉告诉我应该对数据进行规范化,但我不记得原始 Iso Forest 论文中的这个要求。任何指导表示赞赏。

【问题讨论】:

这个问题已经讨论过here。 【参考方案1】:

我认为规范化隔离林的数据不是一个好主意。异常检测通常不需要标准化。根据定义,异常值/异常检测是识别与大多数点不同且较少的数据点。归一化会在较小的范围内获得所有这些点,这对于我们在点之间检测的“差异”(异常值检测本身的基础)没有好处。

来到孤立森林,特征尺度之间的差异应该无关紧要。如果这是您唯一关心的标准化问题,您始终可以将属性“max_features”设置为 1。隔离森林是一种集成决策树算法,Max_features 是为训练每个树/基本估计器选择的最大特征数。如果将此设置为 1(默认情况下始终为 1),则每棵树只涉及一个特征,因此规模差异无关紧要。

【讨论】:

同意 IsolationForest,不要规范化数据。但对于许多基于距离的方法,如 KMeans 或 DBSCAN 归一化很重要 - 否则特征缩放将创建特征重要性的任意隐式加权 - 很少需要【参考方案2】:

标准化是不必要的。然而,它既不会伤害也不会帮助(假设线性缩放)。

隔离森林的工作原理是在最小值和最大值之间的随机点上拆分随机特征上的数据。因此,如果比例为 0-1 或 0-100000,则不会有任何区别,因为创建树仍然需要相同数量的拆分。

【讨论】:

以上是关于隔离林需要数据规范化吗?的主要内容,如果未能解决你的问题,请参考以下文章

Rails 系统规范还需要 DatabaseCleaner 吗?

数据仓库设计规范

异常值去除隔离林

PCB 可靠性设计规范,干货!

非规范化表和重复数据

需要数据库设计规范化帮助 (5nf)