TabularPredictor.predict

TabularPredictor.predict(data: DataFrame | str, model: str | None = None, as_pandas: bool = True, transform_features: bool = True, *, decision_threshold: float | None = None) Series | ndarray[source]

使用训练好的模型对新数据生成标签列值的预测。

参数:
  • data (pd.DataFrame 或 str) – 用于生成预测的数据。应包含与训练数据相同的列名并遵循相同的格式(可能包含 Predictor 不会使用的额外列,包括标签列本身)。如果传入 str,data 将使用该 str 值作为文件路径加载。

  • model (str (可选)) – 用于获取预测的模型名称。默认为 None,此时使用验证集上得分最高的模型。可以通过调用 predictor.model_names() 来列出此 predictor 中的有效模型。

  • as_pandas (bool, 默认 = True) – 是否将输出作为 pd.Series (True) 或 np.ndarray (False) 返回。

  • transform_features (bool, 默认 = True) –

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

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

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

返回类型:

预测数组,每个元素对应给定数据集中的一行。根据 as_pandas 参数,返回类型为 np.ndarraypd.Series