.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/visualization/plot_beeswarm.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_visualization_plot_beeswarm.py: Beeswarm Plot ============= This example demonstrates :func:`~shapiq.beeswarm_plot`, which provides a global perspective on feature interactions by plotting interaction values across multiple instances, colored by feature value. .. GENERATED FROM PYTHON SOURCE LINES 9-18 .. code-block:: Python from __future__ import annotations import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from xgboost import XGBRegressor import shapiq .. GENERATED FROM PYTHON SOURCE LINES 19-21 Train a Model ------------- .. GENERATED FROM PYTHON SOURCE LINES 21-34 .. code-block:: Python x_data, y_data = shapiq.datasets.load_california_housing(to_numpy=False) feature_names = list(x_data.columns) x_data, y_data = x_data.values, y_data.values x_train, x_test, y_train, y_test = train_test_split( x_data, y_data, test_size=0.2, random_state=42, ) model = XGBRegressor(random_state=42, max_depth=4, n_estimators=50) model.fit(x_train, y_train) .. raw:: html
XGBRegressor(base_score=None, booster=None, callbacks=None,
                 colsample_bylevel=None, colsample_bynode=None,
                 colsample_bytree=None, device=None, early_stopping_rounds=None,
                 enable_categorical=False, eval_metric=None, feature_types=None,
                 feature_weights=None, gamma=None, grow_policy=None,
                 importance_type=None, interaction_constraints=None,
                 learning_rate=None, max_bin=None, max_cat_threshold=None,
                 max_cat_to_onehot=None, max_delta_step=None, max_depth=4,
                 max_leaves=None, min_child_weight=None, missing=nan,
                 monotone_constraints=None, multi_strategy=None, n_estimators=50,
                 n_jobs=None, num_parallel_tree=None, ...)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.


.. GENERATED FROM PYTHON SOURCE LINES 35-38 Compute Explanations for Multiple Instances --------------------------------------------- We explain 20 test instances to keep the example fast. .. GENERATED FROM PYTHON SOURCE LINES 38-49 .. code-block:: Python x_explain = x_test[:20] explainer = shapiq.TabularExplainer( model, data=x_test, index="FSII", max_order=3, random_state=42, ) explanations = explainer.explain_X(x_explain, budget=200) .. GENERATED FROM PYTHON SOURCE LINES 50-52 Basic Beeswarm Plot -------------------- .. GENERATED FROM PYTHON SOURCE LINES 52-55 .. code-block:: Python shapiq.beeswarm_plot(explanations, x_explain) .. image-sg:: /auto_examples/visualization/images/sphx_glr_plot_beeswarm_001.png :alt: plot beeswarm :srcset: /auto_examples/visualization/images/sphx_glr_plot_beeswarm_001.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 56-58 With Feature Names ------------------- .. GENERATED FROM PYTHON SOURCE LINES 58-61 .. code-block:: Python shapiq.beeswarm_plot(explanations, x_explain, feature_names=feature_names) .. image-sg:: /auto_examples/visualization/images/sphx_glr_plot_beeswarm_002.png :alt: plot beeswarm :srcset: /auto_examples/visualization/images/sphx_glr_plot_beeswarm_002.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 62-64 Full Feature Names (no abbreviation) ------------------------------------- .. GENERATED FROM PYTHON SOURCE LINES 64-72 .. code-block:: Python shapiq.beeswarm_plot( explanations, x_explain, feature_names=feature_names, abbreviate=False, ) .. image-sg:: /auto_examples/visualization/images/sphx_glr_plot_beeswarm_003.png :alt: plot beeswarm :srcset: /auto_examples/visualization/images/sphx_glr_plot_beeswarm_003.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 73-75 Limit Displayed Interactions ----------------------------- .. GENERATED FROM PYTHON SOURCE LINES 75-84 .. code-block:: Python shapiq.beeswarm_plot( explanations, x_explain, feature_names=feature_names, abbreviate=False, max_display=5, ) .. image-sg:: /auto_examples/visualization/images/sphx_glr_plot_beeswarm_004.png :alt: plot beeswarm :srcset: /auto_examples/visualization/images/sphx_glr_plot_beeswarm_004.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 85-87 Adjust Row Height ------------------ .. GENERATED FROM PYTHON SOURCE LINES 87-96 .. code-block:: Python shapiq.beeswarm_plot( explanations, x_explain, feature_names=feature_names, abbreviate=False, row_height=1.0, ) .. image-sg:: /auto_examples/visualization/images/sphx_glr_plot_beeswarm_005.png :alt: plot beeswarm :srcset: /auto_examples/visualization/images/sphx_glr_plot_beeswarm_005.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 97-99 Custom Axis ----------- .. GENERATED FROM PYTHON SOURCE LINES 99-108 .. code-block:: Python fig, ax = plt.subplots(figsize=(6, 6)) shapiq.beeswarm_plot( explanations, x_explain, feature_names=feature_names, abbreviate=False, ax=ax, ) .. image-sg:: /auto_examples/visualization/images/sphx_glr_plot_beeswarm_006.png :alt: plot beeswarm :srcset: /auto_examples/visualization/images/sphx_glr_plot_beeswarm_006.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 2.955 seconds) .. _sphx_glr_download_auto_examples_visualization_plot_beeswarm.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_beeswarm.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_beeswarm.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_beeswarm.zip `