TabularPredictor.predict_proba

TabularPredictor.predict_proba(data: DataFrame | str, model: str | None = None, as_pandas: bool = True, as_multiclass: bool = True, transform_features: bool = True) DataFrame | Series | ndarray[source]

使用训练好的模型生成预测的类别概率,而不是类别标签(如果任务是分类)。如果 predictor.problem_type 是回归或分位数,这将引发 AssertionError。

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

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

  • as_pandas (bool, 默认值 = True) – 是否将输出作为 pandas 对象 (True) 或 numpy 数组 (False) 返回。如果这是多类别问题或 as_multiclass=True,则 pandas 对象为 DataFrame,否则为 Series。如果输出为 DataFrame,则列顺序将与 predictor.class_labels 一致。

  • as_multiclass (bool, 默认值 = True) –

    是否将二元分类概率作为多类别分类的概率返回。

    输出将包含两列,如果 as_pandas=True,列名将对应于二元类别标签。列顺序将与 predictor.class_labels 相同。

    如果为 False,输出将只包含正类别的一列(通过 predictor.positive_class 获取正类别名称)。仅影响二元分类问题的输出。

  • transform_features (bool, 默认值 = True) –

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

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

返回值:

  • 预测的类别概率数组,对应于给定数据中的每一行。

  • 可能是 np.ndarraypd.DataFrame / pd.Series,具体取决于 as_pandasas_multiclass 参数以及预测问题的类型。

  • 对于二元分类问题,输出包含每个数据点的负类别和正类别的预测概率,除非您指定 as_multiclass=False