You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改permutation importance代码仅绘制前3个重要特征

代码修改方案

你只需要调整排序索引的截取逻辑,仅保留重要性最高的3个特征的索引即可,修改后的完整代码如下:

import matplotlib.pyplot as plt
import numpy as np
from sklearn.datasets import fetch_openml
from sklearn.ensemble import RandomForestClassifier
from sklearn.impute import SimpleImputer
from sklearn.inspection import permutation_importance
from sklearn.compose import ColumnTransformer
from sklearn.model_selection import train_test_split
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import OneHotEncoder


result = permutation_importance(rf,
                                X_test,
                                y_test,
                                n_repeats=10,
                                random_state=42,
                                n_jobs=2)
# 取升序排序的最后3个(即重要性最高的3个),可选反转让重要性最高的在图最上方
sorted_idx = result.importances_mean.argsort()[-3:][::-1]
        

fig, ax = plt.subplots()
ax.boxplot(result.importances[sorted_idx].T,
           vert=False,
           labels=X_test.columns[sorted_idx])

ax.set_title("Permutation Importances (test set)")
fig.tight_layout()
plt.show()

核心修改说明

  • argsort()默认返回升序排列的索引,因此result.importances_mean.argsort()得到的是按重要性从小到大排序的特征索引,取末尾[-3:]就能筛选出重要性最高的3个特征的索引
  • 末尾加[::-1]是为了让箱线图从上到下按重要性从高到低展示,符合常规阅读习惯,不需要可以直接删掉这部分

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 04:54:03