shap画图中文特征总是乱码该怎么调呀~

在使用夏普值进行特征解释的过程中打印出的图片中文乱码无法显示,请问应该怎么调节呀~

Xx = filtered_data_1
Yy = filtered_data['违约']
x1_train, x1_test, y_train, y_test = train_test_split(Xx, Yy, test_size=0.3)

xgb_model = XGBRegressor(n_estimators=1000, max_depth=10, learning_rate=0.001, random_state=0)
xgb_model.fit(x1_train, y_train)
y_predict = xgb_model.predict(x1_test)
mean_squared_error(y_test, y_predict)**(0.5)
explainer = shap.TreeExplainer(xgb_model)
print (explainer.expected_value)
shap_values = explainer.shap_values(x1_train)
shap.force_plot(explainer.expected_value, shap_values[1],matplotlib = True,feature_names=filtered_data_1.columns)
shap.summary_plot(shap_values,x1_train,feature_names=filtered_data_1.columns)
#filtered_data_1.columns是特征的名称,文件是直接读取excel的,所以是中文,不知道该怎么调节,因此打印出的图片就是以下这样:

运行结果及报错内容

img

img

我的解答思路和尝试过的方法

看了网上一些无法显示中文的处理方式,大多是针对matplotlib报错的,好像并不适用我这个情况。
另外网上大多数使用shap值的特征都是英文,没有中文的,所以如果实在搞不定,那我就重新把特征用英文翻译一遍吧呜呜呜

我想要达到的结果

想在图片中显示出特征的中文

编码问题的解决思路就是转码,你试试文件导入时统一转码,或者导入前将文件另存为utf-8编码试试。

您好,我也遇到了同样的问题,能不能告诉我一下您是怎么解决的?