Permutation Imporatanceをの出力方法を以下にメモしておく
以下を事前に用意する
- model
- Premutation Importanceを計算するモデル
- X
- Permutation Importanceを計算するときに使う説明変数
- Y
- Permutation Importanceを計算するときに使う目的変数
sklearnを使う方法
from sklearn.inspection import permutation_importance from sklearn.metrics import mean_squared_error, make_scorer result = permutation_importance(model, X, Y, scoring='neg_mean_absolute_error', n_repeats=10, n_jobs=-1, random_state=100) perm_df = pd.DataFrame({"importances_mean":result["importances_mean"], "importances_std":result["importances_std"]}, index=X.columns) print("[Permutation feature Importance]") display(perm_df) perm_df .sort_values("importances_mean", ascending=False).importances_mean.plot.barh() plt.show()
eli5を使うもっと簡単な方法
from eli5.sklearn import PermutationImportance perm_train = PermutationImportance(model).fit(X, Y) eli5.show_weights(perm_train, feature_names=list(X.columns))