.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples/cluster_meta.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_examples_cluster_meta.py: Getting clustering metadata --------------------------- This example will go over how to extract metadata which a clustering algorithm may have generated. .. GENERATED FROM PYTHON SOURCE LINES 8-17 .. code-block:: Python import matplotlib.pyplot as plt import numpy as np theta = np.linspace(0, 2 * np.pi, 100) data = np.c_[np.cos(theta), np.sin(theta)] plt.scatter(data[:, 0], data[:, 1]) plt.show() .. image-sg:: /examples/images/sphx_glr_cluster_meta_001.png :alt: cluster meta :srcset: /examples/images/sphx_glr_cluster_meta_001.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 18-20 Projecting our data =================== .. GENERATED FROM PYTHON SOURCE LINES 20-25 .. code-block:: Python projection = data[:, 0] plt.scatter(data[:, 0], data[:, 1], label="data") plt.scatter(projection, np.zeros_like(projection), label="projection") plt.show() .. image-sg:: /examples/images/sphx_glr_cluster_meta_002.png :alt: cluster meta :srcset: /examples/images/sphx_glr_cluster_meta_002.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 26-28 Covering our data ================= .. GENERATED FROM PYTHON SOURCE LINES 28-33 .. code-block:: Python import zen_mapper as zm cover_scheme = zm.Width_Balanced_Cover(n_elements=3, percent_overlap=0.4) cover = cover_scheme(projection) .. GENERATED FROM PYTHON SOURCE LINES 34-36 Defining a clusterer ==================== .. GENERATED FROM PYTHON SOURCE LINES 36-41 .. code-block:: Python from sklearn.cluster import AffinityPropagation sk = AffinityPropagation() clusterer = zm.sk_learn(sk) .. GENERATED FROM PYTHON SOURCE LINES 42-44 Computing the mapper graph ========================== .. GENERATED FROM PYTHON SOURCE LINES 44-53 .. code-block:: Python result = zm.mapper( data=data, projection=projection, cover_scheme=cover_scheme, clusterer=clusterer, dim=1, ) .. GENERATED FROM PYTHON SOURCE LINES 54-56 Plotting using cluster_metadata =============================== .. GENERATED FROM PYTHON SOURCE LINES 56-72 .. code-block:: Python import networkx as nx from zen_mapper.adapters import to_networkx fig, (ax1, ax2) = plt.subplots(1, 2) ax1.scatter(data[:, 0], data[:, 1], label="data") pos = dict() for cover_element, cluster_meta in zip(result.cover, result.cluster_metadata): for node, center in zip(cover_element, cluster_meta.cluster_centers_): pos[node] = center G = to_networkx(result.nerve) nx.draw(G, pos=pos, ax=ax2) plt.tight_layout() plt.show() .. image-sg:: /examples/images/sphx_glr_cluster_meta_003.png :alt: cluster meta :srcset: /examples/images/sphx_glr_cluster_meta_003.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.242 seconds) .. _sphx_glr_download_examples_cluster_meta.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: cluster_meta.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: cluster_meta.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: cluster_meta.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_