inspection.importance.plot_importances
inspection.importance.plot_importances(
df_mdi,
perm_imp,
X_test,
target_name=None,
feature_names=None,
k=10,
figsize=(12, 8),
show=True,
)
Plots the impurity-based and permutation-based feature importances for a given classifier.
Parameters
| df_mdi |
pd.DataFrame |
DataFrame with Gini importances. |
required |
| perm_imp |
object |
Permutation importances object. |
required |
| X_test |
pd.DataFrame |
The test feature set for permutation importance. |
required |
| target_name |
str |
Name of the target variable for labeling. Defaults to None. |
None |
| feature_names |
list |
List of feature names for labeling. Defaults to None. |
None |
| k |
int |
Number of top features to display based on importance. Default is 10. |
10 |
| figsize |
tuple |
Size of the figure (width, height) in inches. Default is (12, 8). |
(12, 8) |
| show |
bool |
If True, displays the plot immediately. Default is True. |
True |
Examples
>>> from spotoptim.sensitivity.importance import generate_mdi, generate_imp, plot_importances
>>> import pandas as pd
>>> from sklearn.datasets import make_regression
>>> X, y = make_regression(n_samples=100, n_features=5, noise=0.1, random_state=42)
>>> X_train, X_test = X[:80], X[80:]
>>> y_train, y_test = y[:80], y[80:]
>>> X_train_df = pd.DataFrame(X_train)
>>> X_test_df = pd.DataFrame(X_test)
>>> y_train_series = pd.Series(y_train)
>>> y_test_series = pd.Series(y_test)
>>> df_mdi = generate_mdi(X_train_df, y_train_series)
>>> perm_imp = generate_imp(X_train_df, X_test_df, y_train_series, y_test_series)
>>> plot_importances(df_mdi, perm_imp, X_test_df, figsize=(15, 10))