模型选择

派生自 _OrthoLearner 的估计器会在数据的不同折叠 (folds) 上拟合第一阶段的干扰模型 (nuisance models),然后拟合最终模型。在许多情况下,对多个第一阶段模型进行模型选择是合理的,库通过允许灵活地指定第一阶段模型来简化此过程,可以指定为以下任一类型:

  • 一个与 sklearn 兼容的估计器

    • 如果估计器是已知类,并且通过交叉验证(例如 LassoCV )执行自己的超参数选择,则此过程将执行一次,然后将选定的超参数用于每个折叠上的交叉拟合 (cross-fitting)

    • 如果使用自定义类,则它应支持 `fit` 方法;如果目标是连续的,则应支持 `predict` 方法;如果目标是离散的,则应支持 `predict_proba` 方法。

  • 以下字符串之一;每个关键字支持的具体模型集可能因包的版本而异

    "linear"

    选择 L1 或 L2 范数正则化的线性模型

    "poly"

    选择具有不同阶多项式特征的正则化线性模型

    "forest"

    选择随机森林模型

    "gbf"

    选择梯度提升模型

    "nnet"

    选择神经网络模型

    "automl"

    选择上述所有模型(请注意,这可能会非常耗时)

  • 上述任何项组成的列表

  • ModelSelector 的一个实现,这是一个支持两阶段模型选择和拟合过程的类(库内部使用,通常不建议终端用户直接使用)。

大多数子类也将字符串 `“auto”`` 用作特殊默认值,以自动从比 “automl” 生成的子集更小的适当模型子集中选择模型。