TabularPredictor.predict_multi

TabularPredictor.predict_multi(data: DataFrame = None, models: List[str] = None, as_pandas: Literal[True] = True, transform_features: bool = True, inverse_transform: bool = True, decision_threshold: float = None) dict[str, Series][source]
TabularPredictor.predict_multi(data: DataFrame = None, models: List[str] = None, *, as_pandas: Literal[False], transform_features: bool = True, inverse_transform: bool = True, decision_threshold: float = None) dict[str, ndarray]

返回一个预测字典,其中键是模型名称,值是模型对数据的预测概率。

等效输出为: ``` predict_dict = {} for m in models:

predict_dict[m] = predictor.predict(data, model=m)

```

请注意,这通常比单独为每个模型调用 TabularPredictor.predict() 要快得多,因为此方法利用模型依赖图来避免冗余计算。

Parameters:
  • data (DataFrame, default = None) –

    用于预测的数据。 如果为None:

    如果self.has_val,则使用验证数据。 否则,跳过预测并返回折外(OOF)预测,相当于: ``` predict_dict = {} for m in models:

    predict_dict[m] = predictor.predict_oof(model=m)

    ```

  • models (List[str], default = None) – 要获取预测的模型列表。 如果为None,则使用所有可以进行推断的模型。

  • as_pandas (bool, default = True) – 是否将每个模型的输出作为 pd.Series (True) 或 np.ndarray (False) 返回。

  • transform_features (bool, default = True) –

    如果为True,则在用模型预测之前预处理数据。 如果为False,则跳过全局特征预处理。

    如果您已经调用了data = predictor.transform_features(data),这对于节省推理时间非常有用。

  • inverse_transform (bool, default = True) – 如果为True,将返回原始格式的预测结果。 如果为False(高级),将返回AutoGluon内部格式的预测结果。

  • decision_threshold (float, default = None) – 用于将预测概率转换为预测的决策阈值。 仅适用于二分类问题,否则忽略。 如果为None,则默认为0.5。 有效值范围为[0.0, 1.0]。 您可以通过首先调用TabularPredictor.calibrate_decision_threshold()来获得优化的decision_threshold。 对于诸如balanced_accuracyf1等指标,设置此值非常有用,因为0.5通常不是最佳阈值。 正类的预测通过以下逻辑计算:1 if pred > decision_threshold else 0

Returns:

以模型名称为键,模型预测为值的字典。

Return type:

dict[str, pd.Series] | dict[str, np.ndarray]