.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/cluster/plot_digits_linkage.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. or to run this example in your browser via Binder .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_cluster_plot_digits_linkage.py: ============================================================================= 二维嵌入数字的各种凝聚聚类 ============================================================================= 在数字数据集的二维嵌入上展示各种凝聚聚类的链接选项。 此示例的目的是直观地展示度量的行为,而不是为数字数据集找到好的聚类。这就是为什么示例在二维嵌入上进行。 这个示例向我们展示了凝聚聚类的“富者愈富”行为,倾向于创建不均匀的聚类大小。 这种行为在平均链接策略中尤为明显,最终会形成几个数据点较少的聚类。 单链接的情况甚至更为病态,形成一个覆盖大多数数字的非常大的聚类,一个中等大小(干净)的聚类包含大多数零数字,其他所有聚类则由边缘噪声点组成。 其他链接策略导致更均匀分布的聚类,因此更不容易受到数据集随机重采样的影响。 .. GENERATED FROM PYTHON SOURCE LINES 19-79 .. rst-class:: sphx-glr-horizontal * .. image-sg:: /auto_examples/cluster/images/sphx_glr_plot_digits_linkage_001.png :alt: ward linkage :srcset: /auto_examples/cluster/images/sphx_glr_plot_digits_linkage_001.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/cluster/images/sphx_glr_plot_digits_linkage_002.png :alt: average linkage :srcset: /auto_examples/cluster/images/sphx_glr_plot_digits_linkage_002.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/cluster/images/sphx_glr_plot_digits_linkage_003.png :alt: complete linkage :srcset: /auto_examples/cluster/images/sphx_glr_plot_digits_linkage_003.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/cluster/images/sphx_glr_plot_digits_linkage_004.png :alt: single linkage :srcset: /auto_examples/cluster/images/sphx_glr_plot_digits_linkage_004.png :class: sphx-glr-multi-img .. rst-class:: sphx-glr-script-out .. code-block:: none Computing embedding Done. ward : 0.04s average : 0.02s complete : 0.02s single : 0.04s | .. code-block:: Python # 作者:scikit-learn 开发者 # SPDX-License-Identifier: BSD-3-Clause from time import time import numpy as np from matplotlib import pyplot as plt from sklearn import datasets, manifold digits = datasets.load_digits() X, y = digits.data, digits.target n_samples, n_features = X.shape np.random.seed(0) # ---------------------------------------------------------------------- # 可视化聚类 def plot_clustering(X_red, labels, title=None): x_min, x_max = np.min(X_red, axis=0), np.max(X_red, axis=0) X_red = (X_red - x_min) / (x_max - x_min) plt.figure(figsize=(6, 4)) for digit in digits.target_names: plt.scatter( *X_red[y == digit].T, marker=f"${digit}$", s=50, c=plt.cm.nipy_spectral(labels[y == digit] / 10), alpha=0.5, ) plt.xticks([]) plt.yticks([]) if title is not None: plt.title(title, size=17) plt.axis("off") plt.tight_layout(rect=[0, 0.03, 1, 0.95]) # ---------------------------------------------------------------------- # 数字数据集的二维嵌入 print("Computing embedding") X_red = manifold.SpectralEmbedding(n_components=2).fit_transform(X) print("Done.") from sklearn.cluster import AgglomerativeClustering for linkage in ("ward", "average", "complete", "single"): clustering = AgglomerativeClustering(linkage=linkage, n_clusters=10) t0 = time() clustering.fit(X_red) print("%s :\t%.2fs" % (linkage, time() - t0)) plot_clustering(X_red, clustering.labels_, "%s linkage" % linkage) plt.show() .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 1.114 seconds) .. _sphx_glr_download_auto_examples_cluster_plot_digits_linkage.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: binder-badge .. image:: images/binder_badge_logo.svg :target: https://mybinder.org/v2/gh/scikit-learn/scikit-learn/main?urlpath=lab/tree/notebooks/auto_examples/cluster/plot_digits_linkage.ipynb :alt: Launch binder :width: 150 px .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_digits_linkage.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_digits_linkage.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_digits_linkage.zip ` .. include:: plot_digits_linkage.recommendations .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_