permutation_importance#

排列重要性方法。

模块内容#

函数#

calculate_permutation_importance

计算特征的排列重要性。

calculate_permutation_importance_one_column

计算原始数据框中一列的排列重要性。

graph_permutation_importance

生成管道的排列重要性柱状图。

目录#

evalml.model_understanding.permutation_importance.calculate_permutation_importance(pipeline, X, y, objective, n_repeats=5, n_jobs=None, random_seed=0)[source]#

计算特征的排列重要性。

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

  • X (pd.DataFrame) – 用于评分和计算排列重要性的输入数据。

  • y (pd.Series) – 目标数据。

  • objective (str, ObjectiveBase) – 用于评分的目标函数。

  • n_repeats (int) – 置换特征的次数。默认为 5。

  • n_jobs (intNone) – 描述管道并行级别的非负整数。None 和 1 等效。如果设置为 -1,则使用所有 CPU。对于小于 -1 的 n_jobs,使用 (n_cpus + 1 + n_jobs)。默认为 None。

  • random_seed (int) – 随机数生成器的种子。默认为 0。

返回值

多次洗牌后的平均特征重要性得分。

返回类型

pd.DataFrame

引发

ValueError – 如果目标函数不能与给定的管道一起使用。

evalml.model_understanding.permutation_importance.calculate_permutation_importance_one_column(pipeline, X, y, col_name, objective, n_repeats=5, fast=True, precomputed_features=None, random_seed=0)[source]#

计算原始数据框中一列的排列重要性。

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

  • X (pd.DataFrame) – 用于评分和计算排列重要性的输入数据。

  • y (pd.Series) – 目标数据。

  • col_name (str, int) – 在 X 中计算排列重要性的列。

  • objective (str, ObjectiveBase) – 用于评分的目标函数。

  • n_repeats (int) – 置换特征的次数。默认为 5。

  • fast (bool) – 是否使用快速方法计算排列重要性。默认为 True。

  • precomputed_features (pd.DataFrame) – 使用快速方法计算排列重要性所需的预计算特征。默认为 None。

  • random_seed (int) – 随机数生成器的种子。默认为 0。

返回值

多次洗牌后的平均特征重要性得分。

返回类型

float

引发
  • ValueError – 如果管道不支持快速排列重要性计算。

  • ValueError – 如果 precomputed_features 为 None。

evalml.model_understanding.permutation_importance.graph_permutation_importance(pipeline, X, y, objective, importance_threshold=0)[source]#

生成管道的排列重要性柱状图。

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

  • X (pd.DataFrame) – 用于评分和计算排列重要性的输入数据。

  • y (pd.Series) – 目标数据。

  • objective (str, ObjectiveBase) – 用于评分的目标函数。

  • importance_threshold (float, optional) – 如果提供,绘制排列重要性绝对值大于 importance_threshold 的特征。默认为 0。

返回值

plotly.Figure,一个显示特征及其各自排列重要性的柱状图。

引发

ValueError – 如果 importance_threshold 不大于或等于 0。