模型可解释性:特征重要性/SHAP/LIME

模型可解释性:特征重要性/SHAP/LIME

1. 特征重要性

python 复制代码
from sklearn.ensemble import RandomForestClassifier
import pandas as pd

# 树模型内置特征重要性
rf = RandomForestClassifier(n_estimators=100, random_state=42)
rf.fit(X_train, y_train)

importance = pd.Series(rf.feature_importances_, index=feature_names)
print(importance.nlargest(10))

# XGBoost 特征重要性
import xgboost as xgb
xgb_clf = xgb.XGBClassifier().fit(X_train, y_train)
xgb.plot_importance(xgb_clf, max_num_features=10)

2. SHAP 值

python 复制代码
import shap

# 计算 SHAP 值
explainer = shap.TreeExplainer(rf)
shap_values = explainer.shap_values(X_test)

# 摘要图
shap.summary_plot(shap_values[1], X_test, feature_names=feature_names)

# 单样本解释
shap.force_plot(explainer.expected_value[1], shap_values[1][0], X_test.iloc[0])

# 依赖图
shap.dependence_plot('feature_name', shap_values[1], X_test)

3. LIME

python 复制代码
from lime.lime_tabular import LimeTabularExplainer

explainer = LimeTabularExplainer(
    X_train.values,
    feature_names=feature_names,
    class_names=['class_0', 'class_1'],
    mode='classification'
)

# 解释单个样本
exp = explainer.explain_instance(
    X_test.iloc[0].values,
    rf.predict_proba,
    num_features=10
)

exp.show_in_notebook()

总结

方法 适用模型 粒度 计算速度
特征重要性 树模型 全局 快
SHAP 任意模型 全局+局部 中
LIME 任意模型 局部 快
相关推荐
新知图书2 分钟前
6.3 美食烹饪
人工智能·提示词·美食·提示词工程
IT古董3 分钟前
《FDE前沿部署工程师实战教程》27 - Enterprise AI Gateway实战:统一路由、限流、降级与成本控制
人工智能
云安全助手8 分钟前
自建接入VS聚合平台:企业 AI 调用的选型思路与迁移成本拆解
java·大数据·数据库·人工智能·ai大模型
小小张说故事8 分钟前
SHAP 可解释性入门:模型为什么这么判?Python 实战 + 4 个最常见的误读
后端·python·机器学习
Gu_WenYun9 分钟前
从全面普涨到双轨分化,如何用基金布局存储芯片?
大数据·人工智能·业界资讯
skywalk816312 分钟前
deepseekharness在对话中,有四种模式,分别是极简、PTC、创造和标准模式,每种模式下挂载的插件、skill等数量不一样
前端·人工智能·实践
richard_yuu16 分钟前
Hopfield 网络:联想记忆的「鼻祖」,为什么它能「回忆」?
深度学习·神经网络·yolo·机器学习
陈工大模型18 分钟前
GEO监测工具技术选型:2026年9月AI可见性十强评测
大数据·人工智能·科技
bing.shao18 分钟前
当模型也会越狱:英伟达 Open Agent Safety Platform 与「双层带外」全栈智能体安全架构深度解析
人工智能·安全·安全架构
玩AI的奶茶19 分钟前
配一次环境像装修一次房:哪些云 GPU 平台能把它留下来?
人工智能·ai·gpu算力·token·算力租赁