ZHAWNotes/Notes/Semester 4/MLDM - Machine Learning and Data Mining/Labs/L02_Clustering_LAB_ASSIGNMENT.ipynb

698 lines
1.6 MiB
Text
Raw Normal View History

2023-06-13 09:13:48 +00:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 41,
"metadata": {
"id": "8bPV9aEwTKC8"
},
"outputs": [],
"source": [
"import numpy as np\n",
"from matplotlib import pyplot as plt, markers"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {
"id": "jFHJbjkfeepf"
},
"outputs": [],
"source": [
"RANDOM_SEED = 0x0"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {
"id": "PeKVmElId1GV"
},
"source": [
"# TASK 1 (3 Points): K-Means using scikit-learn"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {
"id": "mxVgesOod7-p"
},
"source": [
"First we will generate some data. The variable `X` will contain the data used in this section."
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {
"id": "8x-oK1d5eDS9"
},
"outputs": [],
"source": [
"from sklearn.datasets import make_blobs"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {
"id": "nVE6ffy8eM_L"
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7fd8f6f10850>"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"X, _ = make_blobs(\n",
" n_samples=300,\n",
" centers=4,\n",
" cluster_std=.6,\n",
" random_state=RANDOM_SEED,\n",
")\n",
"\n",
"plt.scatter(X[:, 0], X[:, 1], s=50)"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {
"id": "zCIJgMccfP62"
},
"source": [
"### Task 1a\n",
"\n",
"Cluster the above data using the K-Means implementation provided by scikit-learn.\n",
"Refer to the official documentation: <https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html>\n",
"\n",
"* create an instance of the class `sklearn.cluster.KMeans`\n",
"* choose a suitable value for the `n_clusters` parameter\n",
"* call the `.fit` method to compute the clustering\n",
"* call the `.predict` method to get cluster labels for each data point"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {
"id": "2GhgP1ZSjdcW"
},
"outputs": [],
"source": [
"from sklearn.cluster import KMeans"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {
"id": "VU-xKgpsgfz1"
},
"outputs": [],
"source": [
"kmeans = KMeans(n_clusters=4, n_init='auto')\n",
"kmeans.fit(X)\n",
"prediction = kmeans.predict(X)\n",
"display()"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {
"id": "eXYqBlltiBmb"
},
"source": [
"### Task 1b\n",
"\n",
"Visualize the resulting clustering.\n",
"\n",
"* use the `plt.scatter` function (see: <https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.scatter.html>)\n",
"* set the color parameter `c` to the cluster labels you computed above\n",
"\n",
"* Optional: also plot the cluster centers (hint: call `plt.scatter` a second time, the cluster centers are stored in the `.cluster_centers_` member of the `KMeans` object)"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {
"id": "sXOm6omAg83G"
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7fd90a5f9410>"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(X[:, 0], X[:, 1], s=50, c=prediction)\n",
"plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=50, marker=\"x\", c=\"red\")"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {
"id": "21Kp9bM8jTbv"
},
"source": [
"### Task 1c\n",
"\n",
"Try different numbers of clusters and print the average silhouette scores using\n",
"`sklearn.metrics.silhouette_score`. Refer to the documentation: <https://scikit-learn.org/stable/modules/generated/sklearn.metrics.silhouette_score.html#sklearn.metrics.silhouette_score>\n",
"\n",
"* What does the silhouette score tell you?\n",
"* What conclusions do you draw from the numbers?\n"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"_Partitioning the points into 4 clusters seems to yield the best results (see below)._"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {
"id": "s5zTrdAIjrnA"
},
"outputs": [],
"source": [
"from sklearn.metrics import silhouette_score"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {
"id": "sjDFRRvJjwZm"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2: 0.5426422297358302\n",
"3: 0.5890390393551768\n",
"4: 0.6819938690643478\n",
"5: 0.5769760250964397\n",
"6: 0.48062062881761086\n",
"7: 0.42347350274100487\n",
"8: 0.3918460532721257\n",
"9: 0.3822158660000981\n",
"10: 0.3489077065643289\n",
"11: 0.3514813699844034\n",
"12: 0.3459135250760061\n",
"13: 0.36579936997446943\n",
"14: 0.34922324623239426\n",
"15: 0.35848175449191255\n",
"16: 0.31167259664840213\n",
"17: 0.350269904805511\n",
"18: 0.35175163610875726\n",
"19: 0.37261697841543334\n",
"20: 0.35672042043457564\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAhYAAAGdCAYAAABO2DpVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAADDs0lEQVR4nOydd3gUVReH3zuz6T30XhWlqoCK9A7SFEWQooiKIhaKDVQUPhE7CIoVaYrYQKRLR4pSlCq995beszv3+2OSQEiyO5tsEgL3fZ4omblz79lks3Pm3HN+R0gpJQqFQqFQKBQeQCtsAxQKhUKhUFw/KMdCoVAoFAqFx1COhUKhUCgUCo+hHAuFQqFQKBQeQzkWCoVCoVAoPIZyLBQKhUKhUHgM5VgoFAqFQqHwGMqxUCgUCoVC4TFsBb2gYRicPn2aoKAghBAFvbxCoVAoFIpcIKUkNjaWsmXLomk5xyUK3LE4ffo0FSpUKOhlFQqFQqFQeIATJ05Qvnz5HM8XuGMRFBQEmIYFBwcX9PIKhUKhUChyQUxMDBUqVMi4j+dEgTsW6dsfwcHByrFQKBQKhaKI4SqNQSVvKhQKhUKh8BjKsVAoFAqFQuExlGOhUCgUCoXCYyjHQqFQKBQKhcdQjoVCoVAoFAqPoRwLhUKhUCgUHkM5FgqFQqFQKDxGgetYKBRSSpCRIFNAC0cI78I2SaFQKBQeQjkWigJDSgck/opMmAH2/WlH/ZD+9yP8ByBsFQvVPoVCoVDkHbUVoigQpExFRj2HjHkd7AeuOJMICT8iL3VDpmwvNPsUCoVC4RmUY6EoEGTcZEhekf7dVWcdIBORkU8gjbiCNk2hUCgUHkQ5Fop8R8okSJhOVofiSgyQ0ZA0v6DMUigUCkU+oBwLRf6TvBGklUiEQCYqx0KhUCiKMsqxUOQ/MtrqQDAi8tUUhUKhUOQvyrFQ5D9amMWBArTi+WqKQqFQKPIX5Vgo8h/vRiBCLAyUCL9u+W6OQqFQKPIP5Vgo8h0hvBEBA1yM0kErBn6dC8QmhUKhUOQPyrFQFAwBA8G3S9o3V7/tdBCBiLApCOFX0JYpFAqFwoMox0JRIAihI0I+QISMB6+6V5wIgoABiOLzEV41C89AhUKhUHgEJemtKDCE0MCvE8Kvk6ltIVPMSIVQ/q1CoVBcLyjHQlEoCOELwrewzVAoFAqFh1GOheKGQ6buQSbOBcdpEH4Inxbg21Z1WVUoFAoPoBwLxQ2DNOKQ0cMheRWgAwagIZPmQWxxCP0M4X17IVupUCgURRu1ua24IZDSgYwcBMlr0o44MHuXOMxvjQhkxKPI1H2FZKFCoVBcHyjHQnFjkLwSUv/GjFJkhwGkIuPGF6BRCoVCcf2hHAvFNY2USUj7QaT9EFKm5H6ehO8xtz+c4YDkVUjH2Vyvo1AoFDc6KsdCcU0iHReR8V9B4s8g482DIhDp3wsR8ARCC3dvQvs+MrY9nK8M9kOgl3bXZIVCoVCgIhaKaxDpOIW8dD8kzLzsVIDZej1+KvJi91xEFYQbYz37ZyGlYSaOSiuOjUKhUBRtlGOhuKaQUiIjnwXjItlHGBxgnENGDXFvYq+GuN4KAfACDymAGknrMSKeQJ6rizx/B/JcbYzIZ5Epmz0yv0KhUFyLKMdCcW2Rug3su3G+beGA1H+Qqf9ZnlYE9HUxJ4AOvl0QmpVOrDkjU3dgXOwKUY9BylogPTfEAckrkBF9kPFT8rSGQqFQXKuoHIsbHOm4CIk/I5OWm1sNejmE34Pg2ybXglHSfhyZ+COkbjcPeNVD+PVE2Cq6vjZpKWZkwbUTIJP+sN5fxKsB+PUwczZymA8tHBE01Np8OSCT/0JGDgDsOYwwX5eMfQ9pPwmOEyBj037u3cH7HiVxrlAoijTKsbiBkUl/IKOGYd4E08owHceQKesgrgqET0XoZa3PJyUy7iOI/xozGJbmHKRsRcZ/gwx4AhH4IkI4yXeQMRZXE26MxVwzeAxSKw7x32JGEdJFsgzwqo8IfR+hl7I859VImYSMepacnYqrSPweM/dDQuoOZNICsNWGsK8QevFc26FQKBSFiXIsblBkyhZk1POYIlHyijPpDsZxZMSjUPx3663M4z+D+K/Svrky4pD27/ivzf4ggc/lPIdWwtpaSITlsSZC6IigociAJyBpCdJxGiH8wacFwusmt+bKlsRFbjk7Juk/+7SfkX0PMrI/FPsVIXzybpNCoVAUMCrmeoMi4yam/yuHEQ5wHIPE+dbmM6KQcZ9bWPcLpBGV43nh1wVrZaEOJDrSiLBkX6Y1tCCEfw+0oBcQgU96xqkAZMoa3Ks+yQ4H2PdD0kJPmKRQKBQFjnIsbkCk4xSk/EXOKpTpCGTCD9YmTfwda1sA9rSxOaxoqw4+LbFUwRH3IfJ8E4yoEUgj3vX4/MZIIGdHzR00ZMIsD8yjUCgUBY/aCrkRsZ+wOFCC47i1kY7DmM6AK+dCR9oPO32uFyEfmgmQqdvJyEHIETskzUU6DkL4TLMdex6R0g7Jq5FJ88G4BCIM4dsxrQOqVzbjpVnNQooFe61ggP1wHudQKBSKwkE5Fjci7uzdWx6b9Yab85zOxwotCMK/h8R5yIQZaaqZzjAgdQfEz4TAJ63bkQ3SfgwZ+YS5DZRRnaIhk5dCbGkI+wbhdfPl8UlLkbEfgeNontbNiuf+NGXqPmTiHDDOprWJbwk+rRFC/fkrFArPo7ZCbkS8aoIIsjBQB+9mlqYU3ndidSvEHOtiPuFt5kEUnw+223D9VpXIhJlI6Wp7x8kMRgQyog84TqYdSc/1SJvTuICM6Juh+ikTfkRGPZfmhHgSHbzvyfMs0ojHiHwaeakLJMyApCWmsxb1HPJCC2TqDg/YqlAoFJlRjoUHkDIVacSbIfEigBA+4N8L179+R5qwlAV8WqZVdDibUzPH+LS0Nidmu3Ps23CdD4L5RO44bXnuLCR870TxE/O4jEXGf4t0nEHGvJlupRuL+OHRn3sOSGlHRj0Fyasz5szcJv4iMqIf0n4wT+soFArF1SjHIpdIKZFJSzEu9UWeq4U8fzvy/F0YsR8hHecK2zyXiIDBYKuJs7eACHwe4VXb2nzChgj5KG2+7OY0j4uQD90MwbvbXyN3/TiklGkJk64cGIcpKBbvTnJlcfBuB2HfIkr+CXplnCan+j+C8G7gxvzZkLwSUjbhtE28TEHGTsjbOgqFQnEVyrHIBVIayOiRZhg8dcsVJ6Ig/mvkxS7I1D2FZp8VhOaPCJ8J/g8DV+VRiCDwfwoCBrs3p8/diPAZYKuefoSM8ktbdUT4DIRPI/fmFN6glbE42hcpAswmZkacW+sg481ETatjk1dhKYoCiNA30MI/RfNpgtCCEcVmg28HLv/5pf2MRAgi6GVE0Gvu2Z6diQnfYyUyQvJypONCntdTKBSKdFT2Vm5I+BaSfk375uqbi2GGyyMHQPEVCM2/oK2zjNACEMFvYnjdBbGj026smnnjTPgSmbwcQv7n1tOz8G4AxeabyZT2XeZBW23wqutccdPZnP69kXHjcX4j10ALgwuNkUhAIL2bIwIeR/jcZWERd/8UUq0PlcmZl9JCEaHjkY6RkLwWZALopUyhrlzKqGc1bw/WHB8jrU28e2JjCoVCkRMqYuEmUqYi4752Mcph3qSTFhSITXlBJv0B0S9AhtBUmsQ1gOMIMuIRZMomt+YUQiC86yH8+5hf3vVy7VQAZj6IVpqctw+EabNxjsv5DhJS/kRG9kPGz7Rgs6/LraGMtfQKoFdzYs9V6Nn3SBF6CYT/A4iAfgjfdp5zKszJ3RirPgYUCoXnUJ8o7pKyCWSkhYECmfhbfluTJ6RMQkaPSP8umxGmkyGjXs5TtUVeEVoIIvy7tNwEuPy2Tf9/uu1X25je8Ot/TluVS5liNmPz65XNHNnY4/8IIqAXrvM5hGmz1+0u5/Q4XndgzfHxBtst+W2NQqG4gVBbIe5iWUJagnGN710nLTI7azrFAOM0pKwDH2ulp/mBsJWH4gvMKETi7+bPVoSaYl+OvTh3CHRk/HSEd8NMR2Xqf8j4qWny2Wmls
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAhYAAAGdCAYAAABO2DpVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAADbMklEQVR4nOydd3gUVduH7zNb0ntIICSU0HsRUHpVQcUuYEHs/bW99q6fvXdesaCiIAKKBRHpvffekkBISO9l68z3x6aSbEsD5NzXxUUyc+acZ7PJzm+e8xShaZqGRCKRSCQSSQOgnG4DJBKJRCKR/HuQwkIikUgkEkmDIYWFRCKRSCSSBkMKC4lEIpFIJA2GFBYSiUQikUgaDCksJBKJRCKRNBhSWEgkEolEImkwpLCQSCQSiUTSYOibekFVVUlNTSUoKAghRFMvL5FIJBKJpA5omkZhYSExMTEoinO/RJMLi9TUVOLi4pp6WYlEIpFIJA1AcnIysbGxTs83ubAICgoCHIYFBwc39fISiUQikUjqQEFBAXFxcRX3cWc0ubAo3/4IDg6WwkIikUgkkrMMd2EMMnhTIpFIJBJJgyGFhUQikUgkkgZDCguJRCKRSCQNhhQWEolEIpFIGgwpLCQSiUQikTQYUlhIJBKJRCJpMKSwkEgkEolE0mA0eR0LiUTTNCxqLnbNio8uDJ0wnm6TJBKJRNJASGEhaTI0zU5S4W8czZ9FgeUIADrhS+ugy+kQOpkAg/MSsRKJRCI5O5DCQtIkqJqVjWlPcrJkOVBZtc2umUgsmMfxwj8ZEvM/wn17nD4jJRKJRFJvZIyFpEk4kPslJ0tWlH2nVTunYcemmVh78gGsanGT2yaRSCSShkMKC0mjY1dNHMmbxamCojoqVrWA5MK/msosiUQikTQCUlhIGp2M0s3YtCIPRgqSixY2uj0SiUQiaTyksJA0OlY138ORGmZ7bqPaIpFIJJLGRQoLSaNjVEI9HCnw1UU0pikSiUQiaWSksJA0Os38B2BQgj0YqdEq6NJGt0cikUgkjYcUFpJGRyeMdAid7HKMQMFHF05s4NgmskoikUgkjYEUFpImoVPorcQGjgMcIqIqAgW9EsjgFp+jV/xOh3kSiUQiaSBkgSxJkyCEjv5RrxITMJwjeTPJMe8CwKAE0Tb4GtqFXI+fPuo0WymRSCSS+iKFhaTJEEIhNvBiYgMvxq6asGtWDEoAQkjHmUQikfxbkMJCclrQKb7o8D3dZkgkEomkgZHCQnLOcSg5kz/W7iUtpwA/HwNDesQzsm97DHrd6TZNIpFIznqksJCcMxSbLDz35V+s3pmAThGoqoaiCP5av5/wYH/evf9yeraLOd1mSiQSyVmN3NyWnBPYVZVHP5nP2t2JZd9raGX/A+QVlnLve3M5ciLzNFopkUgkZz9SWEjOCVbvTGDrwROoau2N0FRNw2qz8/mv65rYMolEIvl3IYWF5IzGrpoosCRQaEnErlnqPM/Py3egKMLlGFXVWL3rKBm5hXVeRyKRSM51ZIyF5IzEZMvmUN50kgp+xaaVAKAXgbQNuYaOoVPw0YV5Nd/h5Cyn3oqqaBokpOYQFRZUJ7slEonkXEd6LCRnHCXWVJaduIGj+T9ViAoAm1bEkbwZLD9xI6W2DK/mdOOsqIbOm8EeoKoaxSYLdlVt0HklEonkTER6LCRnFJqmsSHtMcz2bDTsNc+jUmrLYGP6E4xo+a3H8/bpGMvybYcrgjWdYdApdGrVMBVAN+49xo9LtrJ5fzJWmx1FEQzv3Y4bxvSlT8fYBllDIpFIzjSksJCcUeSYd5Fn2e9yjIadHNNO8swHCPXp7NG8E0b1ZsmWQy7H6BTB2Au6EBxQv8JdexPTeO27xRw6JcNEVTVW7TjK8m1HeOi6YUy+uF+91pFIJJIzESksznFMtmySCudzsng5VrUIf30MbYKvJCZgJIow1GnOYusJEgvmkWPaDUC4bw/aBl9DgMH9U3pq0VIEulq9FVUR6EgpXuqxsOjToSVXDOnOb2v21HpepwjCgvy576rBHs3njC0HjvPA+/OwOfGMlHtMPpqzipSsfFIz8ykqNdMiIpjxg7sxoEtrt0GmEolEciYjhcU5TErRMjZnPI2qWQHHDa/ImkxG6XoCDW0Y0uJz/A0tPJ5P0zT25nzCobxvESgV4iDbtINDed/RMXQK3cIfRAjnN06L6mlGhsBq9zx7QwjBMzePISIkgB//2YLFakenU1BVDVXT6NW+Ja/cPpZmoYEez3kqJouVxz//w6moOJW5y3cihCNgdG9iGos2HaRL62g+fPBKIkIC6myHRCKRnE6ksDhHySrdzqb0x3GUiap6I3QEGBZbk1mdejej42Z73Mr8QO40DuVNB6jmcSj/+lDet+iEL13C73Y6h68u0sNXoOKr93SsA52icN9Vg7n54n4s2XqI9JxCfI0GhvRsS7uW3s1VG4s3H6KwxOzVNVrZj77ck3EoOYP73p/H98/dgI9B/nlKJJKzD5kVco6yL2dqmZyo/elaw06xLZnkooUezWex53Mw92u34w7mfo3Fnu/0fFzQOLfbIA77VAQ6zPYcj+yrSqC/D1cO7cHdVwxiyrj+DSIqANbuTqS+mxh2VeNoShaLNx1sEJskEomkqZHC4hykxJpKlmkz5d4J5wgS8+d4NOfxwgWo2NyOU7FxvHCB0/PBxnia+w9DePCruTfnY/5KuoitGS9hU0vcjm9sSs1WJzLNO4QQzFmxswFmkkgkkqZH+lrPQYptKR6O1DweW2Q9VhZ06VpcCHQUWpNcjukf9SprTt5HrnkPIHDmVXFYaOd44R8UWI4yLOZLdEr9W7Hb7CprdiWwaOMBcgpKCAn05cL+nRjZpz36WjqgaprG7oSTWG22ipiJ+qBpGkknvffESCQSyZmAFBbnIIowNvhYITz/VXKXbWLQBTGs5dckFy7gSP4sCiyHXY7XUMk17+Vo/k90DLvFYztqIzk9lwc/+pXkjDyU8g6oQrBs2xGiwgL5+OGraV9l62TZ1sN8+ssajqfn1mvdU9HrG86ZeOREJn+s3Ud6biF+RgNDe8UzrHc79DrpsJRIJA2PFBbnIKHGzhiUQKxqkctxAh3Rfp6lXzbz68fR/Jlux2nYaObnvn6DThhpE3wVbYKvYsWJm8kx78X11o3G0fxZdAi9GSHqdsPMKyzlrnd+JqfAsa1SXgJcLXNBZOUXc/fbPzPzxclEhwfx66pdvPb9knrHVZyKThEM6NKq3vOUlLWJX1XeJl5ziKQ/1u2lWWgA795/Bd3aNm8AiyUSiaQS+cjSAKiaFZtaglZfH3gToVN8aBt8Le7efg077UInejRnc/+hZRkdruZU8NVF0tx/qMe2apqdHPNu3MeDQKk9gxJbmsdzn8rPy3eQnV/itDqnqmoUlZr5cfFW0nIKeeOHpQ4bvVjDz6jHRbYt4AjgnDiqjxez1sRmV3nk4/msqdomXqvMPsnOL+Ged+eQkJpdr3UkEonkVKSwqCOappFStJRVKXcwP2EAvycO5s+kkezJ/sTrPhang85hdxFq7OwySLJL2D2E+XT1aD5F6Okf/XrZfLXNqSBQ6Bf1GooX2yaaB4Ki+nj3AaS1XqdpzF2+s8I74Qy7qjF/9W7mrtjh8dwRIf6M7NOeTx+5mr/evYvW0eG19iPR2x22Txrdh94dWtacyOJ5d9fVO4+y9ZDrNvEWq42p89d6PKdEIpF4ghQWdUDTVLZlvszG9MfIMm2vOG5V8zmc9y1LkieQZz6z0wX1Nh3DWn5J2+DrUIRP9XNKEJ38J9M57C6v5mzm15+hMdMINsaXHRFl/xzZHkNjphHlP8CrORVhwE8X7dFYnfABgskyZ1FqL/VqnWKThZxCzzJLSkxWVu9M8KhbKsDj14/infsv54JubQjy9+XrpyYyul/HigqbQsCFCduZM/89nhrekf9OGlFzkuRk6NEDZs/2aM05y3e6reBpVzVWbj9KVn6xR3NKJBKJJwitif33BQUFhISEkJ+fT3BwcFMu3WAcyv2OPTkfOj0vUDDqQrm41Z8eF5dqUmbPhhdeg
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"for i in range(2, 21):\n",
" kmeans = KMeans(n_clusters=i, n_init='auto')\n",
" labels = kmeans.fit_predict(X)\n",
" fig = plt.figure(i)\n",
" plt.scatter(X[:, 0], X[:, 1], s=50, c=labels)\n",
" plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=50, marker=\"x\", c=\"red\")\n",
" print(f\"{i}: {silhouette_score(X, labels)}\")"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {
"id": "YGMDRdH1fp2P"
},
"source": [
"## 📢 **HAND-IN** 📢: Report in Moodle whether you solved this task."
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {
"id": "7wCCr_SqjGb3"
},
"source": [
"# TASK 2 (2 Points): DBSCAN\n",
"\n",
"First, let's setup the data used in this section. We will redefine the variable `X` containing the data to be clustered."
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {
"id": "kAkWhmjYlwJc"
},
"outputs": [],
"source": [
"from sklearn.datasets import make_moons"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {
"id": "JeZgx1Rnl1iS"
},
"outputs": [],
"source": [
"X, _ = make_moons(\n",
" n_samples=200,\n",
" noise=.05,\n",
" random_state=RANDOM_SEED,\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {
"id": "MmdUwMF8l9Vg"
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7fd8f7625f90>"
]
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(X[:, 0], X[:, 1], s=50)"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {
"id": "AtivNvrGoF9v"
},
"source": [
"### Task 2a\n",
"\n",
"* cluster the new data `X` using `KMeans`\n",
"* set `n_clusters=2`\n",
"* visualize and analyse the resulting clustering\n",
"* What do you think of the result? Did something go wrong?"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {
"id": "Bf5mqNILoXVz"
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7fd8f753d210>"
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"kmeans = KMeans(n_clusters=2, n_init='auto')\n",
"labels = kmeans.fit_predict(X)\n",
"plt.scatter(X[:, 0], X[:, 1], s=50, c=labels)\n",
"plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=50, marker=\"x\", c=\"red\")"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"_As the K-Means algorithm finds fitting places where points are centered around and the groups are not spreaded in a centric form, the algorithm yields an unfitting result._"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {
"id": "yBr9_643pOMG"
},
"source": [
"### Task 2b\n",
"\n",
"Let's use `sklearn.cluster.DBSCAN` instead. Refer to the documentation: <https://scikit-learn.org/stable/modules/generated/sklearn.cluster.DBSCAN.html>\n",
"\n",
"* cluster the data using `DBSCAN`\n",
"* try different values for `eps` and `min_samples` until you can cluster the two half-moons"
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {
"id": "42OURwFappgN"
},
"outputs": [],
"source": [
"from sklearn.cluster import DBSCAN"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {
"id": "mNVoC5AbpuHc"
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7fd8f754e2d0>"
]
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"dbscan = DBSCAN(0.2, min_samples=6)\n",
"labels = dbscan.fit_predict(X)\n",
"plt.scatter(X[:, 0], X[:, 1], s=50, c=labels)\n",
"\n",
"plt.scatter(\n",
" X[dbscan.core_sample_indices_, 0],\n",
" X[dbscan.core_sample_indices_, 1],\n",
" s=50,\n",
" marker=markers.MarkerStyle(\"o\", fillstyle='none'),\n",
" c=\"red\")"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {
"id": "jLTk8tewf_Ec"
},
"source": [
"## 📢 **HAND-IN** 📢: Report in Moodle whether you solved this task."
]
}
],
"metadata": {
"colab": {
"private_outputs": true,
"provenance": []
},
"kernelspec": {
"display_name": "Python 3",
"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.11.3"
}
},
"nbformat": 4,
"nbformat_minor": 0
}