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 (int 或 None) – 描述管道并行级别的非负整数。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。