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

Name Type Description Default
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

Returns

Name Type Description
None None

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))