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:
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通常不是最佳阈值。 正类的预测通过以下逻辑计算:1 if pred > decision_threshold else 0
- Returns:
以模型名称为键,模型预测为值的字典。
- Return type:
dict[str, pd.Series] | dict[str, np.ndarray]