0Pricing
Learn AI with Python · 课时

LIME:局部可解释性说明

lime.tabular.LimeTabularExplainer、扰动输入和局部线性近似。

LIME:局部可解释性说明 是 CoddyKit 上的免费 Learn AI with Python 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Learn AI with Python 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Learn AI with Python 课程共包含 4 节课。

什么是 LIME

LIME(局部可解释的模型无关解释)通过在某个实例周围的小范围邻域内,为复杂模型的行为拟合一个简单且可解释的模型(例如线性回归),从而解释单次预测。

局部而非总体

黑箱模型在整体上可能具有高度非线性的行为,但在某个点附近通常可以近似看作线性。LIME 正是利用了这一点:它不解释整个模型,只解释您关注的实例周围的局部行为。

LIME 的工作原理

LIME 会扰动该实例以生成许多邻近样本,让黑箱模型为这些样本生成标签,根据样本与原实例的接近程度进行加权,然后拟合一个可解释的代理模型。代理模型的系数就构成了解释结果。

与模型无关

由于 LIME 只调用模型的预测函数,因此它适用于任何分类器或回归器:神经网络、梯度提升模型,甚至外部 API。它将模型视为黑箱。

LimeTabularExplainer

对于表格数据,您可以根据训练数据和特征名称构建一个 LimeTabularExplainer。它会利用训练数据的分布来生成符合实际的扰动样本。

from lime.lime_tabular import LimeTabularExplainer

explainer = LimeTabularExplainer(
    training_data=X_train.values,
    feature_names=X_train.columns.tolist(),
    class_names=["denied", "approved"],
    mode="classification",
)

explain_instance

要解释某一行数据,请将该行以及模型的 predict_proba 函数传给 explain_instance。LIME 会围绕该行生成扰动样本,并拟合局部代理模型。

exp = explainer.explain_instance(
    data_row=X_test.values[0],
    predict_fn=model.predict_proba,
    num_features=5,
)

使用概率预测,而不是类别预测

用于分类的 LIME 需要概率而不是硬标签,因为代理模型是在概率曲面上进行回归。请始终传入 model.predict_proba(或任何返回类别概率的函数)。

特征数量参数

num_features 会限制解释中显示的特征数量。数量较少时,解释会更加简单易懂,只突出最强的局部影响因素。

解读特征权重

exp.as_list() 会以(特征条件、权重)对的形式返回解释结果。正权重会将预测推向预测类别;负权重则会将预测推离该类别。

for feature, weight in exp.as_list():
    print(feature, round(weight, 3))
# income > 50000     0.21
# debt_ratio > 0.4  -0.18

可视化解释结果

LIME 可以将解释结果呈现为交互式图表或笔记本视图,并排显示贡献条和预测概率。

exp.show_in_notebook(show_table=True)
# or
fig = exp.as_pyplot_figure()

LIME 与 SHAP 的比较

两者都能解释单次预测,但各有不同:

  • SHAP具有较强的理论保证(可加性、一致性),并且能够提供总体视图
  • LIME更容易理解,与模型无关且直观,但它的局部代理模型只是近似结果,可能会因扰动的随机性而变化

快速检查

测试您对 LIME 的理解。

回顾

您学会了使用 LIME 进行局部解释:

  • LimeTabularExplainer根据训练数据和特征名称构建
  • explain_instance使用 model.predict_proba 拟合局部代理模型
  • 特征数量控制解释的规模
  • as_list() 返回带正负号的特征权重
  • LIME 与模型无关且关注局部,可作为 SHAP 的补充

常见问题解答

「LIME:局部可解释性说明」课时是免费的吗?

是的 — 「LIME:局部可解释性说明」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Learn AI with Python 课程的其余内容,请升级到 CoddyKit PRO。 Learn AI with Python 课程共包含 4 节课。

「LIME:局部可解释性说明」这节课中我会学到什么?

lime.tabular.LimeTabularExplainer、扰动输入和局部线性近似。 你通过在浏览器中直接运行的动手代码来练习 Learn AI with Python,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Learn AI with Python 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Learn AI with Python 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「LIME:局部可解释性说明」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Learn AI with Python 课中编写并运行代码吗?

能。每节 Learn AI with Python 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 检测机器学习模型中的偏见
  2. 用于模型可解释性的 SHAP 值
  3. LIME:局部可解释性说明
  4. 人工智能伦理与治理框架
← 返回 Learn AI with Python