组重要性#
在本笔记本中,我们展示了如何计算和解释InterpretML的EBM全局解释中显示的总体重要性。我们还展示了如何计算一组特征或术语的重要性。
在整个笔记本中,我们使用术语来表示单个特征和交互(对)。
这个笔记本可以在我们的examples folder在GitHub上找到。
# install interpret if not already installed
try:
import interpret
except ModuleNotFoundError:
!pip install --quiet interpret pandas scikit-learn
训练一个可解释的提升机(EBM)用于回归任务
让我们使用波士顿数据集作为参考并训练一个EBM。
import numpy as np
import pandas as pd
from sklearn.datasets import load_diabetes
from interpret.glassbox import ExplainableBoostingRegressor
from interpret import set_visualize_provider
from interpret.provider import InlineProvider
set_visualize_provider(InlineProvider())
X, y = load_diabetes(return_X_y=True, as_frame=True)
ebm = ExplainableBoostingRegressor()
ebm.fit(X, y)
ExplainableBoostingRegressor()In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
ExplainableBoostingRegressor()
解释模型
EBMs 提供两种不同类型的解释:关于模型整体行为的全局解释和关于模型个别预测的局部解释。
全局解释
全局解释对于理解模型认为重要的内容以及识别其决策或训练数据中的潜在缺陷非常有用。让我们从计算和显示全局解释开始:
from interpret import show
show(ebm.explain_global(name='EBM'))