SHAP绘图负号不显示

一、问题

使用SHAP做机器学习可解释性时,绘图负号不编码报错:

Glyph 8722 missing from current font

二、解决过程

发现使用英文编码可以正常显示负号,说明无法正常编码的原因类似于matplotlib对中文字体的不支持,但是一直使用的plt.rcParams['axes.unicode_minus']=False
无效,如下图

(1) 使用中文字体无法显示负号

SHAP绘图负号不显示_第1张图片

(2) 使用英文字体可以显示负号,但自然无法显示中文

SHAP绘图负号不显示_第2张图片

三、解决方法

显然,只需要一个兼容中英文的字体即可,即微软雅黑,设置如下

plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']

SHAP绘图负号不显示_第3张图片

你可能感兴趣的:(机器学习,人工智能)