partial_dependence_functions#

用于运行偏依赖的顶层函数。

模块内容#

函数#

graph_partial_dependence

创建一个一维或二维偏依赖图。

partial_dependence

计算一维或二维偏依赖。

目录#

evalml.model_understanding.partial_dependence_functions.graph_partial_dependence(pipeline, X, features, class_label=None, grid_resolution=100, kind='average')[source]#

创建一个一维或二维偏依赖图。

将单个整数或字符串作为 features 传递,将创建一个一维偏依赖图,其中特征值与偏依赖值对应绘制。将 features 传递一个整数/字符串的元组,将创建一个二维偏依赖图,其中 feature[0] 在 y 轴上形成等高线,feature[1] 在 x 轴上,偏依赖值在 z 轴上。

参数
  • pipeline (PipelineBase子类) – 已拟合的管道。

  • X (pd.DataFrame, np.ndarray) – 用于生成特征值网格的输入数据,将在此网格上计算偏依赖。

  • features (int, string, tuple[intstring]) – 要为其创建偏依赖图的目标特征。如果 features 是整数,则必须是要使用的特征的索引。如果 features 是字符串,则必须是 X 中有效的列名。如果 features 是整数/字符串元组,则必须包含 X 中有效的列索引/名称。

  • class_label (string, 可选) – 对于多类别问题,要绘制的类别名称。如果为 None,将绘制每个类别的偏依赖。此参数不会改变回归或二元分类管道的行为。对于二元分类,将始终显示正类别标签的偏依赖。默认为 None。

  • grid_resolution (int) – 用于偏依赖图的特征样本数量。

  • kind ({'average', 'individual', 'both'}) – 要绘制的偏依赖类型。'average' 创建常规偏依赖 (PD) 图,'individual' 创建个体条件期望 (ICE) 图,'both' 创建包含 PD 和 ICE 图的单一图。ICE 图只能用于一维偏依赖图。

返回

包含用于绘图的偏依赖数据的图形对象

返回类型

plotly.graph_objects.Figure

引发
  • PartialDependenceError – 如果请求的图是针对管道中不存在的类别名称。

  • PartialDependenceError – 如果请求的 ICE 图是针对二维偏依赖。

evalml.model_understanding.partial_dependence_functions.partial_dependence(pipeline, X, features, percentiles=(0.05, 0.95), grid_resolution=100, kind='average', fast_mode=False, X_train=None, y_train=None)[source]#

计算一维或二维偏依赖。

如果 features 给定单个整数或字符串,则计算一维偏依赖。如果给定包含两个整数或字符串的元组,则计算二维偏依赖,其中第一个特征在 y 轴,第二个特征在 x 轴。

参数
  • pipeline (PipelineBase子类) – 已拟合的管道

  • X (pd.DataFrame, np.ndarray) – 用于生成特征值网格的输入数据,将在此网格上计算偏依赖

  • features (int, string, tuple[intstring]) – 要为其创建偏依赖图的目标特征。如果 features 是整数,则必须是要使用的特征的索引。如果 features 是字符串,则必须是 X 中有效的列名。如果 features 是整数/字符串元组,则必须包含 X 中有效的列索引/名称。

  • percentiles (tuple[float]) – 用于创建网格极端值的下限和上限百分位数。必须在 [0, 1] 范围内。默认为 (0.05, 0.95)。

  • grid_resolution (int) – 用于偏依赖图的特征样本数量。如果此值小于 X 中分类数据的最大类别数,则将设置为最大类别数 + 1。默认为 100。

  • kind ({'average', 'individual', 'both'}) – 要返回的预测类型。'individual' 将返回 X 中每个样本在网格所有点的预测。'average' 将返回网格所有点的预测,但这些预测是基于 X 中所有样本平均得出的。

  • fast_mode (bool, 可选) – 在计算偏依赖时是否应使用性能优化。默认为 False。请注意,用户指定的组件可能无法产生正确的偏依赖结果,因此快速模式只能与 EvalML 原生组件一起使用。此外,某些组件与快速模式不兼容;在这些情况下,将引发错误,表明不应使用快速模式。

  • X_train (pd.DataFrame, np.ndarray) – 用于训练原始管道的数据。在快速模式下将用于训练克隆的管道。默认为 None。

  • y_train (pd.Series, np.ndarray) – 用于训练原始管道的目标数据。在快速模式下将用于训练克隆的管道。默认为 None。

返回

kind=’average’ 时:DataFrame,包含网格所有点上经过 X 中所有样本平均后的预测值以及用于计算这些预测值的数据。

kind=’individual’ 时:DataFrame,包含 X 中每个样本在网格所有点上的个体预测值以及用于计算这些预测值的数据。如果计算的是二维偏依赖,则结果是 DataFrame 列表,每个 DataFrame 代表一个样本的预测值。

kind=’both’ 时:一个元组,包含经过 X 中所有样本平均后的预测值 (在一个 DataFrame 中) 和 X 中每个样本的个体预测值 (在一个 DataFrame 列表中)。

在一维情况下:DataFrame 将包含两列,“feature_values”(计算偏依赖的网格点)和“partial_dependence”(该特征值处的偏依赖)。对于分类问题,将有第三列名为“class_label”(计算偏依赖的类别标签)。对于二元分类,偏依赖仅为“正”类别计算。

在二维情况下:DataFrame 将包含 grid_resolution 数量的列和行,其中索引和列头分别是用于创建偏依赖等高线的第一个和第二个特征的采样值。DataFrame 的值包含每个特征值对的偏依赖数据。

返回类型

pd.DataFrame, list(pd.DataFrame), or tuple(pd.DataFrame, list(pd.DataFrame))

引发
  • ValueError – 在调用 scikit-learn 的偏依赖方法时出错。

  • Exception – 计算过程中的所有其他错误。

  • PartialDependenceError – 如果用户提供的特征元组不恰好包含两个特征。

  • PartialDependenceError – 如果提供的管道未拟合。

  • PartialDependenceError – 如果提供的管道是 Baseline 管道。

  • PartialDependenceError – 如果传入的任何特征完全是 NaN。

  • PartialDependenceError – 如果任何特征是低方差的。定义为某个值出现的频率超过用户传入的上限百分位数。默认为 95%。