Scikit-learn permutation importance is higher than 1 with R-squared scoring I'm using Scikit-learn permutation_importance to compute the feature importance for a regression problem according to multiple models. I use $R^2$ as the scoring. Surprisingly, some of the models like Huber and Ridge give permutation values that are higher than 1. For each model I have something like this:
model.fit(X_train, y_train)
result = permutation_importance(model, X_test, y_test, scoring='r2')
importance_score = result.importances_mean

As I mentioned, I get large numbers for some of the models only. Am I doing something wrong that I get permutation scores that are higher than 1 or something else is going on?

The permutation importance for a feature is the difference between the baseline value of the metric when no permutation is performed on any of the features and the value of the metric when the feature is permuted. As pointed out in the scikit-learn documentation, $R^2$ can be arbitrarily negative, so the difference in the $R^2$ values can be larger than $1$.
The $R^2$ metric has various pitfalls, so I would probably recommend using a metric like RMSE or MAE when calculating permutation feature importances for regression.
