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() 快得多,因为此方法利用模型依赖关系图来避免重复计算。

参数:
  • data (DataFrame, default = None) –

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

    如果 self.has_val 为 True,则使用验证数据。否则,跳过预测并返回袋外 (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 通常不是最优阈值。预测结果通过对正类别应用以下逻辑计算:如果 pred > decision_threshold 则为 1,否则为 0

返回值:

字典,其中键是模型名称,值是模型的预测结果。

返回值类型:

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