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
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_accuracy 和 f1 等评估指标很有用,因为 0.5 通常不是最优阈值。预测结果通过对正类别应用以下逻辑计算:如果 pred > decision_threshold 则为 1,否则为 0
- 返回值:
字典,其中键是模型名称,值是模型的预测结果。
- 返回值类型:
dict[str, pd.Series] | dict[str, np.ndarray]