✨ 欢迎关注 ✨
本节介绍: 连续数据与分类数据共存的SHAP可视化散点图与箱形图组合形式 。数据采用模拟数据,作者根据个人对机器学习的理解进行代码实现与图表输出,仅供参考。 完整 数据和代码将在稍后上传至交流群,付费成员可在交流群中获取下载。需要的朋友可关注公众文末提供的购买方式。 购买前请咨询,避免不必要的问题。
✨ 文献信息 ✨
文献展示如何通过不同的可视化形式呈现原始数据与shap值的可视化,其中对于分类型数据,采用箱形图进行可视化,而对于连续数据,则使用散点图、拟合曲线和颜色映射的结合方式进行可视化,针对具有多个类别的数据,除了使用箱形图进行可视化外,也可以采用散点图来展示,尤其是在类别数较多的情况下,为了进一步解释这种选择,通过模拟数据展示都采用散点图的可视化形式
从这张图的可视化可以看出,对于每个特征的数据,分类特征(如 sex, cp, restecg, fbs, 等)是通过散点图展示的,相对于文献中的箱图而言可能就没有这么美观,因此,在复现文献的过程中,类似的模拟数据也应该遵循这一方法,采用箱图进行分类数据的展示,而对于连续数据,使用散点图结合拟合曲线和颜色映射来展示
✨ 基础代码 ✨
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'Times New Roman'
plt.rcParams['axes.unicode_minus'] = False
import warnings
# 忽略所有警告
warnings.filterwarnings("ignore")
df = pd.read_csv('2025-6-18公众号Python机器学习AI.csv')
from sklearn.model_selection import train_test_split
# 划分特征和目标变量
X = df.drop(['target'], axis=1)
y = df['target']
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(
X,
y,
test_size=0.3,
random_state=42,
stratify=df['target']
)
import xgboost as xgb
from sklearn.metrics import accuracy_score
# 初始化XGBoost分类器
model = xgb.XGBClassifier(random_state=42)
# 训练模型
model.fit(X_train, y_train)
import shap
explainer = shap.TreeExplainer(model)
shap_values = explainer.shap_values(X_test)
代码使用默认参数下的XGBoost分类器对数据进行训练,并计算测试集的SHAP值,主要目的是为了图表的复现。需要注意的是,这里使用的是默认参数,没有进行模型调参等操作,实际应用时应该包括模型调参、多模型训练以及选择最优模型等步骤
接下来绘制每个特征的散点图,并对每个特征的SHAP值进行LOWESS拟合,目的是展示每个特征与其SHAP值之间的关系,这个可视化图表就是用于参考的对象,所有都为散点形式展示
这里提取了连续性数据,并仅对这些数据进行可视化,添加了颜色映射,使得观察者能够更方便地识别原始特征值和其对应的SHAP值之间的关系,以及它们如何影响预测结果的走向
最后提取类别性数据的SHAP值,并通过箱线图可视化每个类别特征对模型预测的影响,帮助观察不同类别对预测结果的贡献
相较于散点图,使用箱线图对类别性数据进行可视化更加美观和直观,箱线图能够清晰地展示每个类别的SHAP值分布,包括中位数、四分位数、离群值等信息,帮助快速识别不同类别对模型预测的影响。特别是在类别性特征数据中,箱线图通过精简的数据表现方式,避免了散点图可能出现的重叠和混乱,使得不同类别间的比较更加明晰,从而提升可视化效果的易读性和信息传达的准确性
✨ 该文章案例 ✨
在上传至交流群的文件中,像往期文章一样,将对案例进行逐步分析,确保读者能够达到最佳的学习效果。内容都经过详细解读,帮助读者深入理解模型的实现过程和数据分析步骤,从而最大化学习成果。
同时,结合提供的免费AI聚合网站进行学习,能够让读者在理论与实践之间实现融会贯通,更加全面地掌握核心概念。
✨ 购买介绍 ✨
本节介绍到此结束,有需要学习数据分析和Python机器学习相关的朋友欢迎到淘宝店铺:Python机器学习AI,或添加作者微信deep_ML联系,购买作者的公众号合集。截至目前为止,合集已包含近300多篇文章,购买合集的同时,还将提供免费稳定的AI大模型使用,包括但不限于ChatGPT、Deepseek、Claude等。
更新的内容包含数据、代码、注释和参考资料。 作者仅分享案例项目,不提供额外的答疑服务。项目中将提供详细的代码注释和丰富的解读,帮助您理解每个步骤 。 购买前请咨询,避免不必要的问题。
✨ 群友反馈 ✨
✨ 淘宝店铺 ✨
请大家打开淘宝扫描上方的二维码,进入店铺,获取更多Python机器学习和AI相关的内容,或者添加作者微信deep_ML联系 避免淘宝客服漏掉信息 ,希望能为您的学习之路提供帮助!
✨ 免费赠书 ✨
支持知识分享,畅享学习乐趣!特别感谢清华大学出版社 对本次赠书活动的鼎力支持!即日起,只需点赞、推荐、转发 此文章,作者将从后台随机抽取一位幸运儿,免费包邮赠送清华出版社提供的《扣子开发AI Agent智能体应用》这本精彩书籍📚!
💡 赶快参与,一键三连,说不定你就是那位幸运读者哦!
往期推荐
机器学习在临床数据分析中的应用:从数据预处理到Web应用实现的完整流程教学
期刊配图:PCA、t-SNE与UMAP三种降维方法简化高维数据的展示应用对比
XGBoost模型优化:基于相关系数剔除多重共线性与穷举法进行特征选择
Geographical-XGBoost:一种基于梯度提升树的空间局部回归的新集成模型实现
因果推断:利用EconML实现双重机器学习估计条件平均处理效应 (CATE)
期刊复现:基于XGBoost模型的网页工具SHAP力图解释单样本预测结果
期刊配图:nature cities通过ALE(累积局部效应)解析特征对模型影响
期刊复现:结合因果推断与SHAP可解释性的机器学习实现应用流程
nature communications:基于LightGBM与随机森林结合的多模型特征选择方法
如果你对类似于这样的文章感兴趣。
欢迎关注、点赞、转发~
个人观点,仅供参考