如何在Python中使用scikit-learn绘制多分类随机森林的偏依赖图
多分类随机森林偏依赖图Python实现解答
scikit-learn原生支持情况
scikit-learn已经原生支持多分类随机森林的偏依赖图绘制,无需提交功能需求。
从0.22版本开始,你可以直接调用sklearn.inspection.PartialDependenceDisplay类实现该功能,仅需在调用时通过target参数指定你需要可视化的目标类别索引即可,也支持同时指定多个类别对比绘制。
参考使用示例:
from sklearn.datasets import load_iris from sklearn.ensemble import RandomForestClassifier from sklearn.inspection import PartialDependenceDisplay import matplotlib.pyplot as plt # 加载3分类数据集、训练随机森林 X, y = load_iris(return_X_y=True) clf = RandomForestClassifier(n_estimators=100, random_state=42) clf.fit(X, y) # 绘制目标类别为索引2、对应第0个特征的偏依赖图 PartialDependenceDisplay.from_estimator(clf, X, features=[0], target=2) plt.show()
其他可选Python工具包
如果你需要更丰富的自定义能力或更准确的效应分析结果,可选择以下工具:
- PDPbox:专门针对偏依赖图开发的工具包,支持多分类场景,自带的绘图样式更美观,同时支持展示特征分布直方图,可读性更强
- SHAP:可解释性领域常用工具,也支持多分类模型的偏依赖计算,还可以结合SHAP值同步输出特征的全局、局部效应,信息维度更丰富
- ALEPython:如果你的输入特征之间存在较强相关性,偏依赖图的结果会存在偏差,可以用该包绘制累积局部效应(ALE)图,结果准确性更高,同样适配多分类模型
内容的提问来源于stack exchange,提问作者LCheng
相关产品推荐
相关产品推荐

