Skip to content

Instantly share code, notes, and snippets.

@beckernick
Last active September 29, 2022 14:13
Show Gist options
  • Save beckernick/60ecf4bd88bc75ddc288d71dea056a51 to your computer and use it in GitHub Desktop.
Save beckernick/60ecf4bd88bc75ddc288d71dea056a51 to your computer and use it in GitHub Desktop.
hdbscan-soft-clusters-blog
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "f3d22537-b35e-41de-afcb-1e771e37acef",
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"\n",
"import numpy as np\n",
"import pandas as pd\n",
"import cuml\n",
"from sentence_transformers import SentenceTransformer\n",
"\n",
"N_HEADLINES = 10000\n",
"\n",
"model = SentenceTransformer('all-MiniLM-L6-v2')\n",
"df = pd.read_csv(\"/home/nicholasb/NVIDIA/million-headlines.zip\")\n",
"embeddings = model.encode(df.headline_text[:N_HEADLINES])"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "68bf6543-8dc1-49f8-bf97-fab056b01f0a",
"metadata": {},
"outputs": [],
"source": [
"umap = cuml.manifold.UMAP(n_components=5, n_neighbors=15, min_dist=0.0, random_state=12)\n",
"reduced_data = umap.fit_transform(embeddings)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "909ff6b5-0455-49db-8826-8b045930ae7f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0.01466704, 0.01035215, 0.0220814 , 0.01829496, 0.0127591 ,\n",
" 0.02333117, 0.01993877, 0.02453639, 0.03369896, 0.02514531,\n",
" 0.05555269, 0.04149485, 0.05131698, 0.02297594, 0.03559102,\n",
" 0.02765776, 0.04131499, 0.06404213, 0.01866449, 0.01557038,\n",
" 0.01696391], dtype=float32)"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clusterer = cuml.cluster.hdbscan.HDBSCAN(min_cluster_size=50, metric='euclidean', prediction_data=True)\n",
"clusterer.fit(reduced_data)\n",
"soft_clusters = cuml.cluster.hdbscan.all_points_membership_vectors(clusterer)\n",
"soft_clusters[0]"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "f8c11e54-9d6f-486a-b8b4-97ea02074344",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"-1 3943\n",
" 3 1988\n",
" 5 1022\n",
" 20 682\n",
" 13 367\n",
" 7 210\n",
" 0 199\n",
" 2 192\n",
" 8 190\n",
" 16 177\n",
" 12 161\n",
" 17 143\n",
" 15 107\n",
" 19 86\n",
" 9 83\n",
" 11 70\n",
" 4 68\n",
" 18 66\n",
" 6 65\n",
" 10 61\n",
" 1 61\n",
" 14 59\n",
"dtype: int64"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.Series(clusterer.labels_).value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "e16c9028-e998-4713-b121-4822b8d4a06f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"50 freedom records net profit for third successive\n",
"137 public urged to check gas cylinders\n",
"147 record amount for gladstone ventures\n",
"165 slow recovery predicted for aust economy\n",
"174 surge in new car sales in aust abs\n",
"Name: headline_text, dtype: object"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[:N_HEADLINES].loc[clusterer.labels_ == 8].headline_text.head()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "763b0d65-e6f9-4264-9e4d-ac2661b5b391",
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"\n",
"# get the difference between top two membership probabilities for each record (exclude noise)\n",
"soft_non_noise = soft_clusters[clusterer.labels_ != -1]\n",
"probs_top2_non_noise = np.take_along_axis(soft_non_noise, soft_non_noise.argsort(), axis=1)[:, -2:]\n",
"diffs = np.diff(probs_top2_non_noise).ravel()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "61d187a2-dbcd-4d44-a09e-8ff3d186fd01",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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8RHTpk0T6enpUtwAxMKFC5Wm//LLL4Wfn5+wtrYWBgYGwsnJSQwdOlTExsYWGeOL6/RiT+2F9Yq/ceNGERwcLKpVqybkcrlo1aqVOH36tFI8hfnhhx9Ey5YthampqdDT0xNOTk5i9OjRCvvCq9YVgJg1a5ZCWXR0tOjcubMwNzcXcrlcuLm5iQkTJijNs7Sfe4ElS5YIV1dXoaurq7BvXblyRXTo0EGYmpoKCwsL8f7774u4uDilWAvrFV/Vvvxyj+1CCLF161bh7u4u9PX1VW6HrKwsIZfLRadOnVTGr0pRveIDEN9++63SNH5+fgKA+PDDD1XOc926daJu3bpCLpeLmjVrinnz5om1a9eqXPfSnJuEEOLu3bvivffeExYWFsLU1FR06tRJXLp0SWnfFaLwz03VNs7IyBCTJ08Wzs7OQl9fX9jb24vRo0eLlJQUhXrOzs6ia9euSuuuap2IiLSZTIgX2uoRERGR1jp8+DD8/f3x448/olevXpoOhwrx22+/oUePHvj999+ljgGJiIjKgk3xiYiIiF6DK1eu4Pbt2wgJCUHDhg2lVyUSERGVFTvPIyIiInoNgoKC0KNHD1hYWGDr1q1lesMEERHRi9gUn4iIiIiIiEiL8Y49ERERERERkRZjYk9ERERERESkxZjYExEREREREWkxJvZEREREREREWoyJPREREREREZEWY2JPREREREREpMWY2BMRERERERFpMSb2RERERERERFqMiT0RERERERGRFmNiT0RERERERKTFmNgTERERERERaTEm9kRERERERERajIk9ERERERERkRZjYk9ERERERESkxZjYExEREREREWkxJvZEREREREREWoyJPREREREREZEWY2JPREREREREpMWY2BMRERERERFpMSb2RERERERERFqMiT0RERERERGRFmNiT0RERERERKTFmNgTERERERERaTEm9kRERERERERarNIm9hEREZDJZNKfoaEh7Ozs4O/vj3nz5iExMVFpmrCwMMhkMoWy7OxsjBo1Cvb29tDV1UXDhg0BAI8ePULfvn1hY2MDmUyGnj17voa1qrhkMhk+/vhjtc3v2bNnCAsLw+HDh9U2z4pmz549CAsL02gMc+fOxc6dOzUagzYaNGgQqlSpoukwJLGxsZDJZFi0aNEr66o6z2mTtm3bwsvLS63zdHFxQbdu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U8FFgZmZGb/siYioQmGzccDOzg4JCQkKZYmJidDT04OVlZXKaeRyOeRyuVI5v+uJiKi0jEyqQEduDLlxFbV+l7zqu75yP5BHREREb4TmzZsjMjJSoWz//v1o0qSJyufriYiI3iRM7ImIiKjCSU9PR0xMDGJiYgA8f51dTEwM4uLiADxvRj9gwACp/qhRo3D79m1MnDgRV69exbp167B27VpMmjRJE+ETERG9VmyKT0RERBXO6dOn4e/vLw0XPAs/cOBAREREID4+XkryAcDV1RV79uzBhAkTsHz5cjg4OOCbb77Be++999pjJyIiet2Y2BMREVGF07ZtW6nzO1UiIiKUytq0aYOzZ8+WY1REREQVE5viExEREREREWkxJvZEREREREREWoyJPREREREREZEWY2JPREREREREpMWY2BMRERERERFpMSb2RERERERERFqMiT0RERERERGRFmNiT0RERERERKTFmNgTERERERERaTEm9kRERERERERajIk9ERERERERkRZjYk9ERERERESkxTSa2P/555/o3r07HBwcIJPJsHPnTmlcTk4OJk+ejPr168PExAQODg4YMGAA7t+/rzCPrKwsjB07FtbW1jAxMUGPHj1w9+5dhTopKSno378/zM3NYW5ujv79++Px48evYQ2JiIiIiIiIypdGE/unT5+iQYMGWLZsmdK4Z8+e4ezZs5gxYwbOnj2LX375BdevX0ePHj0U6o0fPx47duzAtm3bcPToUaSnp6Nbt27Iy8uT6vTr1w8xMTHYu3cv9u7di5iYGPTv37/c14+IiIiIiIiovOlpcuGdO3dG586dVY4zNzdHZGSkQtnSpUvRtGlTxMXFwcnJCampqVi7di02btyI9u3bAwA2bdoER0dHREVFITAwEFevXsXevXtx/Phx+Pr6AgC+/fZbNG/eHP/88w/q1q2rcvlZWVnIysqShtPS0tSxykREVMHFxcUhKSmp3OZvbW0NJyencps/ERERVT4aTexLKjU1FTKZDFWrVgUAnDlzBjk5OejYsaNUx8HBAV5eXjh27BgCAwMRHR0Nc3NzKakHgGbNmsHc3BzHjh0rNLGfN28ewsPDy3V9iIioYomLi4O7uwcyMp6V2zKMjIxx7dpVJvdERESkNlqT2GdmZmLKlCno168fzMzMAAAJCQkwMDCAhYWFQl1bW1skJCRIdWxsbJTmZ2NjI9VRJTQ0FBMnTpSG09LS4OjoqI5VISKiCiopKQkZGc/gO2QWzOxd1D7/tPhYnFgXjqSkJCb2REREpDZakdjn5OSgb9++yM/Px4oVK15ZXwgBmUwmDb/4f2F1XiaXyyGXy0sXMBERaTUzexdYOqlu0UVERERU0VT4193l5OSgd+/euHXrFiIjI6W79QBgZ2eH7OxspKSkKEyTmJgIW1tbqc6DBw+U5vvw4UOpDhEREREREZG2qtCJfUFS/++//yIqKgpWVlYK4318fKCvr6/QyV58fDwuXboEPz8/AEDz5s2RmpqKkydPSnVOnDiB1NRUqQ4RERERERGRttJoU/z09HTcuHFDGr516xZiYmJgaWkJBwcH9OrVC2fPnsXu3buRl5cnPRNvaWkJAwMDmJubY+jQoQgJCYGVlRUsLS0xadIk1K9fX+ol38PDA506dcLw4cOxevVqAMCIESPQrVu3QjvOIyIiIiIiItIWGk3sT58+DX9/f2m4oLO6gQMHIiwsDLt27QIANGzYUGG6Q4cOoW3btgCAr776Cnp6eujduzcyMjIQEBCAiIgI6OrqSvU3b96M4OBgqff8Hj16YNmyZeW4ZkRERERERESvh0YT+7Zt20IIUej4osYVMDQ0xNKlS7F06dJC61haWmLTpk2lipGIiIiIiIioIqvQz9gTERERERERUdGY2BMRERERERFpMSb2RERERERERFqMiT0RERERERGRFmNiT0RERERERKTFmNgTERERERERaTEm9kRERERERERajIk9ERERERERkRZjYk9ERERERESkxZjYExEREREREWkxJvZEREREREREWoyJPREREREREZEWY2JPREREREREpMWY2BMRERERERFpMSb2RERERERERFqMiT0RERERERGRFmNiT0RERERERKTFmNgTERERERERaTEm9kRERERERERajIk9ERERERERkRZjYk9ERERERESkxZjYExEREREREWkxJvZEREREREREWoyJPREREREREZEWY2JPREREREREpMWY2BMRERERERFpMSb2RERERERERFqMiT0RERERERGRFmNiT0RERERERKTFmNgTERERERERaTEm9kRERERERERajIk9ERERERERkRZjYk9ERERERESkxZjYExEREREREWkxJvZEREREREREWoyJPREREREREZEWY2JPREREREREpMWY2BMRERERERFpMSb2RERERERERFqMiT0RERERERGRFmNiT0RERERERKTFmNgTERERERERldHdlGeIOHZbI8tmYk9ERERERERURsM2nEZSehYAwFBf97Uum4k9ERERERERURmkZuTgWsITAEANCyMM8nN5rcvXe61LIyIiIiIiInrDbDr+vyb4B0LaQK7HO/ZEREREREREWiMxLRMA0MTZ4rUn9QATeyIiIiIiIqIySXqaDQDo4GmrkeUzsSciIiIiIiIqg7O3UwAAduaGGlk+E3siIiIiIiKiUsrJy0d86vOm+HZmTOyJiIiIiIiItMrDJ1nS/01cLDUSAxN7IiIiIiIiolK6/zgDAFC9qhF0dWQaiYGJPREREREREVEp3f//ZvjVLYw0FgMTeyIiIiIiIqJSSs3IAQBYGOtrLAYm9kRERERERESl9Pj/X3VX1chAYzEwsSciIiIiIiIqpaM3kgAAllWY2BMRERERERFpnf8ePgUAOFkaaywGJvZEREREREREpZCTl4/kp89fd9few1ZjcTCxJyIiIiIiIiqFhNRMCAHoyABLE801xdfT2JKJiIiIiIiIKqDrD54g6uoD3Hr4FHlCAAL460YSTAx0oSOTITdfIC9f4N7/v8PexcpEY++wB5jYExERUQW1YsUKLFy4EPHx8ahXrx6WLFmCVq1aFVp/8+bNWLBgAf7991+Ym5ujU6dOWLRoEaysrF5j1EREpG1Snmbj8v00pGfl4HRsCr47eqvQug8LKf+omXP5BFdMTOyJiIiowtm+fTvGjx+PFStWoEWLFli9ejU6d+6MK1euwMnJSan+0aNHMWDAAHz11Vfo3r077t27h1GjRmHYsGHYsWOHBtaAiIgqmrx8gfuPM/DL2XvYdOI2Hj7JeuU0Na1N4GFvhlo2VVDVWB85efnwrlEV+ro60NORQVdHBjtzQ1hXkb+GNSgcE3siIiKqcBYvXoyhQ4di2LBhAIAlS5Zg3759WLlyJebNm6dU//jx43BxcUFwcDAAwNXVFSNHjsSCBQtea9xERFSx5OTl4+8bSRi0/lSx6resZQ2ZDBjZ2g0ta1uXc3Tqo9HO8/788090794dDg4OkMlk2Llzp8J4IQTCwsLg4OAAIyMjtG3bFpcvX1aok5WVhbFjx8La2homJibo0aMH7t69q1AnJSUF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\n",
"text/plain": [
"<Figure size 1200x600 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, axes = plt.subplots(1, 2, figsize=(12, 6), sharey=False)\n",
"fig.suptitle('Cluster Membership Uncertainty Evaluation')\n",
"\n",
"sns.histplot(ax=axes[0], data=diffs)\n",
"axes[0].set_title(\"Difference between top two membership probabilities\")\n",
"\n",
"sns.ecdfplot(ax=axes[1], data=diffs)\n",
"axes[1].set_title(\"Cumulative distribution of differences\")\n",
"\n",
"fig.savefig(\"soft-clustering-importance-diffs-cdf.png\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "5f9ddd98-c2f9-44fa-adbd-7dae3ac4a690",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.8.13"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment