如何移除sklearn部分依赖图(partial dependence plots)的十分位标记?
部分依赖图移除x轴十分位标记解决方案
- 方法一:绘图时直接关闭标记
在调用scikit-learn的部分依赖图绘制接口时,直接传入rug=False参数即可直接跳过十分位标记的绘制,新旧版接口均支持该参数,参考代码:
from sklearn.inspection import PartialDependenceDisplay # 以下model为已训练完成的模型,X为对应特征矩阵 display = PartialDependenceDisplay.from_estimator( estimator=model, X=X, features=[0], # 替换为你要可视化的特征索引/名称 rug=False, # 该参数控制是否绘制底部十分位标记,设为False直接关闭 # 其他自定义参数 )
- 方法二:对已生成的图移除现有标记
如果已经完成绘图不想重新执行计算逻辑,可以直接操作绘图返回的对象删除已生成的标记,参考代码:
from sklearn.inspection import PartialDependenceDisplay import matplotlib.pyplot as plt # 假设已经运行过绘图代码得到了display对象 display = PartialDependenceDisplay.from_estimator(model, X, features=[0]) # 遍历所有十分位标记对象执行移除操作 for rug_line in display.rug_lines_: if rug_line is not None: rug_line.remove() # 刷新画布即可看到效果 plt.show()
你提到的十分位标记本质是Rug图,用来展示对应特征在样本中的实际分布分位位置,rug参数默认值为True,所以默认会在图中展示该标记。
内容的提问来源于stack exchange,提问作者Henrique
相关产品推荐
相关产品推荐

