为什么隔离森林实现将其变成监督学习问题(目标为随机值?)

数据挖掘 Python r 隔离森林
2021-09-29 13:59:26

我正在研究 python 和 R 中隔离森林的各种实现。python 中的 sklearn 和 R 中的 solitude 都使用带有 ExtraTrees 回归器的 y 变量。

既然隔离森林是无监督的,我想知道为什么它会变成一个有监督的问题?在对以前看不见的数据集进行评分时,这不是一个问题吗?

例如 sklearn (python) line 248有这个。

在孤独的144线也是如此。

1个回答

Extra-random Trees 需要一个目标变量,因此 Isolation Forest 会生成一个随机目标(sklearnsolitude)。在预测时,不y使用任何值,ExtraTrees 实际上并不进行预测;相反,样本被传播到叶子并提取深度(sklearn)。

至于树的构建过程,sklearn 至少不使用这些y值,因为 ExtraTrees 模型具有max_features=1splitter='random'( source )。我不太确定solitude,因为它有mtry=ncol-1来源);也许更进一步,使用splitrule='extratrees'会解决这个问题?否则,选择的拆分将尝试在 random 上进行优化y,尽管因为这些是随机的,所以它可能并不重要(当然我不会称它为监督模型)。