模型可解释性之PDP和ALE

PDP:

什么是PDP

对于一个机器学习模型来说,PDP的值表示模型的输出与其中一个feature值的关系,这个feature可以是一个class的值也可以是一个数字的值。“整个模型输出的值关于其中一个feature xs的变化”

PDP 公式

在这里插入图片描述

计算方法类似于integration,即横轴是xs的值,Xc表示除了xs之外的所有维度的集合。
当Xs值确定时,关于Xc中每一个feature的维度进行求积分,最后进行相加成为一个数,xc中每一个维度的积分的上界以及下界均为无穷。

ALE公式

PDP假设每一个feature之间的独立性,但是很多情况下feature之间是相互依赖的。
区别在于加入了条件概率,可以更好的表示出所有feature相互之间的关系。
在这里插入图片描述

### ALE 可解释性 Python 代码示例 ALE (Accumulated Local Effects) 是一种用于评估特征对模型预测影响的方法,特别适用于理解复杂机器学习模型的行为。下面展示如何使用 `alib` 库来计算并可视化 ALE。 #### 安装所需库 首先安装所需的 Python 包: ```bash pip install alibi matplotlib pandas scikit-learn numpy ``` #### 加载数据集与训练模型 为了演示目的,这里采用简单的波士顿房价数据集作为例子,并构建一个随机森林回归模型来进行预测。 ```python import numpy as np from sklearn.datasets import load_boston from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestRegressor # Load dataset and split into training/testing sets. boston = load_boston() X_train, X_test, y_train, y_test = train_test_split( boston.data, boston.target, test_size=0.2, random_state=42) # Train a Random Forest model on the data. model = RandomForestRegressor(n_estimators=100).fit(X_train, y_train) ``` #### 计算 ALE 并绘制图表 接下来利用 `alibi.explainers.ALE` 来计算累积局部效应,并通过图形化方式呈现出来。 ```python from alibi.explainers import ALE import matplotlib.pyplot as plt ale = ALE(model.predict, feature_names=boston.feature_names) # Calculate ale effects over all features at once using default grid points per feature. explainer = ale.fit(X_train) # Plotting results for each continuous variable separately. for i in range(len(boston.feature_names)): fig, ax = plt.subplots(figsize=(8, 6)) explainer.plot_ale(i, show=False, ax=ax) plt.title(f'ALE plot for {boston.feature_names[i]}') plt.show() ``` 上述代码片段展示了如何加载数据、训练模型以及使用 `alibi` 中的 ALE 功能来分析各个输入变量对于目标输出的影响程度[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值