You need to enable JavaScript to run this app. 为什么我用Python绘制的SHAP图显示为灰色而非红蓝色?
优惠活动
大模型
产品
解决方案
定价
更多

为什么我用Python绘制的SHAP图显示为灰色而非红蓝色?

SHAP结合Catboost绘图无红蓝色块、整体呈灰色解决方案
  • 特征值矩阵缺失
    调用shap.summary_plot()等可视化函数时,必须同时传入SHAP值数组和原始特征矩阵X两个核心参数,缺少特征矩阵时SHAP无法基于特征数值的高低映射红蓝配色,会直接输出灰色图。
  • Catboost输出的SHAP值维度不匹配
    分类任务中Catboost原生输出的SHAP值为三维数组(样本数×特征数×类别数),直接传入绘图函数会导致格式识别错误。二分类场景下可通过shap_values = explainer(X)[:,:,1]提取正类对应的SHAP值后再绘图,多分类场景按需指定对应类别维度即可。
  • 颜色映射配置错误
    检查绘图代码是否误将cmap参数设置为灰度色系,可显式指定配色参数覆盖默认配置,示例代码:shap.summary_plot(shap_values, X, cmap="RdBu_r")。
  • 特征未做数值化编码
    若传入的特征全为字符串类型的类别特征,SHAP无法判定特征值高低,无法生成渐变配色,需要先将类别特征编码为数值型后再传入SHAP解释器。

内容的提问来源于stack exchange,提问作者new_to_ds

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 09:00:04