virtual_ensembles_predict

virtual_ensembles_predict 方法,允许使用虚拟集成方法对给定数据集进行预测。

方法调用格式:

virtual_ensembles_predict(model, data, prediction_type=None, virtual_ensembles_count=1, ntree_start=0, ntree_end=0, eval_period=1, thread_count=-1, verbose=None)

参数:

  • model: 训练好的 CatBoost 模型。必填参数。
  • data: 特征值数据。格式取决于输入对象的个数:
    • 多个对象:矩阵状数据,形状为 (object_count, feature_count)。
    • 单个对象:数组。 数据类型可以是 catboost.Pool、列表的列表、numpy.ndarraypandas.DataFramepandas.SparseDataFramepandas.Seriescatboost.FeaturesDatascipy.sparse.spmatrix(除 dia_matrix 外的所有子类)。必填参数。[类似于staged_predict的参数描述]
  • prediction_type: 所需的预测类型。支持的预测类型:ProbabilityClassRawFormulaValExponentLogProbability。默认为 None (对于 Poisson 和 Tweedie 损失函数为 Exponent,对于所有其他损失函数为 RawFormulaVal)。[类似于staged_predict的参数描述]
  • virtual_ensembles_count: 虚拟集成的数量。类型为 int,默认为 1。
  • ntree_start: 要使用的第一棵树的索引(包含在范围内)。索引从 0 开始。默认为 0。[类似于staged_predict的参数描述]
  • ntree_end: 要使用的最后一棵树的索引(不包含在范围内)。默认为 0(表示使用到模型的最后一棵树)。[类似于staged_predict的参数描述]
  • eval_period: 树的步长。类似于 staged_predict 中的描述。默认为 1。[类似于staged_predict的参数描述]
  • thread_count: 用于计算预测的线程数。优化执行速度。此参数不影响结果。默认为 -1(线程数等于处理器核心数)。[类似于staged_predict的参数描述]
  • verbose: 是否将测量的评估指标输出到 stderr。默认为 None。[类似于staged_predict的参数描述]

返回值:

一个生成器,它生成使用模型中树的子集依次递增,以及不同虚拟集成组合的预测。生成值的类型取决于输入对象的个数以及 prediction_type 参数,类似于 staged_predict 的返回值。不同之处在于,virtual_ensembles_predict 会为每个虚拟集成生成一组预测。

虚拟集成方法:

虚拟集成是一种通过组合多个模型的预测来提高预测准确性的方法。virtual_ensembles_predict 方法通过创建多个虚拟集成并对每个集成进行预测来实现这一点。