{ "cells": [ { "cell_type": "markdown", "id": "865ea25b", "metadata": {}, "source": [ "# Clustering with multiple components\n", "\n", "Computing minimum spanning trees on large, high-dimensional data can be a lot\n", "more expensive than finding (approximate) nearest neighbors. In cases where\n", "sufficient neighbors are detected, this compute cost can be avoided by\n", "clustering on the (approximate) knn graph because PLSCAN supports inputs that\n", "form multiple connected components." ] }, { "cell_type": "code", "execution_count": 1, "id": "0ea6577f", "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "from fast_plscan import PLSCAN\n", "from sklearn.datasets import make_blobs\n", "\n", "plt.rcParams[\"figure.dpi\"] = 150\n", "plt.rcParams[\"figure.figsize\"] = (2.75, 0.618 * 2.75)\n", "\n", "X, _ = make_blobs(n_samples=200, random_state=10)" ] }, { "cell_type": "markdown", "id": "ac49ef5c", "metadata": {}, "source": [ "The 50 nearest neighbors of this data set do not form a single connected\n", "component. PLSCAN will compute clusters as if each component in the input was\n", "given separately. As a result, the components themselves cannot be detected as\n", "clusters." ] }, { "cell_type": "code", "execution_count": 2, "id": "c91190a6", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from sklearn.neighbors import NearestNeighbors\n", "\n", "knn = NearestNeighbors(n_neighbors=50).fit(X).kneighbors(X)\n", "c = PLSCAN(metric=\"precomputed\").fit(knn)\n", "\n", "plt.scatter(*X.T, c=c.labels_ % 10, s=1, linewidth=0, cmap=\"tab10\")\n", "plt.axis(\"off\")\n", "plt.subplots_adjust(left=0, right=1, top=1, bottom=0)\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "421ac4b4", "metadata": {}, "source": [ "The leaf and condensed trees are not compatible with code written for\n", "``hdbscan`` because they may form forests instead of trees. " ] }, { "cell_type": "code", "execution_count": 3, "id": "2e0b7ea7", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "c.leaf_tree_.plot(select_clusters=True)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 4, "id": "148fdcbc", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "c.condensed_tree_.plot(select_clusters=True)\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.14.3" } }, "nbformat": 4, "nbformat_minor": 5 }