隔离林中的基本估计量

问题描述

在隔离森林的背景下,我正在努力理解“基本估计量”的含义。

scikit-learn中的“隔离林”方法的参数之一是n_estimators;其在sklearn docs中的描述如下:

集合中基本估计量的数量

我试图解释Sklearn上的文档以及Google和Youtube上的内容 了解此术语,但没有运气。有人可以解释一下IF的含义吗?

解决方法

tl; dr :这是一种特殊的决策树,在original paper中称为 Isolation Tree(iTree)

我们在本文中证明,可以有效地构建树结构来隔离每个实例。 [...]树的这种隔离特性构成了我们检测异常的方法的基础,我们将此树称为隔离树或iTree。

提议的方法称为隔离森林或iForest,它为给定的数据集构建一组iTree [...]


所有集成方法(隔离林belongs都由基本估计量组成(即,它们恰好是基本估计量的集合);来自sklearn guide

集成方法的目标是将使用给定学习算法构建的多个基本估计量的预测相结合,以提高单个估计量的通用性/鲁棒性。

例如,在Random Forest(可以说是“隔离森林”这个名字的灵感)中,此基本估计量是一个简单的决策树:

n_estimators: int,默认为100

森林中的树木数量。

Gradient Boosting Trees之类的算法类似(尽管scikit-learn文档将它们称为“ 增强阶段”,但它们仍是决策树),Extra Trees等。

在所有这些算法中,基本估计量都是固定的(尽管其特定参数可能会随着集合参数中的设置而变化)。还有另一类集成方法,其中也可以通过相应的自变量base_estimator设置要用作基本估计量的确切模型;例如,这是Bagging Classifier

base_estimator:对象,默认=无

适合数据集随机子集的基本估计量。如果为None,则基本估计量为决策树。

AdaBoost

base_estimator:对象,默认=无

构建增强后的合奏的基本估计量。 [...]如果为None,则基本估算值为DecisionTreeClassifier(max_depth=1)

从历史上讲,第一个合奏是使用决策树的各种版本构建的,可以说今天仍然是决策树(或变体,例如iTrees)几乎完全用于此类合奏。引用我在Execution time of AdaBoost with SVM base classifier中的另一个答案:

使用决策树作为基本分类器(更具体地说,决策树桩,即深度仅为1的DT),构想了Adaboost(和类似的集成方法);有充分的理由说明为什么今天仍然存在,如果您未明确指定base_classifier参数,则该参数将假定值为DecisionTreeClassifier(max_depth=1)。 DT很适合此类集合,因为它们本质上是不稳定分类器,而SVM则不是这种分类器,因此,在用作基本分类器时,预计不会提供太多。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...