Skip to content

Instantly share code, notes, and snippets.

@georgehc
Last active November 12, 2019 13:24
Show Gist options
  • Save georgehc/dfedb7ae9061da9119579e7026291f3d to your computer and use it in GitHub Desktop.
Save georgehc/dfedb7ae9061da9119579e7026291f3d to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 94-775/95-865 Hierarchical Clustering\n",
"Author: George H. Chen (georgechen [at symbol] cmu.edu)\n",
"\n",
"Part of this demo uses the [random color map code created by Felipe Delestro Matos](https://github.com/delestro/rand_cmap)."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"plt.style.use('seaborn')"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x1138373d0>"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# manually create 4 clusters\n",
"# (note that this is actually a 4-cluster Gaussian mixture model!)\n",
"\n",
"np.random.seed(0)\n",
"\n",
"points_cluster1 = .5*np.random.randn(10, 2) + np.array([-1.5, 0])[np.newaxis, :]\n",
"points_cluster2 = .5*np.random.randn(10, 2) + np.array([1, 0.5])[np.newaxis, :]\n",
"points_cluster3 = .5*np.random.randn(10, 2) + np.array([-2, -2])[np.newaxis, :]\n",
"points_cluster4 = .5*np.random.randn(10, 2) + np.array([-0.5, -2.5])[np.newaxis, :]\n",
"\n",
"points = np.vstack([points_cluster1,\n",
" points_cluster2,\n",
" points_cluster3,\n",
" points_cluster4])\n",
"\n",
"plt.scatter(points[:, 0], points[:, 1])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Divisive clustering\n",
"\n",
"The code below uses highest cluster RSS to decide which cluster to split next, and uses k-means (with k=2) to do the actual split. We stop the algorithm after 3 splits."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from sklearn.cluster import KMeans\n",
"\n",
"cluster_assignment = np.zeros(len(points)).astype(np.int) # everything starts off being in cluster 0\n",
"\n",
"num_splits = 3 # really simple stopping rule: stop after doing 3 splits (so we end up with 4 clusters)\n",
"\n",
"for split_idx in range(num_splits):\n",
" # select which cluster to split by looking at which one has the highest residual sum of squares (RSS)\n",
" num_clusters = cluster_assignment.max() + 1\n",
" max_cluster_RSS = -np.inf\n",
" arg_max = None\n",
" for cluster_idx in range(num_clusters):\n",
" # compute cluster's Residual Sum of Squares (RSS)\n",
" cluster_mask = (cluster_assignment == cluster_idx)\n",
" cluster_size = cluster_mask.sum()\n",
" if cluster_size == 1:\n",
" cluster_RSS = 0.\n",
" else:\n",
" points_in_cluster = points[cluster_mask]\n",
" cluster_mean = points_in_cluster.mean(axis=0)\n",
" cluster_RSS = 0.\n",
" for point in points_in_cluster:\n",
" cluster_RSS += np.linalg.norm(point - cluster_mean)**2\n",
" \n",
" if cluster_RSS > max_cluster_RSS:\n",
" max_cluster_RSS = cluster_RSS\n",
" arg_max = cluster_idx\n",
" \n",
" # split cluster with largest cluster RSS (arg_max)\n",
" kmeans = KMeans(n_clusters=2, n_init=1000, random_state=0)\n",
" split_assignments = kmeans.fit_predict(points[cluster_assignment == arg_max])\n",
" # every point assigned to k-mean's output cluster 0 will be set to still have cluster index `arg_max`\n",
" # whereas every point assigned to k-mean's output cluster 1 will be set to have cluster index `num_clusters`\n",
" cluster_assignment[cluster_assignment == arg_max] \\\n",
" = arg_max * (split_assignments == 0) + num_clusters * (split_assignments == 1) # create new cluster\n",
" \n",
" plt.figure()\n",
" plt.scatter(points[:, 0], points[:, 1], c=cluster_assignment, cmap='Accent')\n",
" plt.axis('equal')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Agglomerative clustering"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### The simple way using sklearn (but the functionality is limited)\n",
"\n",
"To see what scikit-learn is capable of, look up the documentation for `AgglomerativeClustering`."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(-3.1140351183062567,\n",
" 2.395777334987554,\n",
" -3.610738369320056,\n",
" 1.4822764531043595)"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from sklearn.cluster import AgglomerativeClustering\n",
"\n",
"clustering = AgglomerativeClustering(n_clusters=4, affinity='euclidean', linkage='complete')\n",
"cluster_assignments = clustering.fit_predict(points)\n",
"plt.scatter(points[:, 0], points[:, 1], c=cluster_assignments, cmap='Accent')\n",
"plt.axis('equal')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Agglomerative clustering without scikit-learn\n",
"\n",
"For simplicity, the following code keeps merging until there's exactly 1 cluster, and at each merge step, the code plots what the clusters are. Because the number of clusters can be quite large, we use a random coloring for each plot; we specifically use the [random color map created by Felipe Delestro Matos](https://github.com/delestro/rand_cmap).\n",
"\n",
"We demonstrate this code using a simple line of points evenly spaced apart; feel free to comment out the next cell if you want to run the algorithm on the random points from earlier in this demo."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x1a180ef9d0>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAD3CAYAAAAQYlNPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAATH0lEQVR4nO3dfYxldX3H8ffMzrLLw93tUC7QpJr+ofsNSQMFkQddhBjIZvEB0qQpIU2FAkVDg2D/AcSHNKAJChRUtJIlQpW2FCRBWhAVanYXyVYlEQx+ySYmplX0gsPulZVhd5j+ce/03hnu7DLnLnuG+3u/kk3uPb9zznz2CzufOefemRmbnZ1FklSu8boDSJLqZRFIUuEsAkkqnEUgSYWzCCSpcBN1B6ii1WoP9VanyclDmJratb/ivKk5ix5nMZ/z6BmVWTSbjbFB24u8IpiYWFF3hGXDWfQ4i/mcR8+oz6LIIpAk9VgEklQ4i0CSCmcRSFLhLAJJKpxFIEmFswgkqXAWgSQVziKQpMJZBJJUOItAkgpnEUhS4Sr99NGIGAduA44DpoGLM3N73/olwKXAHuC6zHywb+0K4OjMvKr7/GPARUCru8ulmZlVckmSlq7qj6E+F1idmadGxCnAjcA5ABFxNHA5cCKwGtgSEd+hc/VxO3AycF/fuU4A/jozf1QxiyRpCFVvDa0HHgbIzCfofNKfcxKwNTOnM3MHsB04lk4p3AVcv+Bc7wCujogtEXF1xTySpIqqXhGsAXb0PZ+JiInM3DNgrQ2szcwp4JGIuGDBuf4V+BKwE7g/It7ffytpkMnJQ4b++eDNZmOo40eJs+hxFvM5j55RnkXVItgJ9E9lvFsCg9YawIuDThIRY8A/dq8ciIj/AI4H9loEw/6moGazQavVHuoco8JZ9DiL+ZxHz6jMYrEyq1oEW4EPAPd0XyN4qm9tG3B9RKwGVgHHAE8vcp41wNMRcQzwEvBe4I6KmSRJFVQtgvuBsyLicWAMuLD77p/tmflARNwKbKbzGsTHM/PlQSfJzB0RcQ3wGJ13H30vM/+zYiZJUgVjs7ND/R74Wgz7y+tH5TJvf3AWPc5iPufRMyqz8JfXS5IGsggkqXAWgSQVziKQpMJZBJJUOItAkgpnEUhS4SwCSSqcRSBJhbMIJKlwFoEkFc4ikKTCWQSSVDiLQJIKZxFIUuEsAkkqnEUgSYWzCCSpcBaBJBXOIpCkwlkEklQ4i0CSCmcRSFLhJqocFBHjwG3AccA0cHFmbu9bvwS4FNgDXJeZD/atXQEcnZlXdZ9/APhkd987MvP2in8XSVIFlYoAOBdYnZmnRsQpwI3AOQARcTRwOXAisBrYEhHfoXP1cTtwMnBfd9+VwM3AO4GXgK0R8a3MfK76X0mStBRVbw2tBx4GyMwn6HzSn3MSsDUzpzNzB7AdOJZOKdwFXN+37zHA9sycysxXgC3AaRUzSZIqqHpFsAbY0fd8JiImMnPPgLU2sDYzp4BHIuKCvZynDazd1wefnDyEiYkVFaN3NJuNoY4fJc6ix1nM5zx6RnkWVYtgJ9A/lfFuCQxaawAvvs7z7G3f/zc1tev1Jx2g2WzQarWHOseocBY9zmI+59EzKrNYrMyqFsFW4APAPd3XCJ7qW9sGXB8Rq4FVdG7/PL3IeZ4B3h4RhwO/A94DfL5iJklSBVWL4H7grIh4HBgDLoyIj9G53/9ARNwKbKbzGsTHM/PlQSfJzN3d477d3feOzPzfipkkSRWMzc7O1p1hyVqt9lChR+Uyb39wFj3OYj7n0TMqs2g2G2ODtvsNZZJUOItAkgpnEUhS4SwCSSqcRSBJhbMIJKlwFoEkFc4ikKTCWQSSVDiLQJIKZxFIUuEsAkkqnEUgSYWzCCSpcBaBJBXOIpCkwlkEklQ4i0CSCmcRSFLhLAJJKpxFIEmFswgkqXAWgSQVbqLqgRExDtwGHAdMAxdn5va+9UuAS4E9wHWZ+WBEHAHcDRwM/BK4MDN3RcStwLuBdvfwczJzR9VskqTXb5grgnOB1Zl5KnAVcOPcQkQcDVxO55P7BuCzEbEK+CRwd2aeBjxJpygATgA2ZOYZ3T+WgCQdIJWvCID1wMMAmflERJzYt3YSsDUzp4HpiNgOHNs95jPdfR4CPhMRtwBvB74aEUcBmzLzjr194MnJQ5iYWDFEdGg2G0MdP0qcRY+zmM959IzyLIYpgjVA/1fuMxExkZl7Bqy1gbULts9tOxT4AnATsAJ4LCJ+mJk/WewDT03tGiJ25z9oq9Xe944FcBY9zmI+59EzKrNYrMyGuTW0E+g/63i3BAatNYAXF2yf27YLuCUzd2VmG3iUzusOkqQDYJgi2AqcDRARpwBP9a1tA06LiNURsRY4Bni6/xhgI7AZWAdsiYgVEbGSzu2jHw+RS5K0BMMUwf3AyxHxOHAzcGVEfCwiPpiZzwG30vlE/yjw8cx8GbgOOC8itgKnAl/MzGeAbwBPAN8H7srMnw6RS5K0BGOzs7N1Z1iyVqs9VOhRud+3PziLHmcxn/PoGZVZNJuNsUHb/YYySSqcRSBJhbMIJKlwFoEkFc4ikKTCWQSSVDiLQJIKZxFIUuEsAkkqnEUgSYWzCCSpcBaBJBXOIpCkwlkEklQ4i0CSCmcRSFLhLAJJKpxFIEmFswgkqXAWgSQVziKQpMIVVwTTu2f41fMvMb17ptYMv5naVWuGuRx1z2IuR93zcBavzeE8ehlGfRYTVQ+MiHHgNuA4YBq4ODO3961fAlwK7AGuy8wHI+II4G7gYOCXwIWZuWvQvlVzLWbm1Vf5t0e38+SzLX7bnubwxiqOX9fkL9/7NlaMH5g+nJdh5zSHrznwGV6To6ZZvCZHTfNwFnvJUfg8SprF2OzsbKUDI+LPgQ9m5gURcQpwdWae0107GvgOcCKwGtjSffw54MeZ+bWIuIpOgfzLoH0zc3qxj91qtZcc+u7vPst3f/g/r9l+5ol/zPlnrlvq6SpZDhnMsfwymGN55lgOGfZ3jmazMTZo+zB1sh54GCAzn6DziXzOScDWzJzOzB3AduDY/mOAh4Az97LvfjO9e4Ynn20NXHvy2ecPyCXfcshgjuWXwRzLM8dyyHAgc1S+NQSsAXb0PZ+JiInM3DNgrQ2sXbB90Lb+7YuanDyEiYkVrzvor55/id+2B19gTLVfZsVBK2kecejrPl8VyyGDOZZfBnMszxzLIcOBzDFMEewEGn3Px7slMGitAbzYt/33A7Yt3HdRU1O7lhR0ZvcMhzdW8cLO1w50srGamVd202q1l3TOpVoOGcyx/DKYY3nmWA4Z3ogczWZj4PZhbg1tBc4G6L5G8FTf2jbgtIhYHRFrgWOAp/uPATYCm/ey736zauUKjl/XHLh2/LojWLXy9V9dvJkzmGP5ZTDH8syxHDIcyBzDvFg8966hY4Ex4EI6n+S3Z+YD3XcC/S2dsvlMZt4XEUcBd9L5qv954PzMfGnQvnv72FVeLO698v48U+2XmWys5vh1R9T0LoT6Mphj+WUwx/LMsRwy7O8ci71YXLkI6lSlCOZM755hxUErmXll9wFr9UEZdvxumrWHraotw1yOumcxl6PueTiL1+ZwHr0MozILi6BPs9k4IPf33gycRY+zmM959IzKLN6It49KkkaARSBJhbMIJKlwFoEkFc4ikKTCWQSSVDiLQJIKZxFIUuEsAkkqnEUgSYWzCCSpcBaBJBXOIpCkwlkEklQ4i0CSCmcRSFLhLAJJKpxFIEmFswgkqXAWgSQVziKQpMJZBJJUuIkqB0XEwcDXgSOBNvChzGwt2OdTwPuAPcAVmbktIt4GfA2YBZ4GLsvMVyPiAeAPgd3A7zNzY8W/jyRpiapeEXwEeCozTwPuAq7tX4yIE4DTgZOB84AvdZduAq7tHjcGnNPd/jZgfWaeYQlI0oFVtQjWAw93Hz8EnDlg/ZHMnM3MXwATEdEE3gF8v/+4iDgK+APgWxGxJSLeXzGTJKmCfd4aioiLgCsXbP41sKP7uA2sXbC+Bnih7/ncPmOZObtg20HAjcAtwOHA1ojYlpm/WSzT5OQhTEys2Ff0vWo2G0MdP0qcRY+zmM959IzyLPZZBJm5CdjUvy0ivgnMTaUBvLjgsJ196/37vDpg23PAVzJzD/CbiHgSCGDRIpia2rWv2HvVbDZotdpDnWNUOIseZzGf8+gZlVksVmZVbw1tBc7uPt4IbB6wviEixiPircB4Zj4PPBkRZyw47kzgHoCIOAz4U+CZirkkSUtU6V1DwJeBOyNiC/AKcD5ARNwA3Nt9h9Bm4Ad0yuay7nF/D9weEQfR+WR/b2bORMSGiHiCzhXDNd3SkCQdAGOzs7P73muZabXaQ4Uelcu8/cFZ9DiL+ZxHz6jMotlsjA3a7jeUSVLhLAJJKpxFIEmFswgkqXAWgSQVziKQpMJZBJJUOItAkgpnEUhS4SwCSSqcRSBJhbMIJKlwFoEkFc4ikKTCWQSSVDiLQJIKZxFIUuEsAkkqnEUgSYWzCCSpcBaBJBXOIpCkwlkEklS4iSoHRcTBwNeBI4E28KHMbC3Y51PA+4A9wBWZua1v7WYgM/Mr3eeXAJd2970uMx+skkuStHRVrwg+AjyVmacBdwHX9i9GxAnA6cDJwHnAl7rbmxHxEPDBvn2PBi4H3g1sAD4bEasq5pIkLVGlKwJgPXBD9/FDwCcGrD+SmbPALyJiIiKawGHAp4GNffueBGzNzGlgOiK2A8cC/73YB5+cPISJiRUVo3c0m42hjh8lzqLHWcznPHpGeRb7LIKIuAi4csHmXwM7uo/bwNoF62uAF/qet4G1mbkd+HlEbFyw746F++4t09TUrn3F3qtms0Gr1R7qHKPCWfQ4i/mcR8+ozGKxMttnEWTmJmBT/7aI+CYwd8YG8OKCw3b2rS+2T5V9JUn7WdXXCLYCZ3cfbwQ2D1jfEBHjEfFWYDwzn1/kXNuA0yJidUSsBY4Bnq6YS5K0RFVfI/gycGdEbAFeAc4HiIgbgHszc1tEbAZ+QKdsLlvsRJn5XETcSqdMxoGPZ+bLFXNJkpZobHZ2tu4MS9ZqtYcKPSr3+/YHZ9HjLOZzHj2jMotmszE2aLvfUCZJhbMIJKlwFoEkFc4ikKTCWQSSVDiLQJIKZxFIUuEsAkkqnEUgSYWzCCSpcBaBJBXOIpCkwlkEklQ4i0CSCmcRSFLhLAJJKpxFIEmFswgkqXAWgSQVziKQpMJZBJJUOItAkgpnEUhS4SaqHBQRBwNfB44E2sCHMrO1YJ9PAe8D9gBXZOa2vrWbgczMr3Sf3wq8u3sugHMyc0eVbJKkpalUBMBHgKcy89MRcR5wLfDRucWIOAE4HTgZeAtwH/DOiGgCdwHrgM/1ne8EYENmPl8xjySpoqpFsB64ofv4IeATA9YfycxZ4BcRMdEtgcOATwMb53aMiHHg7cBXI+IoYFNm3rG3Dz45eQgTEysqRu9oNhtDHT9KnEWPs5jPefSM8iz2WQQRcRFw5YLNvwbmbt20gbUL1tcAL/Q9bwNrM3M78POI2Ni3dijwBeAmYAXwWET8MDN/slimqald+4q9V81mg1arve8dC+AsepzFfM6jZ1RmsViZ7bMIMnMTsKl/W0R8E5g7YwN4ccFhO/vWF9tnzi7glszc1T33o8BxwKJFIEnaf6q+a2grcHb38UZg84D1DRExHhFvBcb3cv9/HbAlIlZExEo6t5V+XDGXJGmJqr5G8GXgzojYArwCnA8QETcA92bmtojYDPyATtlcttiJMvOZiPgG8ASwG7grM39aMZckaYnGZmdn686wZK1We6jQo3K/b39wFj3OYj7n0TMqs2g2G2ODtvsNZZJUOItAkgpnEUhS4SwCSSqcRSBJhbMIJKlwFoEkFc4ikKTCWQSSVDiLQJIKZxFIUuHelD9rSJK0/3hFIEmFswgkqXAWgSQVziKQpMJZBJJUOItAkgpnEUhS4ar+8vo3nYgYB24DjgOmgYszc3u9qeoRESuBO4A/AVYB12XmA7WGWgYi4kjgR8BZmfmzuvPUKSKuBj4IHATclpmbao5Ui+6/lTvp/FuZAS4Zxf83SroiOBdYnZmnAlcBN9acp05/BbyQmacBG4Ev1pyndt1/8P8E/L7uLHWLiDOAdwHvBk4H3lJroHqdDUxk5ruAfwCurznPG6KkIlgPPAyQmU8AJ9Ybp1b/Dnyi7/meuoIsI58HvgL8su4gy8AG4CngfuBbwIP1xqnVs8BE947CGmB3zXneECUVwRpgR9/zmYgo5tZYv8z8XWa2I6IB3AtcW3emOkXEBUArM79dd5Zl4gg6Xyj9BfBh4BsRMVZvpNr8js5toZ8BtwO31prmDVJSEewEGn3PxzOz2K+EI+ItwGPAP2fm3XXnqdnfAGdFxH8BfwbcFRFH1xupVi8A387MVzIzgZeBZs2Z6nIlnVmso/P64p0RsbrmTPtdSV8RbwU+ANwTEafQufQtUkQcBTwC/F1mfq/uPHXLzPfMPe6WwYcz87n6EtVuC/DRiLgJ+CPgUDrlUKIpereDfgusBFbUF+eNUVIR3E/nq77HgTHgwprz1OkaYBL4RETMvVawMTOLf6FUkJkPRsR7gG107hpclpkzNceqy83AHRGxmc47qK7JzJdqzrTf+WOoJalwJb1GIEkawCKQpMJZBJJUOItAkgpnEUhS4SwCSSqcRSBJhfs/jiM5O21hmD0AAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"points = np.vstack([np.arange(10), np.zeros(10)]).T\n",
"\n",
"plt.scatter(points[:, 0], points[:, 1])"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"num_clusters = len(points)\n",
"\n",
"cluster_assignment = np.arange(num_clusters).astype(np.int)\n",
"\n",
"from scipy.spatial.distance import cdist\n",
"from rand_cmap import rand_cmap\n",
"\n",
"plt.figure()\n",
"plt.title('Number of clusters: ' + str(num_clusters))\n",
"plt.scatter(points[:, 0], points[:, 1], c=cluster_assignment,\n",
" cmap=rand_cmap(num_clusters, type='bright',\n",
" first_color_black=False,\n",
" last_color_black=False,\n",
" verbose=False))\n",
"plt.axis('equal')\n",
"\n",
"linkage = 'single'\n",
"\n",
"while num_clusters > 1:\n",
" # find the two clusters that are ``closest'' according to some rule\n",
" min_dist = np.inf\n",
" arg_min = None\n",
" for cluster_idx1 in range(num_clusters):\n",
" cluster1_points = points[cluster_assignment == cluster_idx1]\n",
" for cluster_idx2 in range(cluster_idx1 + 1, num_clusters):\n",
" cluster2_points = points[cluster_assignment == cluster_idx2]\n",
" \n",
" if linkage == 'centroid':\n",
" dist = np.linalg.norm(cluster1_points.mean(axis=0)\n",
" - cluster2_points.mean(axis=0))\n",
" elif linkage == 'single':\n",
" dist = cdist(cluster1_points, cluster2_points).min()\n",
" elif linkage == 'complete':\n",
" dist = cdist(cluster1_points, cluster2_points).max()\n",
" else:\n",
" raise NotImplementedError('Unsupported linkage type')\n",
" \n",
" if dist < min_dist:\n",
" min_dist = dist\n",
" arg_min = (cluster_idx1, cluster_idx2)\n",
" \n",
" cluster_idx1, cluster_idx2 = arg_min\n",
" \n",
" # merge arg_min clusters\n",
" cluster_assignment[cluster_assignment == cluster_idx2] = cluster_idx1\n",
" mask = (cluster_assignment > cluster_idx2)\n",
" if mask.sum() > 0:\n",
" cluster_assignment[mask] -= 1\n",
" num_clusters -= 1\n",
" \n",
" plt.figure()\n",
" plt.title('Number of clusters: ' + str(num_clusters))\n",
" if num_clusters > 1:\n",
" plt.scatter(points[:, 0], points[:, 1], c=cluster_assignment,\n",
" cmap=rand_cmap(num_clusters, type='bright',\n",
" first_color_black=False,\n",
" last_color_black=False,\n",
" verbose=False))\n",
" else:\n",
" plt.scatter(points[:, 0], points[:, 1], c=cluster_assignment)\n",
" plt.axis('equal')"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.7.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment