{ "cells": [ { "cell_type": "markdown", "source": [ "# Algorytm PAM (Partitioning Around Medoids)" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "Input:\n", "\n", "* dane w N wymiarach (zbiór punktów)\n", "* metrykę dystansu (tutaj zakładamy odległość euklidesową)\n", "\n", "Output:\n", "\n", "* Znalezione skupienia punktów które są bliskie sobie\n", "* Liczba skupień (k) jest wybranym przez użytkownika parametrem" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "#### Przykład klasteryzacji:\n", "\n", "\n", "![Grupowanie](clustering.png \"Title\")" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "Algorytm PAM jest bardzo podobny do popularnego k-means\n", "\n", "*Główna różnica jest taka że środkiem znalezionego skupienia jest jeden z punktów z danych wejściowych, a w k-means zwykle tak nie jest*\n", "\n", "Pod względem wydajnościowym PAM jest zwykle wolniejszy niż k-means ale bardziej odporny na obserwacje odstające (dzięki temu że środek grupy musi być jednym z punktów)." ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "### Algorytm\n", "\n", "1. Wybranie losowo *k* punktów jako pierwszych medoid\n", "2. Przypisanie każdego z punktów w danych do najbliższej medoidy\n", "3. Tak długo jak następują zmiany / poprawa dystansów:\n", " 1. Dla każdej z medoid podmieniamy ją z nie-medoidami i patrzymy, czy nastąpiała poprawa dystansów\n", " 2. Jeśli tak, to wykonujemy podmianę i zapamiętujemy obecną wartość średniego dystansu" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "## Implementacja PAM (bez numpy)" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 46, "outputs": [], "source": [ "from __future__ import annotations\n", "from typing import Sequence\n", "\n", "# Własna implementacja wielowymiarowych punktów\n", "class Point:\n", " def __init__(self, coordinates : Sequence[float]):\n", " self.coordinates = coordinates\n", " def __str__(self):\n", " return str(['{:.2f}'.format(x) for x in self.coordinates])\n", " def __repr__(self):\n", " return self.__str__()\n", " def distance_to(self, other : Point) -> float: # Dystans euklidesowy\n", " if len(self.coordinates)!=len(other.coordinates): # Punkty muszą mieć te same wymiary\n", " raise ValueError\n", " dist = 0\n", " for x, y in zip(self.coordinates, other.coordinates):\n", " dist+=(x-y)**2\n", " dist = dist**(1/2)\n", " return dist" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 47, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3.4641016151377544\n" ] } ], "source": [ "point_1 = Point([3,3,3])\n", "point_2 = Point([1,1,1])\n", "\n", "print(point_1.distance_to(point_2))" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 48, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['3.00', '3.00', '3.00']\n" ] } ], "source": [ "print(point_1)" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "### Funkcje pomocnicze do generowania wielowymiarowych danych dookoła punktów" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "Dystans względem każdego z wymiarów" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 49, "outputs": [], "source": [ "import random\n", "\n", "def generate_data(centers : Sequence[Point], data_points : int, x_y_dist_from_center : float) -> Sequence[Point]: # Dystans manhattański\n", " points = []\n", " for x in range(data_points):\n", " center = random.choice(centers)\n", " coords = []\n", " for index in range(len(center.coordinates)):\n", " existing_coord = center.coordinates[index]\n", " coords.append(existing_coord+random.uniform(-x_y_dist_from_center,x_y_dist_from_center))\n", " points.append(Point(coords))\n", " return points" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "Losowe punkty w odległości euklidesowej od punktu\n", "\n", "1. Wybór punktu (centrum)\n", "2. Losowanie wektora kierunku + normalizacja\n", "3. Mnożenie wektora kierunku przez losową odległość z zakresu (-dystans, dystans)\n", "4. Dodanie tego wektora do centrum" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 50, "outputs": [], "source": [ "def generate_data_sphere(centers : Sequence[Point], data_points : int, dist_from_center : float) -> Sequence[Point]: # Dystans euklidesowy (losowy wektor kierunku * losowy dystans)\n", " points = []\n", " for x in range(data_points):\n", " center = random.choice(centers)\n", " direction_vector = []\n", " for i in range(len(center.coordinates)):\n", " direction_vector.append(random.uniform(-1,1))\n", " direction_vector_length = 0\n", " for i in range(len(direction_vector)):\n", " direction_vector_length+=direction_vector[i]**2\n", " direction_vector_length = direction_vector_length**(1/2)\n", " direction_vector_normalized = [z/direction_vector_length for z in direction_vector]\n", " random_length = random.uniform(-dist_from_center, dist_from_center)\n", " coords_1 = [i*random_length for i in direction_vector_normalized]#direction_vector_normalized*random_length\n", " coords_2 = [x+y for x,y in zip(center.coordinates, coords_1)]\n", " points.append(Point(coords_2))\n", " return points" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 51, "outputs": [ { "data": { "text/plain": "
", "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiIAAAGdCAYAAAAvwBgXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAmFklEQVR4nO3df2zV9d338ddpZ1uR9mgZ0DKKYjWa2guNP2Co2WCCQgwDk7ll0YnMmNm7GAnJpt19TdLc8yrOJTOXI0h0ATLkwsUNCZtDuVEgVwbCqM2oDBNJHQitIA3n1G5tuc/53n/0OrWF0/ac8v18P98fz0fSP3o49Hy+VHte/X7e7/cn5jiOIwAAAAsKbC8AAABEF0EEAABYQxABAADWEEQAAIA1BBEAAGANQQQAAFhDEAEAANYQRAAAgDVfsb2AkaTTaZ06dUqlpaWKxWK2lwMAAHLgOI66uro0ZcoUFRSMfM/D10Hk1KlTqqqqsr0MAAAwBidOnNDUqVNHfI6vg0hpaamk/gspKyuzvBoAAJCLZDKpqqqqgffxkfg6iGS2Y8rKyggiAAAETC5lFRSrAgAAawgiAADAGoIIAACwhiACAACs8SyIrF69WrFYTCtWrPDqJQEAgM95EkQOHjyodevWacaMGV68HAAACAjjQeSLL77QQw89pFdeeUVXXXWV6ZcDAAABYjyI1NfX6/7779e8efNGfW5vb6+SyeSQDwAAEF5GB5pt2bJFzc3NOnjwYE7Pb2pqUmNjo8klSZJSaUcH2jp1uqtHk0pLNHN6uQoLOMsGAACvGQsiJ06c0FNPPaWdO3eqpKQkp7/T0NCglStXDnyeGRHrph2t7WrcfkTtiZ6BxyrjJVq1qEYLaitdfS0AADCymOM4jokv/Oabb+qBBx5QYWHhwGOpVEqxWEwFBQXq7e0d8mfZJJNJxeNxJRIJV0a872htV92mZl14wZl7IWsfvpUwAgDAJcrn/dvYHZF77rlHhw8fHvLYsmXLdOONN+rpp58eNYS4LZV21Lj9yEUhRJIc9YeRxu1HNL+mgm0aAAA8YiyIlJaWqra2dshjV1xxhSZMmHDR41440NY5ZDvmQo6k9kSPDrR1anb1BO8WBgBAhPn69F03ne4aPoSM5XkAAPhR0BoyPA0iu3fv9vLlhphUmlvBbK7PAwDAb4LYkBGZs2ZmTi9XZbxEw2XCmPq/WTOnl3u5LAAAXJFpyLiwDKEj0aO6Tc3a0dpuaWUji0wQKSyIadWiGkm6KIxkPl+1qMbXt68AAMhmtIYMqb8hI5U20ih7SSITRCRpQW2l1j58qyriQ7dfKuIltO4CAAIrn4YMv4lMsWrGgtpKza+pCFQhT9gFrbAKAPwmyA0ZkQsiUv82DS26/hDEwioA8JsgN2REamsG/hLUwioA8JsgN2QQRGBFkAurAMBvgtyQQRCBFUEurAIAPwpqQ0Yka0RgX5ALqwDAr4LYkEEQgRVBLqwCAD8LWkMGWzOwIsiFVQAA9xBEYEWQC6sAAO4hiFwglXa079hZbWs5qX3HztK1YVBQC6sAAO6hRmSQKA3X8ss00yAWVgEA3BNzHMe3v/Ink0nF43ElEgmVlZUZfa3McK0L/zEyb4dh+g09SoELAOC9fN6/2ZpRtIZrMc0UAOAnBBFFZ7hWlAIXACAYCCKKznCtqAQuAMFCk0C0Uayq6AzXikrgAhAc1KzZ45emBYKIvhyu1ZHoybptEVN/S2nQh2tFJXABCIbhmgQyNWthahLwGz8FQLZmFJ3hWkwzBeAX1KzZ47emBYLI/4jCcK2oBC4A/kfNmh1+DIBszQwSheFamcB14S25CvZkAXiImjU78gmAXh2cRxC5QNBOLRyLKAQuAP5GzZodfgyABJGIikLgAuBfUWkS8Bs/BkBqRAAAnqNmzQ4/Ni0QRAAAVkShScBv/BgAOfQOAGCVXwZrRYnpOSL5vH8TRAAAiCCTATCf92+KVQEAnuDOh7/4pWmBIAIAMM5PI8XhLxSrAgCM8ttIcfgLQQR54bhuAPnw40hx+AtbM8gZt1YB5MuPI8XhL9wRQU64tQpgLPw4Uhz+QhDBqLi1CmCs/DhSHP5CEMGoOK4bwFj5caQ4/IUgglFxaxXAWPlxpLhfRbUZgGJVjIpbqwAuReZMmQuL3Ssodh8Q5WYAgghGxXHdAC7VgtpKza+pYLJqFplmgAt/vmaaAcJ+ACBbMxgVt1YBuCEzUnzxLV/T7OoJ/MwQzQASQQQ54rhuABjZWGo8aAZgawZ54NYqAGQ31hqPS2kGCMshggQR5MUvpzUCgF9cSo3HWJsBwlTcytYMAABjdKk1HmOZsxK2SdcEEQAAxuhSazzybQYIY3ErQQSeieqwHgDh5cbAx3yaAcJY3EqNCDwRpv1MAMhwa+Bjrs0AYZx0TRCBcVEf1gPAfX7pGHFz4GMuzQBhnHRNEIFRo+1nxtS/nzm/piKQbWcAcuNmcPDTHdZMjUfdpmbFpCE/60wMfAzjpGtqRGBUGPczAeRnR2u77n7+XX3/lf16akuLvv/Kft39/Ltj6u7wY8eIlwMfwzjpmjsiMCqM+5kAcufm1qyf77B6OfAxbIcIEkRgVBj3M4Goy3Wbxe3gkM8dVhuDF70c+BimSdcEERgVxv1MIMryqc9wOzhwh3WosEy6pkYERoVxPxOIqnzrM9wODtxhDSeCCIzj5F4g+MYy0dPt4DCWcejwP7Zm4Ikw7WcCUTSWbRa3t2a9bpWFN7gjAs9k9jMX3/I1za6ewA8LIEDGss1iYmuWO6zhY/SOyNq1a7V27Vp98sknkqSbbrpJzz77rBYuXGjyZQEALhvrNouJVlPusIaL0SAydepUrV69Wtdff70cx9HGjRu1ePFiffDBB7rppptMvjQAwEWXss1iIjiEpWMEUsxxHE+PQC0vL9cLL7ygxx57bNTnJpNJxeNxJRIJlZWVebA6AMBwMl0zUvb6DLZGkJHP+7dnNSKpVEpbtmxRd3e3Zs+enfU5vb29SiaTQz4AAP5AfQZMMN41c/jwYc2ePVs9PT0aP368tm7dqpqamqzPbWpqUmNjo+klAQDGiPoMuM341kxfX5+OHz+uRCKhN954Q6+++qr27NmTNYz09vaqt7d34PNkMqmqqiq2ZgAgZNw8jRf+k8/WjOc1IvPmzVN1dbXWrVs36nOpEQGA8MlnTDyCyZc1IhnpdHrIXQ8AQHTkOyYe4We0RqShoUELFy7UtGnT1NXVpc2bN2v37t16++23Tb4sAMCH3D6NF+FgNIicPn1ajzzyiNrb2xWPxzVjxgy9/fbbmj9/vsmXBQD4kNun8SIcjAaR3/zmNya/PAAgQNw+jRfhwFkzAABPuH0aL8KB03cBAJ5w+zRejC4IbdKRDyJB+CYBQBhkTuOt29SsmLKPic/3NF4MLyht0p7PEcmH6TkiQfkmAUCY8LPXvEyb9IVv8F6dC+TrgWb5MBlEbH+TACDKuBttTirt6O7n3x22QymzBfbfT3/L2L95Pu/fkdyaoZcdAOwqLIjRomtI0NqkI9k1k883CQCAIAlam3Qkg0jQvkkAAOQqaG3SkQwiQfsmAQCQq0yb9HCFBTH1Fwf7pU06kkEkaN+k4aTSjvYdO6ttLSe179hZpdK+rTsGAHgk0yYt6aL3OT+2SUeyWDUMvey0vwEAhrOgtlJrH771oveJCh++T0S2fVcK7ps5rccAgFzYapNmjkgegtbL7of+cAAARsIckTwErZc9aP3hAACMJJLFqkFG6zEAIEwIIgFD6zEAIEwIIgETltZjAAAkgkjgBK0/HACAkRBEAijTH14RH7r9UhEvoXUXABAoke+aCaoFtZWaX1MRqNZjAMBQQRshYQJBJMCC1noMAPhSUIdquo2tGQAAPJaZkH3hXKiORI/qNjVrR2u7pZV5jyACAICHUmlHjduPXHRMh/Tl2WeN249E5iBTgggAAB7KZ0J2FFAjAkkUTAGAV5iQPRRBBBRMAYCHmJA9FFszEUfBFAB4iwnZQxFEIoyCKQDwHhOyhyKIRBgFUwBgBxOyv0SNSIRRMAXAtigXyjMhux9BJMIomAJgE4XyTMiW2JqJNAqmANhCoTwyCCIRRsEUABsolMdgBJGIo2AKgNcolMdg1IiAgikAnqJQHoMRRCCJgikA3qFQHoOxNQMA8BSF8hiMIAIA8BSF8t5KpR3tO3ZW21pOat+xs74rAmZrBgDguUyh/IVzRCoiNkfEtCDMaok5juOvaDRIMplUPB5XIpFQWVmZ7eUAAPI02uTUKE9WNS0zq+XCN/nMv67Jzsh83r+5IwIAMCKX38YplDdjtFktMfXPaplfU2E9+FEjAgBwHZNT7QrSrBaCCADAVUxOtS9Is1rYmgEAuCrX38b3HzurgoJYoOtD/FrjEqRZLQQRAICrcv0tu35zs8796/zA537r5hiNnztSMrNaOhI9We9MxdTfoeSHWS1szQAAXJXrb9mDQ4gUrPoRv9fABGlWC0EEAOCq0SanDico9SNBqYEJyqGmbM0AAFyV+W28blOzYlLWN+zhDO7m8Gtbbz4dKbavIQiHmnJHBADguuF+G7/y8sty+vt+6OYYTpA6UqQvZ7UsvuVrml09wVchROKOCADAkGy/jacdRw+9+v6of9cP3RzDCVJHShAQRAAAxlw4OTWVdgLTzTGcIHWkBAFbMwAAzwSpm2M4YbgGPyGIAAA8FZRujpGE4Rr8gtN3AQBW+HUqaT7CcA0mcPouAMD3wnDybhiuwTa2ZgAAgDXcETGE23UAAIzOaBBpamrSH/7wBx09elSXX3657rzzTj3//PO64YYbTL6sdX4+CAkAAD8xujWzZ88e1dfXa//+/dq5c6fOnz+ve++9V93d3SZf1iq/H4QEAICfeNo1c+bMGU2aNEl79uzRN77xjVGfH7SumVTa0d3PvzvsGQSZITf//fS32KYBAIRWPu/fnharJhIJSVJ5efZpc729vUomk0M+giSfg5AAAICHQSSdTmvFihW66667VFtbm/U5TU1NisfjAx9VVVVeLc8VQTsICQAA2zwLIvX19WptbdWWLVuGfU5DQ4MSicTAx4kTJ7xanis4CAkAgPx40r67fPly/fGPf9TevXs1derUYZ9XXFys4uJiL5ZkBAchAQCQH6N3RBzH0fLly7V161a9++67mj59usmXs46DkAAAyI/RIFJfX69NmzZp8+bNKi0tVUdHhzo6OvSvf/3L5MtaxUFIAADkzmj7biyW/Tf/9evX69FHHx317wetfXcwJqsCAKLKN4fe+fhgX+M4CAkAgNFx6B0AALCGIAIAAKwhiAAAAGsIIgAAwBqCCAAAsIYgAgAArCGIAAAAawgiAADAGoIIAACwhiACAACsIYgAAABrCCIAAMAagggAALCGIAIAAKwhiAAAAGsIIgAAwBqCCAAAsIYgAgAArCGIAAAAawgiAADAGoIIAACwhiACAACsIYgAAABrCCIAAMAagggAALCGIAIAAKwhiAAAAGsIIgAAwBqCCAAAsIYgAgAArCGIAAAAawgiAADAGoIIAACwhiACAACsIYgAAABrCCIAAMAagggAALCGIAIAAKwhiAAAAGsIIgAAwBqCCAAAsIYgAgAArCGIAAAAawgiAADAGoIIAACwhiACAACsIYgAAABrCCIAAMAagggAALCGIAIAAKwhiAAAAGsIIgAAwBqCCAAAsIYgAgAArCGIAAAAawgiAADAGoIIAACw5iu2FwAAXkmlHR1o69Tprh5NKi3RzOnlKiyI2V4WEGlGg8jevXv1wgsv6NChQ2pvb9fWrVu1ZMkSky8JAFntaG1X4/Yjak/0DDxWGS/RqkU1WlBbaXFlQLQZ3Zrp7u7WzTffrDVr1ph8GQAY0Y7WdtVtah4SQiSpI9Gjuk3N2tHabmllAIzeEVm4cKEWLlxo8iUAYESptKPG7UfkZPkzR1JMUuP2I5pfU8E2DWCBr4pVe3t7lUwmh3wAwKU40NZ50Z2QwRxJ7YkeHWjr9G5RAAb4Kog0NTUpHo8PfFRVVdleEoCAO901fAgZy/MAuMtXQaShoUGJRGLg48SJE7aXBCDgJpWWuPo8AO7yVftucXGxiouLbS8DQIjMnF6uyniJOhI9WetEYpIq4v2tvAC856s7IgDgtsKCmFYtqpHUHzoGy3y+alENhaqAJUaDyBdffKGWlha1tLRIktra2tTS0qLjx4+bfFkAGGJBbaXWPnyrKuJDt18q4iVa+/CtzBEBLIo5jpPtbqUrdu/erblz5170+NKlS7Vhw4ZR/34ymVQ8HlcikVBZWZmBFQKIEiarAt7I5/3baI3InDlzZDDnAEBeCgtiml09wfYyAAxCjQgAALCGIAIAAKzxVfsuAPgJNSWAeQQRAMiC03oBb7A1AwAX4LRewDsEEQAYZLTTeqX+03pTaToCATcQRABgEE7rBbxFEAGAQTitF/AWQQQABuG0XsBbBBEAGCRzWu9wTbox9XfPcFov4A6CCAAMwmm9gLcIIgBwAU7rBbzDQDMgxJgMOnYLais1v6aCfz/AMIIIEFJMBr10nNYLmMfWDBBCTAYFEBQEESBkgjQZNJV2tO/YWW1rOal9x876Yk0AvMXWDBAy+UwGtbntwNYRAIk7IkDoBGEyKFtHADIIIkDI+H0yaJC2jgCYRxABQsbvk0E5VA7AYAQRIGT8Phk0CFtHALxDEAFCyM+TQf2+dQTAW3TNACHl18mgma2jjkRP1jqRmPoD01i3jrJNk5Xku38HAP0IIkCI+XEyaGbrqG5Ts2LSkDByqVtH2VqCrxx3mSTp3D/PDzxGmzDgH2zNAPCcia2j4VqCz/3z/JAQItEmDPgJd0QAWOHm1tFILcHZOOq/+9K4/Yjm11SwTQNYRBABYI1bW0ejtQRn45cJs0DUsTUDIPAupdWXNmHALoIIgMC7lFZf2oQBuwgiAAJvtGmy2dieMAugH0EEQOCNNE02Gz9MmAXQjyACIBSGawm+atxlA7NEMvwwYRZAP7pmAITGcC3BEpNVAb8iiAAIleFagmnRBfyJrRkAAGANQQQAAFhDEAEAANYQRAAAgDUEEQAAYA1BBAAAWEP7LhBxqbTDjA0A1hBEgAh762/t+vdtrers7ht4rDJeolWLapg6CsATbM0AEdX01hH9r83NQ0KIJLUnelS3qVk7WtstrQxAlBBEgAh662+ntG5v27B/7khq3H5EqbTj3aIARBJBBIiYVNrRv29rHfV57YkeHWjr9GBFAKKMIAJEzIG2TnV2n8/puae7egyvBkDUEUSAiMknXEwqLTG4EgAgiACRk2u4mHBFkWZOLze8GgBRRxABImbm9HJVxkcPI/9ncS3zRAAYRxABIqawIKZVi2o0UsQYV1SoAo9+OqTSjvYdO6ttLSe179hZOnWAiIk5juPb/+uTyaTi8bgSiYTKyspsLwcIlR2t7XrmD4d17p8XF65mQsrah281OthsR2u7GrcfUXviy7oVBqoBwZfP+zd3RICIml9ToZKvZP8RkPntxOQskR2t7arb1DwkhEhSxwgD1bh7AoQPI96BiDrQ1qmOZO+wf+7oy1kis6snuPraqbSjxu1HlC1GOOq/I9O4/Yjm11QM1Klw9wQIJ+6IABGVaxuviVkiB9o6L7oTMtjgECSN7e4JgGAgiAARlWsbr4lZIvmEoNHunkiMoweCjCACRFSmjXe47pmY+rc+TMwSyScE5Xv3BECwEESAiMq08Uq6KIxkPl+1qMbILJF8QpDNLSQA5nkSRNasWaNrrrlGJSUlmjVrlg4cOODFywIYxYLaSq19+FZVXDDgrCJeYrR1N58QZHMLCYB5xrtmXn/9da1cuVIvv/yyZs2apRdffFH33XefPvroI02aNMn0ywMYxYLaSs2vqdCBtk6d7urRpNL+OxGmp6pmQtCFnTAVF3TCZO6edCR6staJxP7n7zCOHggm4wPNZs2apTvuuEO//vWvJUnpdFpVVVV68skn9cwzz4z4dxlohihIpR3PQ4Cf5HL9ma4ZSUPCiFeD1wDkJ5/3b6N3RPr6+nTo0CE1NDQMPFZQUKB58+Zp3759Fz2/t7dXvb1fzjVIJpMmlwdYx2yM/m2a0eaU5Hr3BEDwGA0in3/+uVKplCZPnjzk8cmTJ+vo0aMXPb+pqUmNjY0mlwT4Rua3/AtvSWZmY/Bb/lC2tpAAmOWrrpmGhgYlEomBjxMnTtheEmAEszHGJnP3ZPEtX9Ps6gmEECAEjN4R+epXv6rCwkJ99tlnQx7/7LPPVFFRcdHzi4uLVVxcbHJJgC/kMxvD7fHqURD1uhsgSIwGkaKiIt12223atWuXlixZIqm/WHXXrl1avny5yZcGfI3ZGOZQdwMEi/GtmZUrV+qVV17Rxo0b9fe//111dXXq7u7WsmXLTL804FvMxjCDM2mA4DE+R+R73/uezpw5o2effVYdHR265ZZbtGPHjosKWIEoYTaG+8Zyoi8A+zwpVl2+fLn+8Y9/qLe3V++//75mzZrlxcsCvmVzvHpYcSYNEEy+6poBosTWePWwou4GCCbjWzMAhsdsDPdQdwMEE0EEsCyXyaIYHXU3QDCxNQMgFKi7AYKJIAIgNKi7AYKHrRkAoULdDRAsBBEAoUPdDRAcbM0AAABruCMCAKPgED3AHIIIAIyAQ/QAs9iaAYBhcIgeYB5BBACyGO0QPan/EL1UOtszAOSKIAIAWXCIHuANgggAZMEheoA3CCIAkAWH6AHeIIgAQBaZQ/SGa9KNqb97hkP0gEtDEAGALDhED/AGQQQAhsEheoB5DDQDgBFwiB5gFkEECCnGkruHQ/QAcwgiQAgxlhxAUFAjAoQMY8kBBAlBBPCRVNrRvmNnta3lpPYdO5v3+PDRxpI7kv731lb1/b+0G8sFgEvG1gzgE25sp4w2llySznb36etN/1f/8cC/sU0DwDruiAA+4NZ2Sq7jxju7z7NNA8AXCCKAZW6e8prvuHFOjwVgG0EEsMzNU15HG0s+1q8LAKYQRADL3DzldfBYcrdfHwBMIIgAlrl9ymtmLHn5FUWufl0AMIEgAlhm4pTXBbWV2t9wj8qvuGzY53B6LAA/IIgAlpk65bXoKwX6jwf+TTGXvy4AuIkgAviAqVNeOT0WgN/FHMfxbe9eMplUPB5XIpFQWVmZ7eUAxpk6qI4D8AB4KZ/3byarAj5i6pRXTo8F4FdszQAAAGsIIgAAwBqCCAAAsIYaEQDWUEQLgCACwIodre1q3H5kyDk7lfESrVpUQ1sxECFszQDw3I7WdtVtar7osL+ORI/qNjVrR2u7pZUB8BpBBICnUmlHjduPKNsAo8xjjduPKJX27YgjAC4iiADw1IG2zovuhAzmSGpP9OhAW6d3iwJgDUEEgKdOdw0fQsbyPADBRhAB4KlPPv9nTs+bVFoy+pMABB5BBIBnUmlH/3Xg+KjPqygr1szp5R6sCIBtBBEAnjnQ1qmO5OhbLt+fOY15IkBEEEQAeCbXuo9rvnqF4ZUA8AsGmgHwTK51H36sD2EKLGAGQQSAZ2ZOL1dlvEQdiZ6sc0RikiriJb6rD2EKLGAOWzMAPFNYENOqRTWS+kPHYJnPVy2q8dWdBqbAAmYRRAB4akFtpdY+fKsq4kO3XyriJVr78K2+usPAFFjAPLZmAHhuQW2l5tdU+L7mIp8psLOrJ3i3MCBECCIArCgsiPn+zZspsIB5bM0AwDCC3OUDBAVBBACGkenyGW7DKKb+7hm/dfkAQUIQARA5qbSjfcfOalvLSe07dlaptJP1sSB2+QBBQ40IgEjJNhPkynGXSZLO/fP8wGOD54SsffjWi/5OBXNEAFfEHMcx0nf23HPP6U9/+pNaWlpUVFSkc+fO5f01ksmk4vG4EomEysrK3F8kgEjJzATJ5Yde5h5HpqWYyapA7vJ5/za2NdPX16cHH3xQdXV1pl4CAHI20kyQbC6cE5Lp8ll8y9c0u3oCIQRwibGtmcbGRknShg0bTL0EAORstJkg2TAnBDCPYlUAkXApsz6YEwKY46ti1d7eXvX29g58nkwmLa4GQJhcyqwP5oQA5uR1R+SZZ55RLBYb8ePo0aNjXkxTU5Pi8fjAR1VV1Zi/FgAMNtpMkGyYEwKYl1fXzJkzZ3T27NkRn3PttdeqqKho4PMNGzZoxYoVOXXNZLsjUlVVRdcMAFdkumYkjVq0emHXDIDc5dM1k9fWzMSJEzVx4sRLWtxIiouLVVxcbOzrA4i24WaCXDXuMjkaOkeEOSGAN4zViBw/flydnZ06fvy4UqmUWlpaJEnXXXedxo8fb+plAWBEw538K4k5IYAFxgaaPfroo9q4ceNFj7/33nuaM2dOTl+DgWYAAARPPu/fxoKIGwgiAAAEjy8mqwIAAIyGIAIAAKwhiAAAAGsIIgAAwBqCCAAAsIYgAgAArCGIAAAAawgiAADAGmMj3t2QmbWWTCYtrwQAAOQq876dy8xUXweRrq4uSVJVVZXllQAAgHx1dXUpHo+P+Bxfj3hPp9M6deqUSktLFYt9efhUMplUVVWVTpw4EfrR71G51qhcpxSda43KdUpcaxhF5TolM9fqOI66uro0ZcoUFRSMXAXi6zsiBQUFmjp16rB/XlZWFvr/QDKicq1RuU4pOtcaleuUuNYwisp1Su5f62h3QjIoVgUAANYQRAAAgDWBDCLFxcVatWqViouLbS/FuKhca1SuU4rOtUblOiWuNYyicp2S/Wv1dbEqAAAIt0DeEQEAAOFAEAEAANYQRAAAgDUEEQAAYE2ogkhvb69uueUWxWIxtbS02F6O67797W9r2rRpKikpUWVlpX7wgx/o1KlTtpfluk8++USPPfaYpk+frssvv1zV1dVatWqV+vr6bC/Ndc8995zuvPNOjRs3TldeeaXt5bhqzZo1uuaaa1RSUqJZs2bpwIEDtpfkur1792rRokWaMmWKYrGY3nzzTdtLMqKpqUl33HGHSktLNWnSJC1ZskQfffSR7WUZsXbtWs2YMWNguNfs2bP15z//2fayjFu9erVisZhWrFjh+WuHKoj85Cc/0ZQpU2wvw5i5c+fqd7/7nT766CP9/ve/17Fjx/Sd73zH9rJcd/ToUaXTaa1bt04ffvihfvWrX+nll1/WT3/6U9tLc11fX58efPBB1dXV2V6Kq15//XWtXLlSq1atUnNzs26++Wbdd999On36tO2luaq7u1s333yz1qxZY3spRu3Zs0f19fXav3+/du7cqfPnz+vee+9Vd3e37aW5burUqVq9erUOHTqkv/71r/rWt76lxYsX68MPP7S9NGMOHjyodevWacaMGXYW4ITEW2+95dx4443Ohx9+6EhyPvjgA9tLMm7btm1OLBZz+vr6bC/FuF/84hfO9OnTbS/DmPXr1zvxeNz2Mlwzc+ZMp76+fuDzVCrlTJkyxWlqarK4KrMkOVu3brW9DE+cPn3akeTs2bPH9lI8cdVVVzmvvvqq7WUY0dXV5Vx//fXOzp07nW9+85vOU0895fkaQnFH5LPPPtPjjz+u3/72txo3bpzt5Xiis7NTr732mu68805ddtlltpdjXCKRUHl5ue1lIAd9fX06dOiQ5s2bN/BYQUGB5s2bp3379llcGdySSCQkKfT/T6ZSKW3ZskXd3d2aPXu27eUYUV9fr/vvv3/I/69eC3wQcRxHjz76qJ544gndfvvttpdj3NNPP60rrrhCEyZM0PHjx7Vt2zbbSzLu448/1ksvvaQf/ehHtpeCHHz++edKpVKaPHnykMcnT56sjo4OS6uCW9LptFasWKG77rpLtbW1tpdjxOHDhzV+/HgVFxfriSee0NatW1VTU2N7Wa7bsmWLmpub1dTUZHUdvg0izzzzjGKx2IgfR48e1UsvvaSuri41NDTYXvKY5HqdGT/+8Y/1wQcf6J133lFhYaEeeeQROQEZjpvvtUrSyZMntWDBAj344IN6/PHHLa08P2O5TiAo6uvr1draqi1bttheijE33HCDWlpa9P7776uurk5Lly7VkSNHbC/LVSdOnNBTTz2l1157TSUlJVbX4tsR72fOnNHZs2dHfM61116r7373u9q+fbtisdjA46lUSoWFhXrooYe0ceNG00u9JLleZ1FR0UWPf/rpp6qqqtJf/vKXQNw2zPdaT506pTlz5ujrX/+6NmzYoIIC3+bmIcbyPd2wYYNWrFihc+fOGV6deX19fRo3bpzeeOMNLVmyZODxpUuX6ty5c6G9ixeLxbR169Yh1xw2y5cv17Zt27R3715Nnz7d9nI8M2/ePFVXV2vdunW2l+KaN998Uw888IAKCwsHHkulUorFYiooKFBvb++QPzPpK568yhhMnDhREydOHPV5//mf/6mf//znA5+fOnVK9913n15//XXNmjXL5BJdket1ZpNOpyX1ty0HQT7XevLkSc2dO1e33Xab1q9fH5gQIl3a9zQMioqKdNttt2nXrl0Db8rpdFq7du3S8uXL7S4OY+I4jp588klt3bpVu3fvjlQIkfr/+w3Kz9lc3XPPPTp8+PCQx5YtW6Ybb7xRTz/9tGchRPJxEMnVtGnThnw+fvx4SVJ1dbWmTp1qY0lGvP/++zp48KDuvvtuXXXVVTp27Jh+9rOfqbq6OhB3Q/Jx8uRJzZkzR1dffbV++ctf6syZMwN/VlFRYXFl7jt+/Lg6Ozt1/PhxpVKpgfk311133cB/y0G0cuVKLV26VLfffrtmzpypF198Ud3d3Vq2bJntpbnqiy++0McffzzweVtbm1paWlReXn7Rz6Ygq6+v1+bNm7Vt2zaVlpYO1PrE43FdfvnlllfnroaGBi1cuFDTpk1TV1eXNm/erN27d+vtt9+2vTRXlZaWXlTjk6k/9Lz2x/M+HcPa2tpC2b77t7/9zZk7d65TXl7uFBcXO9dcc43zxBNPOJ9++qntpblu/fr1jqSsH2GzdOnSrNf53nvv2V7aJXvppZecadOmOUVFRc7MmTOd/fv3216S6957772s37+lS5faXpqrhvv/cf369baX5rof/vCHztVXX+0UFRU5EydOdO655x7nnXfesb0sT9hq3/VtjQgAAAi/4Gy8AwCA0CGIAAAAawgiAADAGoIIAACwhiACAACsIYgAAABrCCIAAMAagggAALCGIAIAAKwhiAAAAGsIIgAAwBqCCAAAsOb/AzB4pD1y2oErAAAAAElFTkSuQmCC\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "def draw_custom_points(point_list : Sequence[Point]): #2D\n", " x_values = [point.coordinates[0] for point in point_list]\n", " y_values = [point.coordinates[1] for point in point_list]\n", " plt.scatter(x_values, y_values)\n", " plt.show()\n", "\n", "generated_points = generate_data([Point([-3,3]), Point([3,3]), Point([0,0])],data_points=50, x_y_dist_from_center=1)\n", "\n", "draw_custom_points(generated_points)" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 52, "outputs": [ { "data": { "text/plain": "
", "image/png": "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\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "generated_points_sphere = generate_data_sphere([Point([-3,3]), Point([3,3]), Point([0,0])],data_points=50, dist_from_center=1)\n", "\n", "draw_custom_points(generated_points_sphere)" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 53, "outputs": [ { "data": { "text/plain": "
", "image/png": "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t9+O9evXp33e3Llzcf/997f/u2fPnn42M2PIGuoNU0KZE35+3iJqndjdTdvL9JOdi72TabCgj+FMPXbNuClKKfMzTH7vq0YVpTxv+vXKQUNzq+Xrhbnom258C1727t2LiooKvPXWW/jyl78MAHjssccwffp0PPTQQxg4cKDpc3v27ImioiK/mqY0v050uzcq0XScGxchiM/bS56RkzwTq4JY6di52NstuPVp85mk3qCO4Uw9dtNxOkom8zNM996vLZnS6bwZe35ffPXn2zK66JtufJs2qqqqQp8+fdoDFwAoKytDVlYW3njjjbTPfe6559C/f3+MHj0a5eXl+Oyzz0wf29LSglgs1umPruwM4bsha6hX17lxr4L8vN3mGTnpQbsZbneSd2NnGmzZjJFYvjm4YzhTj10rTkfJZH2GVu+9ZU+003mT86UsbfY1ojN8C16i0SjOPvvsTj/70pe+hIKCAkSjUdPnfec738Gzzz6Lbdu2oby8HP/5n/+JG2+80fTxK1asQH5+fvufQYMGCfsdguTniS4jIVLnuXGvVE9AbYsnsKP2E1uPNXrQZsvhU3Fzsbdabt+3V25gn2kmH7tW7CaLjz2/r7TP0O33x5IPenE8bbR06VKsXLky7WP27t3rukG33357+98vvPBCFBcX48orr0RdXR2GDh3a5fHl5eVYvHhx+79jsZh2AYzfS0Vl1AURuWGjblTe8TXVUHo6HXvaqaapUhWWc7vHULppsE019bZew+lnmmqaNpOPXSt29wLb+cGn0j5DL98fSz7ow3Hwctddd+GWW25J+5ghQ4agqKgIH3/8caef//3vf8fx48cd5bOMHz8eAFBbW5syeMnNzUVubq7t11OR3xdLGTuQqnwD95uqO76a5eGkYjbHn2pzwqmjxV3szTY/9OMzNcuJmD7a3vUpjMeuHXaSxf0KNkW+ptnjuAGnHhwHLwMGDMCAAQMsH1daWorGxkbs3LkTY8eOBQBUVlYiHo+3ByR21NTUAACKi8M1ZNexx/fe0RO2nuP2RJexA6mqN/AgqLjjq5NCc06nfYK42Iv+TNMlVP/HjoO2XiOMx65dViMUMs//TL72ZBLfcl5GjhyJadOmYe7cuXjzzTexY8cOLFy4ELNmzWpfaVRfX48RI0bgzTffBADU1dVh+fLl2LlzJw4ePIiXXnoJN910E77yla/goosu8qupgUtOzF21rc7W89yebCLrgtglupCaTmR83lacFJpTcY5f5GdqJyciK2KenBzmY9eJdMniMs//TL72ZBJfi9Q999xzGDFiBK688kpMnz4dkyZNwi9/+cv2/z99+jT279/fvpooJycHL7/8Mr72ta9hxIgRuOuuu3Ddddfh97//vZ/N9MxJ0SyzxNx0RJxsQSejqXgDD5JqyX92R+0WTh6G15ZMUSpwMYj6TO0EcvHEF/lmHWXCsSuCH+e/3euszGsPCygGh7tKe+SkjoHVluypiN6ZOeiCUUHVeVC1mJgq7ZK1E7VXqT4/AJ4+00019Vi0ocbycbdOHIw/7Y6yzosHos5/N68TdI0Z1gXyzsn9m8GLB2bz5mYBh90bSEdhOPj9voGH8aIh+jMzAmernJHXlkxRIugDUn+vBb2y8dOZozH9IvMil1acBHLG6iPZwafOvB7LTq+zIt87iDbSFxi8BBC8WI2ipLoZ2O3xLZw8DMMLzzI92VTpzasgjBcNv4Ix47MCUi9xVemzsloZ9f2vlKB8+qguP7dzbugYyGUqN9fZoOnQRl04uX/7urdRmLlZ3mw34XbisP6mQ/d2bmyZEtz4XR/HSTtEfd5+bisgYj+kINhZGfXkqwdw8bl9Mf2iL9psN+izW6skjOeMbnSouaNDG8OIwYtLbmoJeF3uaefGBiB0UyhmVLhoiBwlCSIY06EIl92VUcs27cbU0Wc+C6dBny6BXKbToV6UDm0MIwYvLrmpJeClx2fnxrb0d++g6bPTgW++KIvsi4boUZKggjHVi3DZ/b4amlvx5oHjGFdS4Cro0yGQy3Q61GzRoY1h5OtS6TBzW0vA7XJPOze2xhSBi/F/gPu9REQt/xO9jFDmRcOP/W9kB2OqcPJ9vbwn6mkvKbcbW1IwdKjZokMbw4gjLy55GUVx0+PzesNy22uXudTRisxKtn6MkrAHd8a4kgIU9MrG8ebTlo+1Ww0XCH/QF0Y65Cfp0MYw4siLB16KZjnt8Ym6YTm5gIva6dqvHbNlFqPyY5SEPbgzumVF8NOZo20/fqPNfXTCHvTpLN2orGoFH1PRoY2iqFKIjyMvHgU1b241ymCX3Qu4qORRv5NQZSVe+jFKwh7cF6ZfNBDf/6gRT756wPKxx5tPo6BXDj5tblVmLymyz86orA75STq00SuVamqxzotG0tXpSADo0zM7ZcKu8RgntQZEVWQNqrJr0MvD/awVIvsCodJS+/t+/y7W2pgaunXi4PbHqV7Dhr6gQwE6OiOImlqs8xJSVqMMAIT12kVNiwSVhBr0Cho/R0lk9uBkB07JvjaqyFbwctWoovZVR05G4HgDlMfLqKxqx2nYqVJTqyMGL5qxurGJmkIRNS0S5iRUP6esZCxn9rNAnltOkrK7ZUUcBX28AcrlNuldxeM07FSoqZWMwYuG0t3YRPXaRa3kkbkiKAhhmedWsWcFOB/hshv08QYon5tRWRWP00wYvVOxjAODlxAS0WsXNS3i9XX82KBQ9IVG9aJvdqjYszKIHuFS8QaYidyMyqp2nGbK6J2KI+gMXsiUqJuG29cRfWHw40ITll6Xij2rjkSOcKl2A8xUbkZlVTpOM2n0TsURdAYvlJaom4bT1xF9YfDjQhOmXpeKPatkXka4OgaZ7x09Yes5LGrnLzejsqocp5k2eqdiGQcGL2RJ1LSI3dcRfWHw40ITtl6Xij0rUVIFmXbomESuG6ejsqocp5k4eqfaZqYMXkgpbfEE1u04YOvCsG7HAdwyscQy4BB9oQljr0vFnpUIZkFmOjoHajpyMiqrynGq0vRVkFRaoMDtAUgZFbuPYNLKSizfvNfW45dv3otJKysttxcQfaHxshGgysJW4jxdkGlG50BNZ062S1HhOFVl+koGVTYz5cgLKcFNDxmwN00j+kIT5l6XSj0rr6yCzFRkDYGTM7KPU1WmrzIZgxeSzk0P2WBnmkb0hSbsva4wLP0G7AePCycPw/DCs7QO1DKRzONUlemrTMZpI5LOTQ+5I6tpGtG7T3P3Zz3YDR4nDusvfQic9KPC9FUm48gLSSdqeiXd64jMlGevSw8c2ie/yZ6+ymQMXkg6UdMrVq8j8kKj2rLBMGmLJ1D9fgOq6hoAJFA6pD8muBgVYZBJQQjLNKtuIolEwk2qgbKcbKlNamiLJzBpZaVpD9mK0YN+bcmUwG9EYamwq4qK3Uew9HfvoPGz051+3qdnNh689kJlKisTkXhO7t8MXkJC95uosdoIgOMAJgJIn2PW/fNXQcXuI5j3j2PAzGqX3zO/HyL1MXjJsOAlLD1LN5VQi/Jyce/V/yT19wzL5y9TWzyBiQ9WIhpL/90X5eVix9IrGXgQhRCDlwwKXszqoxiXdtkjEk517CEfPNaMh19+r0u+guHOsv+FhVOGSb2Rhe3zl6WqrgGz11TbeuzzcycwxyBDqT6Cpmr7VG1XMif3bybsaiysZeo73pguKOotZFTDj5M3jJ+/LE5WnOlY/I+8U32EU9X2qdourxi8aCwTNgcTsULIr5M3Ez7/oDhZcaZr8T9yT/WNUFVsX1s8gVWV7+Hhl9/r8n+qfG5esEidxsJcpr4jL3tpGBeV5CDDOHmt9kVKJ1M+/yCMKylAUZ51UFKUl8u6LBnGaoQTODPC2RaXkwGhYvsqdh/BxAcrUwYuMtslEoMXjdntgb539ASq6hq0PUjd8vuiEvZtAoLULSuCe68eZfm4e6/+J07BZRjVN0JVrX1Gh80q+V325+YVgxeNWZWpN6zaVofZa6pt7cAcJn5fVLhNgFjTRhdj9Y2Xok/P7C7/16dntutl0qQ31Uc4VWqfm33idB0ZZs6LxtJVEE0liHlOlbLa/b6osIKreEaOk4gKuxQOQYxwerluqTQC62afOF1Hhhm8aM6sTH0qfq+AUS2rPYiLCrcJEK9bVgQTh/XHxGH9ZTeFFOD3HlVer1sq7aHlpCOm+95eDF40YtY76LgiZ0ftMazaVmv6Gn6tgFEx2z6oiwo3Z9OLSqODZM3PEU4R1y2VRmCddsSctEu184bBiyasegfGihwZ86+q1jsJ8qLCzdn0oNroINnjxwinyOuWKiOwVh229nY5rEyu4nnDCrsacFLF1W6lUpFVSmW8pxNeTjzVehvkHqsh60/k+ejHdUuF64XVPnFOK5MHed6wwm6IOO0dyJh/VSnbPhW30zoq9jbIHVVHB8kZkSOcfly3VBiBNRsFSr522Qm0VD5vGLwozmkVVxnzrypl25txelFRMYeH3GM1ZEqmw3XLLasOm92OmcrnDeu8KM5N78CIvIvyO590Rfndfbnphq3eiYoVM8mdtngCVXUN+JPN+ka61rwg58J23UpmVpncSdVxlUfVOfKiOLe9gyBXwKiUbS+Cyr0NMyrMtasmVe/Sio69bNWpemyG7bplh9NpIJVHpxi8KM5LDouo+Vc7Fx9Vsu1FULm3kUqm5uakOy7Npv3SyYoAY8/v609jM5Tqx2aYrlt2OO2YqVTDJhmDF8XJ7h04ufiEpd6Jyr2NZJmam5PuuLxqVJHjEukAEE8AOz/4VJnRNN3pcmyG5bplh9OOmez7TzrMedFA0DksBjc7MnvZAVoVusyFZ2pujtVxuaqy1nGJdIMqo2m60+3YDMN1yw43HTNZ9x8rvo28PPDAA9i8eTNqamqQk5ODxsZGy+ckEgncc889WLNmDRobGzFx4kQ88cQTGD58uF/N1EbQvQOVl8j5TeXeRkc65uZ4Zee4XPv6Adevr8JoWhhk4rGpA7fTQCqOTvk28tLa2orrr78e8+fPt/2cn/3sZ/j3f/93rF69Gm+88QZ69eqFqVOn4tQp9oaAYHsHqm3zHjRVexsd6ZabI4Kd47Lxs9OOX1eV0bSwyMRjUwdGxwxAl5Flq46ZaqNTvo283HfffQCAdevW2Xp8IpHAI488gp/85CeYOXMmAOCZZ55BYWEhXnzxRcyaNcuvplIKvPio2dvoSKfcHFHsHm99emSj6fPTtvJeVBpNC4tMPDZ1EZYkZWUSdg8cOIBoNIqysrL2n+Xn52P8+PGoqqoyDV5aWlrQ0tLS/u9YLOZ7WzMBLz5nqFAx04zKKwH8Yvd4mzNxMB55+b0u036p6HbR1kEmHps6Ub1jZocywUs0GgUAFBYWdvp5YWFh+/+lsmLFivZRHhLH68VH1doOYaJLbo5Ido/LhVOG44Ki3ilXJC2bMRJ9e+Xy2PRRJh6bulG5Y2aHo+Bl6dKlWLlyZdrH7N27FyNGjPDUKCfKy8uxePHi9n/HYjEMGjQosPcPKy8XH1m1HTIxYArLELBdTo7LMPQudZZpxyYFy9Gu0p988gkaGhrSPmbIkCHIyclp//e6detwxx13WK42ev/99zF06FC8/fbbGDNmTPvPv/rVr2LMmDF49NFHbbUxjLtKy+Q0EJG1c6/qxbD8lmmBW6Z/3zrJtGOT3PNtV+kBAwZgwIABnhpnpqSkBEVFRdi6dWt78BKLxfDGG284WrFEYjnpvcpaXq1LMSw/6T4E7BRHVfSRaccmBcO3nJdDhw7h+PHjOHToENra2lBTUwMAGDZsGM466ywAwIgRI7BixQp861vfQiQSwR133IGf/vSnGD58OEpKSrBs2TIMHDgQ11xzjV/NJBvsXnxk1HbI5Ho0mY43RaLM5Vvwcvfdd+Ppp59u//cll1wCANi2bRuuuOIKAMD+/fvR1NTU/pgf/ehHaG5uxu23347GxkZMmjQJFRUV6N493CtawkLG8moWwyIiyjy+BS/r1q2zrPGSnG4TiURw//334/777/erWeQjGcurWY+GiCjzcG8jEkbGnkCsR0NElHkYvJAwXkpPu6XLJopERCQOgxcSKug9gWQETEREJJejOi86ULXOS6bVOgj692XdDyIivTm5fzN4CQBvrMHItACRiChMGLwoFLzIqjirMgYZRESUzLcKu+QMC6h1xVEoIiLyigm7PnJSQC0TGKNQyZ+JUca/YveRwNrSFk+gqq4Bm2rqUVXXgLZ4qAYgiYhCjSMvPhJZQE3XqRaj3dGmz7F8814lRqE4+kNEpDcGLz5yWkDNLEDR9Wabqt1mgirjz00ciYj0x+DFR0YBtWjTqZQjDhGcqX8yrqTANEC5+uJi/PLVA9rdbM2CBCt+lvFnDhIRUTgw58VHdguobdkTNc0FeTJF4AKg/Wf3/X6Pcvka6YIEK36W8WcOEhFRODB48ZlVxdmrRhWlHQ1IR9WbrVWQkEoQZfy5iSMRUThw2igA00YX46pRRSnzWarqGhzf6JMFcbN1kjDstD1BlfHnJo5EROHA4CUg3bIiKRNRRQQeft9snSYMO21PUdJr+bWyykkOEhERqYvBi2ReAo8gbrZuVudYBQkAUNArG8u+8U8oyuscnPi5ssrIQZr/7C5E0Hlajps4EhHpgzkvkhk3eje3ywSAWZedJ7pJ7axW5wCpE4atEpUjAP7fb12Ib11yDkqH9usUuPhdxC7oXa+JiEg87m2kAOOmDaQeDbj9KyV46a9HTHNj/Kr5UlXXgNlrqi0f9/zcCSmnxJyMorTFE5i0stL0dzRGmV5bMkXIyIiuRf+IiMKKextpxhgNSL7Rd8wF+dG0kVhV+R4efvm9Ls/3q+aL19U56RKVkzlZxiyiiJ1ZDhIREamPwYsi0t3o2+IJVL/fgLU7DqZ8rl8F1kSszrEbJHAZMxER2cXgRSGpbvR2S+z7UV4/yNU5XMZMRER2MWFXYWYJrOkkj0x42T3ZboVgkcuY071SQa9sjD2/r+f3IiIivTF4UZTbEvsdRyYqdh/BpJWVmL2mGos21GD2mmpMWlnpaNVOUKtz0gVKhuPNp/HVn28TsuqIiIj0xdVGirK70sfQcTUOANPkXiMwcBp4BLU6x2qazG37iYhIbVxtFAJOElOTN3m896U9iMZSP98sudcqOAlqdc600cWYMqIQE1ZsxfHmVtvtJyKizMHgRVFOElONJdUAUlbDTWYk91bXNWDi8P6+VrV1Y+cHn6YMXAx+JCcTEZE+GLwoyk6J/T49s/H47Esx4R838EkrKx3lyCxYvws3XHYufvnqAUfl//1md9RpR+0xFpcjIspATNhVlJ0S+w9eeyEmDu+PblkRyyJvqTR+fhpPpghcgPTl//1md9Rp1bZaxwnIRESkPwYvgnlZmpzMaqXPVaOK2t9rR+0xr03vouP0TJCc7Pckct8jIiLSA6eNBPIjd8Ss8u6WPdG0ewGJFHRV23S7PydjAi8RUebhyIsgfu6IbKz0mTnmzC7MW/ZEHRev80JGVVuzUadUZI0QERGRHAxeBEhXUE507ojb4nVuRHBm5EhE+X83po0uxmtLpmDh5KG2Hs99j4iIMgODFwGc7Ijs93ul4mYmRXT5f7e6ZUUwcdgAW4/lvkdERJmBOS8CBLkjst3XWDh5KIYX9sbZvbvj0+YWLFj/NoDO+SNGSHL7V0rw0l+PdAqKiiTWeUkW5AaRRESkPgYvAgS5I7Ld15g4bECnAm5PZEW6JBN3DFB+NG1ke1Jw/165QAQ4drIFVXUN0muppEvgVWWEiIiIgsPgRYAgRwbcvpfZqiXjhm8kBVfsPoJ/+a+/KlNt12Ak8KYLwIiIKDNwY0ZBjNVGQOqRAZGVav16L+N1kw8IlTZDDGqDSCIiCpaT+zcTdgWxKign8qbvx3sFuWLKi+Rl4wxciIgyD6eNBLKamlH5vZysmOJmiEREJBODF8GMkYFkfkx3mL2XG0GumCIiIvKCwUsAUm0b0KdHNuZMLMHCKcOUmPoIcsUUERGRF8x58ZnZtgGNn5/Gwy//D8b+dIsSmwpabYYou9ouERGRgcGLj+yU8m/87DTmKbArslFLBUCXAIa1VIiISCUMXnzkpJS/Cit5glwxRURE5BZzXmxyk3DrJLlVlZU8Qa6YIiIicsO34OWBBx7A5s2bUVNTg5ycHDQ2Nlo+55ZbbsHTTz/d6WdTp05FRUWFT620J1XCrZ2qs06TW6MxNVbyiFzFREREJJpv00atra24/vrrMX/+fEfPmzZtGo4cOdL+5/nnn/ephfaYJdxGm05hvkWuipEEa9fyP7wrPfeFiIhIdb4FL/fddx/uvPNOXHjhhY6el5ubi6KiovY/ffv29amF1rxWnTWSYO1OuBxvPm0ZEBEREWU65RJ2t2/fjrPPPhsXXHAB5s+fj4aGhrSPb2lpQSwW6/RHFCdVZ80YSbB9embbfl8VkneJiIhUpVTwMm3aNDzzzDPYunUrVq5ciVdeeQVf//rX0dbWZvqcFStWID8/v/3PoEGDhLVHVNXZaaOLsfMnV+HOsuHoldst7WPtBERERESZzFHwsnTpUkQikbR/9u3b57oxs2bNwtVXX40LL7wQ11xzDf7whz/grbfewvbt202fU15ejqampvY/H374oev3Tyay6my3rAgWlf0v/HTmaFuvyTL8REREqTlabXTXXXfhlltuSfuYIUOGeGlPl9fq378/amtrceWVV6Z8TG5uLnJzc4W9Z0dGwm206VTKvJcIztRAcVJ1tii/h63HsQw/ERFRao6ClwEDBmDAgAF+taWLjz76CA0NDSgullMczUi4nf/sLkSATgGM26qzfgREREREmcS3nJdDhw6hpqYGhw4dQltbG2pqalBTU4OTJ0+2P2bEiBHYuHEjAODkyZP44Q9/iOrqahw8eBBbt27FzJkzMWzYMEydOtWvZloSXXXWSRn+tngCVXUN2FRTj6q6BibxEhERwccidXfffXengnOXXHIJAGDbtm244oorAAD79+9HU1MTAKBbt27429/+hqeffhqNjY0YOHAgvva1r2H58uW+TQvZJbrqrBEQJRe+K+pQ+M5tYTwiIqKwiyQSiVB152OxGPLz89HU1IS8vDzZzUnLbMsBozBe8hdjhErcZ4iIiMLGyf2bextJlKoMv1VhvAjO1IG5alQR9xsiIqKMpFSdFxJTGI+IiCjMGLwoRlRhPCIiorBi8KIYkYXxiIiIwog5L4rxuw6MWZIwERGRLhi8KMaPwngGLr8mIqIw4LSRgkQXxgPQvvw6ORk42nQK85/dhYrdRzy1mYiIKCgceVGUyMJ4XH5NRERhwuBFYanqwLjhZPm1iPcjIiLyE6eNMgCXXxMRUZgweMkAXH5NRERhwuAlAxjLr82yWSI4s+rI7fJrIiKiIDF4yQDG8msAXQIYr8uviYiIgsbgJUP4sfyaiIhIBq42yiAil18TERHJwuAlw4hafq0CbnVARJSZGLyQlrjVARFR5mLOC6XUFk+gqq4Bm2rqUVXXgLZ4qvq8cnCrAyKizMaRF+pC5VENbnVAREQceRFE1EiF7BEP1Uc1nGx1QERE4cSRFwFEjVTIHvHQYVSDWx0QERFHXjwSNVKhwoiHDqMaTrY6kD2KRURE/uDIiweiRipUGfHQYVTD2Oog2nQq5ecVwZnCe582t2LSykol83aIiMgbjrx4IGqkQpURDx02cLSz1cHVFxdjwXp183aIiMgbBi8eiBqpUGHEoy2eQDyeQJ8e2aaPUWUDx3RbHTz+nUvw0l+PmI5iAWdGsTiFRESkL04beSBqpEL2iEeqROFkqm3gaLbVgZNRrLBUGiYiyjQMXjywm38xrqQgbSl7J68jmpEobDUOUaRgvkiqrQ5UGMUiIiJ/MXjxwMi/mP/sLkSATgFAx5GKLXuiaZdA230d0SMe6RKFDX16ZOPx716KCUP6KTHiYkX2KBYREfmPOS8epcu/eOLGSwHA1hJoq9fxY8TDaooFABo/P42sSESLwAX4YhTLrLWq5O0QEZF7HHkRwCz/AgAmray0vQTa7HX8ChzCOMUiaxSLiIiCw+BFkFT5F1V1DY6TR1O9jl/COsVijGIlT9Ul5+2ky0MiIiJ1MXjxkeojGzIThUVLDkSuGlWUdhRL9lYMRETkHoMXH9kdsTh2ogVt8UTgvX4RUywqjF44DUTMVlgZeUh+5RgREZEYkUQiEapqXbFYDPn5+WhqakJeXp7UtrTFE5i0stJ0ZKMjmb1+t6MQKoxemAUiRviUHIgY34nZdJ4x2vTakimcQiIiCpCT+zeDF58ZN1cAaQMYs5ttUJyOoDgNGvzgJhCpqmvA7DXVlq/9/NwJLGJHRBQgJ/dvLpX2mdkS6GSyS9cbicIzx5yD0qHpa7pYbSQJBPN7uNkTSvU8JCIissbgJQDTRhfjtSVTsGzGyLSPC2oDRq9U2UjSTSDiJA9pU009quoauA8SEZFimLAbkG5ZEfTvnWvrsar3+lUZvXCz1NtqhRUAZEWA5Zv3tv+bq5CIiNTCkZcAhaWuipffoy2eQFVdg5BRDTfVdI0VVsb/p5LcpORqyEREJBeDlwCNPb8vrBawZEXOPE5lbkvwV+w+gkkrKzF7TTUWbajB7DXVmLSy0nVQkC4QSbfU2ywPyey7kZ2PREREnTF4CdDODz7t0qtPFk+ceZzK3AQNxuokqz2enHK7J5SRh/T83Al4dNYYLJsxMu13o0s+EhFRJmDOS4BUyRURwW4JfsB6dVLyHk9u2uJmT6iOWzFsqqm39V46fDdERGHH4CVAYcl5MdgNGpysTnJbW8XrnlBh+26IiMKMwUuAwrSXkMFO0CBixMnvbQjC+N0QEYUVg5cAidhLSEdeRzWC2IYgU78bIiId+Zawe/DgQdx2220oKSlBjx49MHToUNxzzz1obW1N+7xTp05hwYIF6NevH8466yxcd911OHr0qF/NDJzbBFOduV2dBPiX6JtKJn43REQ68m3kZd++fYjH43jyyScxbNgw7N69G3PnzkVzczMeeugh0+fdeeed2Lx5M37zm98gPz8fCxcuxLXXXosdO3b41dTAuU0w1ZXbUQ2/E31TybTvhohIR4FuzPjzn/8cTzzxBN5///2U/9/U1IQBAwZg/fr1+Pa3vw3gTBA0cuRIVFVVYcKECZbvodrGjPQFp9M/3ESRiChzOLl/B5rz0tTUhIIC84THnTt34vTp0ygrK2v/2YgRI3DeeeeZBi8tLS1oaWlp/3csFhPbaBLG6ahGmJaWExGROIEFL7W1tXjsscfSThlFo1Hk5OSgT58+nX5eWFiIaDSa8jkrVqzAfffdJ7Kp5CMnS5q5fJmIiFJxnLC7dOlSRCKRtH/27dvX6Tn19fWYNm0arr/+esydO1dY4wGgvLwcTU1N7X8+/PBDoa9P8nhJ9CUiovByPPJy11134ZZbbkn7mCFDhrT//fDhw5g8eTIuv/xy/PKXv0z7vKKiIrS2tqKxsbHT6MvRo0dRVFSU8jm5ubnIzbW3WzPphcuXiYgoFcfBy4ABAzBgwABbj62vr8fkyZMxduxYrF27FllZ6Qd6xo4di+zsbGzduhXXXXcdAGD//v04dOgQSktLnTaVQsDJNgRERJQZfFttVF9fjyuuuALnn38+nn76aXTr1q39/4xRlPr6elx55ZV45plnMG7cOADA/Pnz8cc//hHr1q1DXl4efvCDHwAAXn/9dVvvy9VG4eR3hV0iIpJLidVGW7ZsQW1tLWpra3Huued2+j8jXjp9+jT279+Pzz77rP3/Hn74YWRlZeG6665DS0sLpk6dil/84hd+NZM04XXvIiIiCo9A67wEgSMvRERE+nFy//ZtewAiIiIiPzB4ISIiIq0weCEiIiKtMHghIiIirTB4ISIiIq0weCEiIiKtMHghIiIirTB4ISIiIq34VmFXFqPmXiwWk9wSIiIissu4b9upnRu64OXEiRMAgEGDBkluCRERETl14sQJ5Ofnp31M6LYHiMfjOHz4MHr37o1IROzGfbFYDIMGDcKHH36YkVsPZPrvD/AzyPTfH+BnkOm/P8DPAPDnM0gkEjhx4gQGDhyIrKz0WS2hG3nJysrqshGkaHl5eRl7wAL8/QF+Bpn++wP8DDL99wf4GQDiPwOrERcDE3aJiIhIKwxeiIiISCsMXhzIzc3FPffcg9zcXNlNkSLTf3+An0Gm//4AP4NM//0BfgaA/M8gdAm7REREFG4ceSEiIiKtMHghIiIirTB4ISIiIq0weCEiIiKtMHhx6eqrr8Z5552H7t27o7i4GP/8z/+Mw4cPy25WIA4ePIjbbrsNJSUl6NGjB4YOHYp77rkHra2tspsWqAceeACXX345evbsiT59+shuTiAef/xxDB48GN27d8f48ePx5ptvym5SYF599VV885vfxMCBAxGJRPDiiy/KblKgVqxYgcsuuwy9e/fG2WefjWuuuQb79++X3axAPfHEE7jooovaC7OVlpbiT3/6k+xmSfPggw8iEongjjvuCPy9Gby4NHnyZPz617/G/v378dvf/hZ1dXX49re/LbtZgdi3bx/i8TiefPJJvPvuu3j44YexevVq/PjHP5bdtEC1trbi+uuvx/z582U3JRAvvPACFi9ejHvuuQe7du3CxRdfjKlTp+Ljjz+W3bRANDc34+KLL8bjjz8uuylSvPLKK1iwYAGqq6uxZcsWnD59Gl/72tfQ3Nwsu2mBOffcc/Hggw9i586d+Mtf/oIpU6Zg5syZePfdd2U3LXBvvfUWnnzySVx00UVyGpAgITZt2pSIRCKJ1tZW2U2R4mc/+1mipKREdjOkWLt2bSI/P192M3w3bty4xIIFC9r/3dbWlhg4cGBixYoVElslB4DExo0bZTdDqo8//jgBIPHKK6/IbopUffv2TfzqV7+S3YxAnThxIjF8+PDEli1bEl/96lcTixYtCrwNHHkR4Pjx43juuedw+eWXIzs7W3ZzpGhqakJBQYHsZpBPWltbsXPnTpSVlbX/LCsrC2VlZaiqqpLYMpKlqakJADL2vG9ra8OGDRvQ3NyM0tJS2c0J1IIFCzBjxoxO14OgMXjxYMmSJejVqxf69euHQ4cOYdOmTbKbJEVtbS0ee+wxfP/735fdFPLJsWPH0NbWhsLCwk4/LywsRDQaldQqkiUej+OOO+7AxIkTMXr0aNnNCdQ777yDs846C7m5uZg3bx42btyIUaNGyW5WYDZs2IBdu3ZhxYoVUtvB4KWDpUuXIhKJpP2zb9++9sf/8Ic/xNtvv40///nP6NatG2666SYkNC5Y7PT3B4D6+npMmzYN119/PebOnSup5eK4+QyIMs2CBQuwe/dubNiwQXZTAnfBBRegpqYGb7zxBubPn4+bb74Ze/bskd2sQHz44YdYtGgRnnvuOXTv3l1qW7g9QAeffPIJGhoa0j5myJAhyMnJ6fLzjz76CIMGDcLrr7+u7RCi09//8OHDuOKKKzBhwgSsW7cOWVn6x8JujoF169bhjjvuQGNjo8+tk6e1tRU9e/bEf/3Xf+Gaa65p//nNN9+MxsbGjBt1jEQi2LhxY6fPIlMsXLgQmzZtwquvvoqSkhLZzZGurKwMQ4cOxZNPPim7Kb578cUX8a1vfQvdunVr/1lbWxsikQiysrLQ0tLS6f/89KVA3kUTAwYMwIABA1w9Nx6PAwBaWlpENilQTn7/+vp6TJ48GWPHjsXatWtDEbgA3o6BMMvJycHYsWOxdevW9ht2PB7H1q1bsXDhQrmNo0AkEgn84Ac/wMaNG7F9+3YGLv8Qj8e1vu47ceWVV+Kdd97p9LM5c+ZgxIgRWLJkSWCBC8DgxZU33ngDb731FiZNmoS+ffuirq4Oy5Ytw9ChQ7UddXGivr4eV1xxBc4//3w89NBD+OSTT9r/r6ioSGLLgnXo0CEcP34chw4dQltbG2pqagAAw4YNw1lnnSW3cT5YvHgxbr75Znz5y1/GuHHj8Mgjj6C5uRlz5syR3bRAnDx5ErW1te3/PnDgAGpqalBQUIDzzjtPYsuCsWDBAqxfvx6bNm1C796923Od8vPz0aNHD8mtC0Z5eTm+/vWv47zzzsOJEyewfv16bN++Hf/93/8tu2mB6N27d5ccJyPvM/Dcp8DXN4XA3/72t8TkyZMTBQUFidzc3MTgwYMT8+bNS3z00UeymxaItWvXJgCk/JNJbr755pSfwbZt22Q3zTePPfZY4rzzzkvk5OQkxo0bl6iurpbdpMBs27Yt5fd98803y25aIMzO+bVr18puWmBuvfXWxPnnn5/IyclJDBgwIHHllVcm/vznP8tullSylkoz54WIiIi0Eo5EBSIiIsoYDF6IiIhIKwxeiIiISCsMXoiIiEgrDF6IiIhIKwxeiIiISCsMXoiIiEgrDF6IiIhIKwxeiIiISCsMXoiIiEgrDF6IiIhIKwxeiIiISCv/P9kpHTgtkcAjAAAAAElFTkSuQmCC\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "generated_points = generate_data([Point([-2,-1]), Point([0,0]), Point([3,0])],data_points=250, x_y_dist_from_center=1)\n", "\n", "draw_custom_points(generated_points)" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 54, "outputs": [ { "data": { "text/plain": "
", "image/png": "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\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "generated_points = generate_data_sphere([Point([-2,-1]), Point([0,0]), Point([3,0])],data_points=250, dist_from_center=1)\n", "\n", "draw_custom_points(generated_points)" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "### Funkcja do wizualizacji grup" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 55, "outputs": [], "source": [ "def draw_clustering(assignment): # Pojedynczy obraz\n", " for medoid in assignment.keys():\n", " point_list = assignment[medoid]\n", " x_values = [point.coordinates[0] for point in point_list]\n", " y_values = [point.coordinates[1] for point in point_list]\n", " plt.scatter(x_values, y_values, alpha=0.5)\n", " x_values = [point.coordinates[0] for point in assignment.keys()]\n", " y_values = [point.coordinates[1] for point in assignment.keys()]\n", " plt.scatter(x_values, y_values,color='r', marker='*')\n", " plt.show()" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "### Implementacja PAM" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 56, "outputs": [], "source": [ "def medoid_similarity(medoid : Point, other_points : Sequence[Point]) -> float: # Suma dystansów punktów od danej medoidy\n", " distances = 0\n", " for point in other_points:\n", " distances+= medoid.distance_to(point)\n", " return distances\n", "\n", "def assign_points_to_medoids(medoids : Sequence [Point], points : Sequence [Point]) -> dict():\n", " assignments = dict()\n", " for i in medoids:\n", " assignments[i] = []\n", " for point in points:\n", " minimum_distance = point.distance_to(medoids[0])\n", " selected_medoid = medoids[0]\n", " for med in medoids[1:]:\n", " new_distance = point.distance_to(med)\n", " if new_distance", "image/png": "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aei6TiKRWPS1QliLdZG1qq2tjba2tnU91zAMABKJRDEvqWIKeS+Ghoa46aabuOqqq3jwwQfrJnCBjf03sRnY7XauuuoqDh48OHeTNgyDgwcPcs8991T24kTFmKbJH/zBH/Ctb32LJ554QgKXJQzDqJt7Rb5uvvlmXnrppUWfu/POO9mzZw9/8id/su7ABSR4ydszzzzDs88+y2te8xqampoYGBjgox/9KP39/XWRdSnE0NAQN954IxdddBF//dd/zcTExNzXOjs7K3hl5Xf27Fmmp6c5e/YsmUyGF154AYAdO3bg9Xore3EldO+993LHHXdw9dVXc+211/LZz36WSCTCnXfeWelLK7twOMypU6fmPj5z5gwvvPACzc3NbN26tYJXVl533303Dz/8MN/5znfw+Xxz9U9+vx+Xy1Xhqyuv++67j9e//vVs3bqVUCjEww8/zBNPPMGjjz5a6UsrK5/Pt6zmKVszuuFaqA33K20Shw4dMm+66SazubnZdDgc5rZt28z3vve95vnz5yt9aWX34IMPmkDOX5vNHXfckfN9ePzxxyt9aSX3uc99zty6datpt9vNa6+91nz66acrfUkV8fjjj+f8b+COO+6o9KWV1Up/Jzz44IOVvrSy+73f+z3zoosuMu12u9nW1mbefPPN5ve///1KX1ZVKFar9KaveRFCCCFEbamfQgUhhBBCbAoSvAghhBCipkjwIoQQQoiaIsGLEEIIIWqKBC9CCCGEqCkSvAghhBCipkjwIoQQQoiaIsGLEEIIIWqKBC9CCCGEqCkSvAghhBCipkjwIoQQQoiaIsGLEEIIIWrK/x/TYlwC6Iq64QAAAABJRU5ErkJggg==\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "draw_clustering(assigned)" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 59, "outputs": [ { "data": { "text/plain": "
", "image/png": "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\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "generated_points = generate_data_sphere([Point([-1,-1.5]), Point([-0.5,-0.5]), Point([0.5,0])],data_points=250, dist_from_center=1.5)\n", "\n", "draw_custom_points(generated_points)" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 60, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Iteracja #1\n", "Suma dystansów: 243.98967622114225\n", "Iteracja #2\n", "Suma dystansów: 222.0364217881434\n", "Iteracja #3\n", "Suma dystansów: 216.99784343452706\n", "Iteracja #4\n", "Suma dystansów: 208.83179723203483\n", "Iteracja #5\n", "Suma dystansów: 189.60895077892857\n", "Iteracja #6\n", "Suma dystansów: 188.71433884981388\n", "Iteracja #7\n", "Suma dystansów: 180.490761866527\n", "Iteracja #8\n", "Suma dystansów: 180.19838386092528\n", "Iteracja #9\n", "Suma dystansów: 179.8660553672085\n", "Iteracja #10\n", "Suma dystansów: 179.8536292324992\n", "Iteracja #11\n", "Suma dystansów: 178.97570181315245\n", "Iteracja #12\n", "Suma dystansów: 178.89244011436267\n", "Iteracja #13\n", "Suma dystansów: 178.34753499716496\n", "Iteracja #14\n", "Suma dystansów: 178.19596929138834\n", "Iteracja #15\n", "Suma dystansów: 165.77720257659146\n", "Iteracja #16\n", "Suma dystansów: 164.18186436174895\n", "Iteracja #17\n", "Suma dystansów: 164.0636488364166\n", "Iteracja #18\n", "Suma dystansów: 163.10129112522043\n", "Iteracja #19\n", "Suma dystansów: 162.98527642121257\n", "Iteracja #20\n", "Suma dystansów: 162.30806701011045\n", "Iteracja #21\n", "Suma dystansów: 162.18265851612782\n", "Iteracja #22\n", "Suma dystansów: 161.86121102326487\n" ] } ], "source": [ "assigned = pam_clustering(generated_points, 3)" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "Dużo iteracji jest \"zmarnowane\" na bardzo drobne poprawy dystansu" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 61, "outputs": [ { "data": { "text/plain": "
", "image/png": "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\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "draw_clustering(assigned)" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 63, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{['-0.41', '-0.55']: [['-0.74', '-0.32'],\n", " ['-0.62', '-0.18'],\n", " ['-0.26', '0.06'],\n", " ['-0.13', '-0.72'],\n", " ['-0.53', '-0.36'],\n", " ['0.22', '-0.80'],\n", " ['-0.64', '-0.34'],\n", " ['-0.20', '-1.12'],\n", " ['0.38', '-1.42'],\n", " ['-0.25', '-0.30'],\n", " ['-0.33', '-0.19'],\n", " ['-0.70', '-0.90'],\n", " ['-1.50', '-0.44'],\n", " ['-0.32', '-0.95'],\n", " ['-0.17', '-0.70'],\n", " ['0.30', '-0.99'],\n", " ['-0.42', '-0.62'],\n", " ['-1.65', '0.04'],\n", " ['-0.41', '-0.55'],\n", " ['-0.54', '-0.41'],\n", " ['-0.83', '0.36'],\n", " ['-0.48', '0.41'],\n", " ['0.31', '-0.86'],\n", " ['-0.74', '-0.32'],\n", " ['-0.37', '-0.37'],\n", " ['-0.38', '-0.24'],\n", " ['0.02', '-0.51'],\n", " ['-0.68', '-0.52'],\n", " ['0.10', '-1.06'],\n", " ['0.37', '-0.95'],\n", " ['-0.59', '0.08'],\n", " ['-0.75', '-0.41'],\n", " ['-0.53', '-0.74'],\n", " ['-0.06', '-0.89'],\n", " ['-0.82', '-0.31'],\n", " ['-0.28', '0.23'],\n", " ['0.14', '-1.08'],\n", " ['0.06', '-1.25'],\n", " ['-0.49', '-0.64'],\n", " ['-0.74', '0.72'],\n", " ['-0.80', '0.20'],\n", " ['-0.32', '0.06'],\n", " ['-0.50', '-0.46'],\n", " ['-0.15', '-0.77'],\n", " ['-0.20', '-0.63'],\n", " ['-0.49', '-0.48'],\n", " ['-0.68', '-0.36'],\n", " ['-0.60', '-0.55'],\n", " ['-0.84', '0.14'],\n", " ['-0.22', '-0.65'],\n", " ['0.16', '-0.54'],\n", " ['0.32', '-1.35'],\n", " ['-0.05', '-0.20'],\n", " ['0.16', '-1.60'],\n", " ['-0.28', '-1.08'],\n", " ['-0.22', '-1.19'],\n", " ['-0.20', '-0.02'],\n", " ['0.32', '-1.18'],\n", " ['-0.80', '-0.67'],\n", " ['-0.39', '-0.63'],\n", " ['-0.77', '-0.99'],\n", " ['-0.87', '-0.53'],\n", " ['-0.12', '-0.47'],\n", " ['-0.82', '-0.27'],\n", " ['-0.81', '-0.65'],\n", " ['-0.78', '0.33'],\n", " ['-0.40', '-1.04'],\n", " ['-0.61', '-0.39'],\n", " ['-1.56', '-0.37'],\n", " ['-0.15', '-0.84'],\n", " ['-0.02', '-0.50'],\n", " ['-0.15', '0.05'],\n", " ['-0.31', '-1.30'],\n", " ['-1.23', '-0.34'],\n", " ['0.23', '-0.80'],\n", " ['-0.46', '-0.62'],\n", " ['-0.58', '0.73'],\n", " ['-0.54', '-0.57'],\n", " ['-0.85', '-0.24'],\n", " ['-1.73', '0.12'],\n", " ['-0.35', '-0.42'],\n", " ['-0.16', '-0.79'],\n", " ['-0.25', '-0.87'],\n", " ['-0.04', '-1.26'],\n", " ['0.53', '-1.59'],\n", " ['0.13', '-1.44'],\n", " ['-0.65', '-0.66'],\n", " ['-0.89', '-0.53']],\n", " ['-1.05', '-1.56']: [['-1.39', '-2.23'],\n", " ['-1.03', '-1.14'],\n", " ['-0.17', '-2.12'],\n", " ['-1.22', '-1.40'],\n", " ['-0.83', '-1.11'],\n", " ['-0.95', '-1.70'],\n", " ['-0.99', '-1.38'],\n", " ['-1.76', '-2.65'],\n", " ['-0.78', '-1.18'],\n", " ['-0.84', '-1.28'],\n", " ['-0.01', '-1.54'],\n", " ['-0.40', '-1.45'],\n", " ['-1.36', '-1.15'],\n", " ['-0.98', '-1.67'],\n", " ['-0.73', '-1.18'],\n", " ['-0.24', '-1.62'],\n", " ['-1.11', '-1.24'],\n", " ['-0.97', '-1.46'],\n", " ['-1.69', '-0.75'],\n", " ['-2.05', '-1.62'],\n", " ['-1.19', '-2.35'],\n", " ['-2.12', '-2.34'],\n", " ['-1.98', '-0.81'],\n", " ['-0.75', '-1.54'],\n", " ['-2.02', '-1.88'],\n", " ['-0.93', '-0.98'],\n", " ['-0.92', '-2.71'],\n", " ['-1.05', '-1.26'],\n", " ['-1.05', '-1.56'],\n", " ['-1.81', '-2.55'],\n", " ['-1.11', '-1.03'],\n", " ['-2.05', '-2.50'],\n", " ['-1.85', '-2.60'],\n", " ['-1.02', '-2.33'],\n", " ['-1.06', '-1.70'],\n", " ['-1.18', '-1.55'],\n", " ['-2.17', '-0.78'],\n", " ['-1.99', '-2.12'],\n", " ['-0.85', '-1.54'],\n", " ['-1.01', '-1.87'],\n", " ['-1.57', '-0.93'],\n", " ['-0.26', '-1.87'],\n", " ['-1.27', '-2.81'],\n", " ['-0.88', '-1.64'],\n", " ['-0.68', '-1.69'],\n", " ['-2.13', '-1.31'],\n", " ['-1.19', '-1.91'],\n", " ['-0.68', '-1.12'],\n", " ['-1.29', '-1.21'],\n", " ['-1.26', '-1.48'],\n", " ['-0.83', '-1.90'],\n", " ['-0.85', '-1.42'],\n", " ['-1.38', '-2.95'],\n", " ['-0.80', '-2.53'],\n", " ['-2.05', '-1.16'],\n", " ['-1.12', '-1.41'],\n", " ['-0.67', '-2.01'],\n", " ['-1.14', '-1.38'],\n", " ['-0.22', '-2.39'],\n", " ['-1.45', '-2.16'],\n", " ['-1.11', '-1.18'],\n", " ['-1.03', '-1.31'],\n", " ['-0.44', '-1.29'],\n", " ['-1.92', '-1.58'],\n", " ['-1.96', '-0.75'],\n", " ['-0.65', '-2.27'],\n", " ['-1.13', '-1.39'],\n", " ['-2.35', '-1.37'],\n", " ['-1.43', '-2.23'],\n", " ['-0.51', '-2.86'],\n", " ['-0.94', '-1.34'],\n", " ['-1.87', '-2.25'],\n", " ['-1.10', '-1.76'],\n", " ['0.42', '-1.97'],\n", " ['-1.46', '-0.97'],\n", " ['-0.49', '-2.53'],\n", " ['-0.88', '-1.51'],\n", " ['-0.82', '-2.45'],\n", " ['-1.05', '-1.10'],\n", " ['-1.42', '-2.00'],\n", " ['-1.93', '-2.25']],\n", " ['0.62', '0.16']: [['0.50', '-0.01'],\n", " ['1.00', '1.24'],\n", " ['0.75', '0.01'],\n", " ['0.31', '-0.37'],\n", " ['0.98', '1.41'],\n", " ['0.23', '1.34'],\n", " ['0.01', '0.04'],\n", " ['0.84', '-0.42'],\n", " ['0.41', '0.25'],\n", " ['-0.21', '1.10'],\n", " ['1.60', '0.83'],\n", " ['0.28', '-0.22'],\n", " ['0.51', '0.01'],\n", " ['-0.06', '0.87'],\n", " ['1.26', '-1.16'],\n", " ['1.25', '-0.53'],\n", " ['0.44', '0.00'],\n", " ['1.08', '1.02'],\n", " ['0.52', '-0.78'],\n", " ['0.84', '-0.72'],\n", " ['0.81', '0.21'],\n", " ['-0.30', '0.98'],\n", " ['1.11', '0.22'],\n", " ['0.57', '-0.45'],\n", " ['-0.09', '0.44'],\n", " ['1.15', '0.73'],\n", " ['1.02', '0.86'],\n", " ['0.77', '-0.65'],\n", " ['0.07', '0.14'],\n", " ['1.45', '0.39'],\n", " ['-0.37', '0.94'],\n", " ['-0.42', '0.87'],\n", " ['0.97', '1.31'],\n", " ['0.43', '0.41'],\n", " ['0.50', '-0.00'],\n", " ['0.55', '0.23'],\n", " ['0.42', '0.01'],\n", " ['0.26', '-0.20'],\n", " ['1.18', '-0.95'],\n", " ['0.70', '0.19'],\n", " ['0.53', '-0.17'],\n", " ['0.49', '-0.04'],\n", " ['1.80', '0.23'],\n", " ['0.99', '0.51'],\n", " ['0.69', '-0.36'],\n", " ['1.59', '-0.28'],\n", " ['1.18', '-0.76'],\n", " ['0.08', '0.29'],\n", " ['1.08', '0.23'],\n", " ['0.94', '-0.68'],\n", " ['-0.07', '0.28'],\n", " ['0.94', '-0.65'],\n", " ['1.06', '0.60'],\n", " ['0.42', '-0.07'],\n", " ['1.96', '0.15'],\n", " ['0.29', '0.01'],\n", " ['0.62', '0.16'],\n", " ['0.04', '-0.09'],\n", " ['0.25', '1.40'],\n", " ['-0.22', '0.68'],\n", " ['0.46', '0.03'],\n", " ['1.22', '0.12'],\n", " ['0.77', '0.07'],\n", " ['-0.26', '1.23'],\n", " ['0.71', '0.29'],\n", " ['0.06', '0.54'],\n", " ['0.85', '-0.78'],\n", " ['0.17', '0.08'],\n", " ['0.71', '1.07'],\n", " ['1.31', '0.99'],\n", " ['0.28', '0.62'],\n", " ['1.38', '0.75'],\n", " ['0.68', '-0.63'],\n", " ['1.47', '-0.23'],\n", " ['0.56', '-0.02'],\n", " ['0.50', '0.00'],\n", " ['1.07', '0.27'],\n", " ['0.53', '1.35'],\n", " ['1.06', '-0.01'],\n", " ['0.47', '-0.11'],\n", " ['0.43', '0.18']]}\n" ] } ], "source": [ "import pprint\n", "pprint.pprint(assigned)" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "### Test na zbiorze danych Iris" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 64, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 150 entries, 0 to 149\n", "Data columns (total 6 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 Id 150 non-null int64 \n", " 1 SepalLengthCm 150 non-null float64\n", " 2 SepalWidthCm 150 non-null float64\n", " 3 PetalLengthCm 150 non-null float64\n", " 4 PetalWidthCm 150 non-null float64\n", " 5 Species 150 non-null object \n", "dtypes: float64(4), int64(1), object(1)\n", "memory usage: 7.2+ KB\n" ] } ], "source": [ "import pandas as pd\n", "\n", "df = pd.read_csv(\"Iris.csv\")\n", "df.info()" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "### W celu łatwiejszej wizualizacji bierzemy pod uwagę tylko dwie zmienne" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 65, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Iteracja #1\n", "Suma dystansów: 208.75650656990624\n", "Iteracja #2\n", "Suma dystansów: 205.49853399261397\n", "Iteracja #3\n", "Suma dystansów: 204.25697334421366\n", "Iteracja #4\n", "Suma dystansów: 200.61634101769542\n", "Iteracja #5\n", "Suma dystansów: 199.7822154497639\n", "Iteracja #6\n", "Suma dystansów: 197.1753293339581\n", "Iteracja #7\n", "Suma dystansów: 141.19412116737692\n", "Iteracja #8\n", "Suma dystansów: 83.09469686229966\n", "Iteracja #9\n", "Suma dystansów: 83.03438870792166\n", "Iteracja #10\n", "Suma dystansów: 82.64480640416339\n", "Iteracja #11\n", "Suma dystansów: 79.97152485282157\n", "Iteracja #12\n", "Suma dystansów: 78.83128830941482\n", "Iteracja #13\n", "Suma dystansów: 77.28460137329213\n", "Iteracja #14\n", "Suma dystansów: 76.44054418397423\n", "Iteracja #15\n", "Suma dystansów: 75.68752087906972\n", "Iteracja #16\n", "Suma dystansów: 75.60046263155463\n" ] }, { "data": { "text/plain": "
", "image/png": "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45JLLpl3+0QigUQiMXM/FArpGylZ2tBUDANnw+jwuyAIQt5zgiCgw+/CsbEwhqZi6Ao0VGiURERkBs1nLlavXo3XXnsNv/nNb/DJT34S27Ztw+9///t5t9+xYwf8fv/Mv66urpIGTNYUSaYRT2fQ4Cgcr7odNiTSGUSSaZNHRkREZis55+KGG25AX18fvvnNbxZ8vtCZi66uLuZc1JhTE1F87ZkjaGqww+uyz3l+Op7CVDSFz964imcuiIiqkKlLrsuynBc8zOZ0OuF0OkvdDVlcZ5MbfS0eHDgThMcp5V0aURQFw8E4Lu30o7PJXcFREhGRGTQFF/fccw9uueUWdHd3Y3p6Go8++ij27NmDp556qlzjoyohigJuXteGM8EYjo6puRduhw2xZGamWuSmtW0QReHiP4yIiKqapuBibGwMf/Znf4bh4WH4/X5cdtlleOqpp3DjjTeWa3xURVa0evHhjT0zfS5GQ3E4JRsu7fTjprXsc0FEVC9KzrnQin0uap8sKxiaiiGSTKPRIaGzyc0zFkREVc7UnAui2URRYNImEVEd48JlREREZCgGF0RERGQoBhdERERkKAYXREREZCgGF0RERGQoBhdERERkKAYXREREZCgGF0RERGQoBhdERERkKAYXREREZCgGF0RERGQoBhdERERkKAYXREREZCgGF0RERGQoBhdERERkKAYXREREZCgGF0RERGQoBhdERERkKAYXREREZCgGF0RERGQoBhdERERkKAYXREREZCgGF0RERGQoBhdERERkKAYXREREZCgGF0RERGQoBhdERERkKAYXREREZCgGF0RERGQoBhdERERkKAYXREREZCgGF0RERGQoBhdERERkKAYXREREZCgGF0RERGQoBhdERERkKAYXREREZCgGF0RERGQoBhdERERkKAYXREREZCgGF0RERGQoBhdERERkKAYXREREZCgGF0RERGQoBhdERERkKE3BxY4dO3DVVVfB6/WitbUV733ve3H48OFyjY2IiIiqkKbgYu/evdi+fTteeuklPPPMM0ilUrjpppsQiUTKNT4iIiKqMoKiKIreF589exatra3Yu3cv3v3udxf1mlAoBL/fj2AwCJ/Pp3fXREREZCItn98l5VwEg0EAQCAQKOXHEBERUQ2R9L5QlmXceeed2LhxI9atWzfvdolEAolEYuZ+KBTSu0siIiKqArqDi+3bt+PAgQN4/vnnF9xux44duPfee/Xuhi5ClhUMTcUQSabR6JDQ2eSGKAocExERVYyunItPfepT+PGPf4znnnsOvb29C25b6MxFV1cXcy4McGxsGk8dGMXA2TDi6Qxckg19LR7cvK4NK1q9HBMRERlGS86FpjMXiqLg05/+NB5//HHs2bPnooEFADidTjidTi27oSIcG5vGzhdOYiKSRIffhQaHG9FkGgfOBHEmGMOHN/aY/mFuxTEREZH5NAUX27dvx6OPPoof//jH8Hq9GBkZAQD4/X643e6yDJDmkmUFTx0YxUQkiZWtHgiCesnB67LD45RwdCyMp98cxfLFHtMuR1hxTEREVBmaqkUefPBBBINBXHfddejo6Jj599///d/lGh8VMDQVw8DZMDr8rpkP8SxBENDhd+HYWBhDU7G6HhMREVWG5ssiVHmRZBrxdAYNjsJni9wOG0ZDcUSS6boeExERVQbXFqlCjQ4JLsmG6Dwf1LFkBk7JhkaH7mKgmhgTERFVBoOLKtTZ5EZfiwfDwfics0mKomA4GMeKVg86m8zLg7HimIiIqDIYXFQhURRw87o2BBodODoWxnQ8hbQsYzqewtGxMAKNDty0ts3UxEkrjomIiCqjpLVF9ODaIsbJ7SmRSKuXHVa0enDTWmv0ubDKmIiIqHRaPr8ZXFQ5K3bDtOKYiIioNGVrokXWI4oCugINlR5GHiuOiYiIzMPgggxn1TMX6bSMV09NYjySxKJGB67oaoYkVTbtyKrvFRFRKRhckKGsurbI7oOjeOiFkzg5HkEqI8NuE9GzqBEf2tiDzf1tFRmTVd8rIqJSMbggw1h1bZHdB0ex48lDmI6nsKjRAbfDhlgygyNj09jx5CEAMD3AsOp7RURkBJaikiFmry3iddlhEwV4XXasbPVgIpLE02+OQpbN7fKaTst46IWTmI6n0N3shtdlhySK8Lrs6G52YzqewsO/Pol0WjZtTFZ9r4iIjMLgggxh1bVFXj01iZPjESxqdEAU83/dRVHEokYHTpyL4NVTk6aNyarvFRGRUXhZxEL0JPeZkaSYTGbw9KERjAQTaPc7cdOadjgctrxtctcWURQF0/E0khkZDpsIr0uq2Noi45EkUhkZ7lnjzXI7bJiIJDEeSZo2Jq7DQkS1jsGFRehJ7jMjSfG/XjyJ7/zfEzg7HUdGUWATBHzVewQfe1cvPrihZ2a77NoiZ6aiGA4mMBlNIp2RIdlENDc40OF3VmRtkUWNDthtImLJDLyuuUFXLJmB3aaewTBL7josXpe94Ji4DgsRVTNeFrGAbHLfgTNBNDXYsXyxB00Ndhw4E8TOF07i2Nj0nNdkkxSPjE3D65LQ2eyG1yXNJCnuPjha8rj+68WT+OpThzESisFpt6G5wQ6n3YaRUAxffeow/uvFkzPbdja50eS2Y9/JSYxNx+Gy29Dc6IDLbsPYdBz7Tk6iucFu+toiV3Q1o2dRI8YjSchyfl6FLMsYjyTRu7gRV3Q1mzYmrsNCRLWOwUWF6UnuMyNJMZnM4Dv/9wQS6QwCDXY0OGywiSIaHDYEGuxIpDP4j+dPIJnMXHhR9gqOogDIjlc5f//CI2aSJBEf2tgDr8uOwclY3pong5Mx+Fx2bLu2x9R+F1yHhYhqHYOLCtOT3GdGkuLTh0ZwdjqOBodUcB8NDgljoTiePjQyM4+paApX9TSjzedGPCVjKppEPCWjze/GVT3NmIqmKpKkuLm/DffcsgarWr2YjqcxNBnDdDyN1W1efOGWNRXpc7Gi1YsPb+zBuiV+TEVTOHkugqloCpd2+lmGSkRVjxd1K0xPcp8ZSYojwQQyigKnVPjbs1MSEE0qGAkm8uaxfLEHS5sb5iR0ZhQFJ89FKpakuLm/DZtWtliqQ+eKVi+WX+dhh04iqjkMLsqomOoPPcl9pSQpFlP5AQDtfidsgoBEWoHbDmQyMi4/sR+/610Pm01EIq0md7b7nXPm0XA+LyOcyMDjtKHR4UEstXCSotaqF7bNJiKyLgYXZVJs9Uc2ue/AmSA8Tinv0kg2ue/STn9ecl82SfHI2DQaHba8yxbZJMXVbd45SYrFVn4AwE1r2vFV7xGcCcaQSmdw7dF9+MZjX8Sf3/5lvLjiSiQyCjqb3LhpTXvePJ44cAanx6OIpjJQFEAQgBfs57B0UQNuvXRJwSRFrVUvVq2s0Yrtv4moVjHnogy0VH/oSe7Tk6SopfIDABwOG/7325YAACIpGTcdfB4AcNPvn0ckJUMA8Efrl8yc9RBFAfF0BkdHw5hOZmATBDglATZBwHRSfTyWysw5u6C16sWqlTVa6ZkHEVG14JkLg82u/sieifC67PA4JRwdC+PpN0exfLFn5oM2m9yX/RY7GorDKdlwaacfN60t/C02+207+218IpKE3SZidZsX267N/zY+u/Ije6ajwQG4JAET0RT+4/kTeN/bu2aCBTmdwZU/+x7+dmAIoVgSNx98AQBw86HnMRLogM9tR2+4E/L/+juIkg3JZAY/ee0MAAWNDhEZGZAVQBQBjyQgnpbx0/1n8OnrVszsY3bVS3ZcXpeIRocNg5MxPPzrk9i0sgWSJOp6b7Xuwwx65kFEVE0YXBhMS/VHV6Bh5jk9yX3FJilqqfy49bJOAMCZoXO4cufXsCkcggIB8vnXNaYS+NSvvgsBCiIeH87c9UksXdY2sw+P0w63XURGVqBArU61iQKklDxnH1qqXq7uXaTrvdW6DzPo/R0hIqoWvCxisAvVH4XjNrfDhkQ6U7BqQhQFdAUasKbdh65AQ1HfWiVJxNW9i3DLug5c3buo4LfvYio/MsqFyg8ACDvduO//PIqhSy4HoMAmq/0s1FsFpy+5HPf946MIO91z9iEIAiSbCLtNhGQTIZy/RDJ7H8VUvaQy8kzVi573Vus+zFDK7wgRUTWo2+BClhWcmoji0EgIpyaihq1AmVs1IcsyhiajODo2jaHJKGRZNry1czot4+UT43jywDBePjFesHFWbuWHogDpjIJURkY6o96fXfmRnUesvRM7/+E/kXLlJ2GmXG489H/+E7G2zpl5zN5HIq3ONZGW591HbtWLoihIpDKIJtNIpNT7s6tect/bQi5WWTPfa+arrDHjd6TYeRARVZO6/L9XObP0s1UTvzw0irHpOIKxNDKyApsowO+W0Op1YXN/myGtnYutgJhd+ZE53zRTEACbgDmVH7nzOPPE03DE8xtfOeIxRF94ESu23Dgzj5l9TMUQjqWQAZC9LmIDAEFAZ3P+PrJVL78fDiEoJRFPK5AVBaIgwCUJiKcVrF3im6l6MbOyxozfES3zICKqJnV35qLcWfqiKMDnVpPyxqYT51t522ATBYxNJ3B0LAyvSyo5UU9LBcTsyg9ZViAKCmRZKVj5kTuPvpf2AAB+ueZa/D93PYRfrdkAAFj54q/y5uFw2PDOlYuRURSkznf/FgT1NqUAGUXBxhWL8/YhSSJuWtuGVEbGuUgS8vnLKrKi4Nz5yxk3XtI2c6nHrMoaM35H2P6biGpZXZ25MCNLP52W8fSbo7DbRHidNsTTCpJp9dv44kYH4mkFz/x+FLdf1a27OkFPlYVLsmFlqwdDk1FEkhmk0+qHv8+pBiZuu00NOnKqLJ5+cxT2/msxuHQFfrr2OsgA/ur2L+GP3tyDQW8r0jnzSKdlDI5H0eCwIZWWkTx/yQUAnDYBdknEqYko0ml5Zt6yrCAUS2NlmwdjwTiC8TSm4zJsooBWrwutPiem4+m8cZW7ssasSg498yAiqhZ1FVyYkaWfrU5o8znhcUpIpuWZhlUOSUQ4kS65OkFvlcU7li9Cg70FA2cjmE6m4XVI6GtpRDQlz1tl4b30CoSdErpy5vH7629FOJHGdM4+stt3BxrQYBcxGU0jJcuwiyKaGyREU/KceWfHtX5pExqX2zAcjCOayqDBbkOH34VIMmN6ZY2ZlRxs/01EtaqugovcdTxkWZ7zYVZoHY+sYttN51YnCIIApz2/SmGhdT/07KOQ2fvInbdNFLCq3Ze/vSCUvH5J7vY2UcRi76x5C8KceeeOSxQFdDY3zNoH5j0e2coaLURRQIffDZ/bjkZH4UtTuWNSFGXOGikL/Y7ooWceRERWV1fBRTZL/9BIEIdHwgjGUjnJlnasbvfA53LMydLXktynd92Pcu6jlPVLpqJJJFIKYqnMTLKl226D0y7k7UPPvPWMS69i39/smM5MRTEcTGAymkQ6I0OyiWhucKDD72QlBxHRRdRVQmdnkxtQFLw4MIGJSBIOSYTPJcEhiZiIJPHiwAQEKHlZ+lqT+7LVCeORJGQ5vyw0W53Qu7gxrzqh3PvIVicMB+NQlPxyymx1wopWz5wqi1avE2em4ggnUpBsalAh2QSEEymcmYqjzeec2YeeeesZlx5a3t/OJjea3HbsOzmJsek4XHYbmhsdcNltGJuOY9/JSTQ32FnJQUS0gLoKLmRZwVsTUciKAruodo4UBAE2UYBdBGRFwcmcfgazk/u8Lvv56g87VrZ6MBFJ4uk3R/P6H2itTjBjH3qqE0RRwLJFDRAFAamMonbcVNTbVEY9g9Gd0+hLT1WGGVUTet5fZHennC97Ue8gm6FqTLcLIqLaVVfndl89NYmx6QSWNLlmTvWnFBmCIMDjdmCRJGAslCip3TSgrTrBjH0A2qsThqZiAARs6AvgyEgYU7EUYucvIS3yOLCqzQNAyBuX1jHpGZdWWt/foakYpqIpXNXTjJFgAhPRJCKJNGyiiDa/G+0+J6aiKbbmJiJaQF0FF9mkw1afGzZBmFPJkVEUDE3GCiZCFrJQcl+x1Qlm7CNLS3VCdlxr2v3ob/fNSX6VAZw8F5kzLq1j0jourbS+v9ntly/2YGlzw5yEzoyiFJw3ERFdUFfBRX7SoX1OJUcskS45ETJXdt2PhZixj1zFVifkjsvjlGbeL8f5tUJiifS849I6Ji3j0krr+zt7e587/zULzdssxVYVERFVSl0FF1pbQZvRptmqraCz43rp/HolkzE1H0ISRTS77ZAkERuWL7J8YqPW99eqxyOrnG3JiYiMUlcJnWYkQmpl1VbQoihgTYcXw8E4jo9HIAqA322HKADHxyMYCcaxut1r+W/MWt9fqx4PoPxtyYmIjCIos2sAyywUCsHv9yMYDMLn8138BWVQaMGv3sWN8yYd5n5bTKTV0+grWj2Gtmk2Yx9ayLKCB/cM4KXj40jLMiajOWcuGuyQRBEb+hbhE5v6LB9gANrfX6sejwNngnltyQH1jMrRsTAu7fRXzfEgouqj5fO7LoMLQF07Q0vSoRnXua10Lf3URBRfe+YImhrUNTVmJzaGE2lMRVP47I2rqqZqQuv7a9XjUSh3ZDqeqrrjQUTVRcvnd13lXOQqVyJkKazUCjq3ykIQhDmJjUa3wTaD1vfXqsejkGo8HkRUu2oi50KWFZyaiOLQSAincppgkX65VROFGNmamy6Ox4OIqknV/5+I2fPlYfWqiXrD40FE1aSqg4ts9vxEJIkOvwsNDjeiyTQOnAniTDCGD2/sYYChU7Zq4kwwhqNj4ZlVY2PJDIaD8YpWTdQjHg8iqiZVe1lE15oRpEm2Nfe6JX5MRVM4eS6CqWgKl3b6GbhVAI8HEVWLqj1zoXdNDtKmnK25STseDyKqBlUbXFRD9ryVShlLYaWqCeLxICLr0xxcPPfcc/jqV7+KV155BcPDw3j88cfx3ve+twxDW1ipa3KUGxNNiYioXmnOuYhEIli/fj2+/vWvl2M8Rctmzw8H45jdByybPb+i1VOR7Hm2aSYionqm+Wv9LbfcgltuuaUcY9HEqtnzsxNNs/kgXpfa6fLoWBhPvzmK5Ys9VXmJhIiI6GLKfs0gkUggkUjM3A+FQob97Gz2fPbyw2goDqdkw6Wd/oqtAcFEUyIiqndlDy527NiBe++9t2w/32rZ89WQaEpERFROZe9zcc899yAYDM78O3XqlOH7yGbPr2n3oSvQUNHLDWzTTERE9a7sn3BOpxNOp7Pcu7EMtmkmIqJ6V7UdOq0qm2gaaHTg6FgY0/EU0rKM6XgKR8fCbNNMREQ1T/OZi3A4jGPHjs3cP3HiBF577TUEAgF0d3cbOrhqZcVEUyIiIrMIyuwmERexZ88eXH/99XMe37ZtGx566KGLvj4UCsHv9yMYDMLn82nZddWplQ6dREREWj6/NZ+5uO666+Y0raLC2KaZiIjqEXMuiIiIyFAMLoiIiMhQDC6IiIjIUAwuiIiIyFAMLoiIiMhQDC6IiIjIUAwuiIiIyFAMLoiIiMhQDC6IiIjIUKav+53t7hkKhczeNREREemU/dwupku36cHF9PQ0AKCrq8vsXRMREVGJpqen4ff7F9xG88JlpZJlGWfOnIHX64UgVNciXqFQCF1dXTh16lTNL7o2W73OvV7nDXDu9Tj3ep03wLkXM3dFUTA9PY0lS5ZAFBfOqjD9zIUoili6dKnZuzWUz+eru1++rHqde73OG+Dc63Hu9TpvgHO/2NwvdsYiiwmdREREZCgGF0RERGQoBhcaOJ1OfPGLX4TT6az0UExXr3Ov13kDnHs9zr1e5w1w7kbP3fSETiIiIqptPHNBREREhmJwQURERIZicEFERESGYnBBREREhmJwMY/7778fgiDgzjvvnHebhx56CIIg5P1zuVzmDdIgX/rSl+bMY82aNQu+5n/+53+wZs0auFwuXHrppfj5z39u0miNpXXutXLMAWBoaAgf+MAHsGjRIrjdblx66aX47W9/u+Br9uzZgyuuuAJOpxMrVqzAQw89ZM5gDaZ17nv27Jlz3AVBwMjIiImjLl1PT0/BeWzfvn3e19TC37rWedfS33kmk8Hf/d3fobe3F263G319ffiHf/iHi64PUurfuukdOqvBvn378M1vfhOXXXbZRbf1+Xw4fPjwzP1qa2metXbtWjz77LMz9yVp/l+NX//617j99tuxY8cO3HrrrXj00Ufx3ve+F6+++irWrVtnxnANpWXuQG0c88nJSWzcuBHXX389nnzySbS0tODo0aNobm6e9zUnTpzAli1b8IlPfAK7du3C7t278bGPfQwdHR24+eabTRx9afTMPevw4cN5HQxbW1vLOVTD7du3D5lMZub+gQMHcOONN+K2224ruH2t/K1rnTdQG3/nAPCVr3wFDz74IB5++GGsXbsWv/3tb/HhD38Yfr8fn/nMZwq+xpC/dYXyTE9PKytXrlSeeeYZZdOmTcodd9wx77Y7d+5U/H6/aWMrly9+8YvK+vXri97+T//0T5UtW7bkPXbNNdcoH//4xw0eWflpnXutHPO7775beec736npNZ///OeVtWvX5j32vve9T7n55puNHFrZ6Zn7r371KwWAMjk5WZ5BVcgdd9yh9PX1KbIsF3y+lv7Wc11s3rXyd64oirJlyxblIx/5SN5jf/Inf6Js3bp13tcY8bfOyyKzbN++HVu2bMENN9xQ1PbhcBjLli1DV1cX3vOe9+DNN98s8wjL4+jRo1iyZAmWL1+OrVu3YnBwcN5tX3zxxTnvz80334wXX3yx3MMsCy1zB2rjmP/kJz/BlVdeidtuuw2tra24/PLL8e1vf3vB19TKcdcz96y3ve1t6OjowI033ogXXnihzCMtr2QyiUceeQQf+chH5v1WXivHPFcx8wZq4+8cAK699lrs3r0bR44cAQDs378fzz//PG655ZZ5X2PEcWdwkeOxxx7Dq6++ih07dhS1/erVq/Gf//mf+PGPf4xHHnkEsizj2muvxenTp8s8UmNdc801eOihh/CLX/wCDz74IE6cOIF3vetdmJ6eLrj9yMgI2tra8h5ra2uruuvPgPa518oxP378OB588EGsXLkSTz31FD75yU/iM5/5DB5++OF5XzPfcQ+FQojFYuUesmH0zL2jowPf+MY38IMf/AA/+MEP0NXVheuuuw6vvvqqiSM31o9+9CNMTU3hQx/60Lzb1NLfelYx866Vv3MA+MIXvoD3v//9WLNmDex2Oy6//HLceeed2Lp167yvMeRvXdsJlto1ODiotLa2Kvv375957GKXRWZLJpNKX1+f8rd/+7dlGKF5JicnFZ/Pp3znO98p+LzdblceffTRvMe+/vWvK62trWYMr6wuNvfZqvWY2+12ZcOGDXmPffrTn1be8Y53zPualStXKvfdd1/eY0888YQCQIlGo2UZZznomXsh7373u5UPfOADRg7NVDfddJNy6623LrhNLf6tFzPv2ar171xRFOV73/uesnTpUuV73/ue8vrrryvf/e53lUAgoDz00EPzvsaIv3WeuTjvlVdewdjYGK644gpIkgRJkrB3717867/+KyRJyksGmk82Kjx27JgJIy6fpqYmrFq1at55tLe3Y3R0NO+x0dFRtLe3mzG8srrY3Ger1mPe0dGBSy65JO+x/v7+BS8JzXfcfT4f3G53WcZZDnrmXsjVV19ddcc966233sKzzz6Lj33sYwtuV2t/68XOe7Zq/TsHgM997nMzZy8uvfRSfPCDH8RnP/vZBc/QG/G3zuDivM2bN+ONN97Aa6+9NvPvyiuvxNatW/Haa6/BZrNd9GdkMhm88cYb6OjoMGHE5RMOhzEwMDDvPDZs2IDdu3fnPfbMM89gw4YNZgyvrC4299mq9Zhv3LgxLxMeAI4cOYJly5bN+5paOe565l7Ia6+9VnXHPWvnzp1obW3Fli1bFtyuVo55VrHznq1a/84BIBqNQhTzP+ptNhtkWZ73NYYc95LOt9S42ZdFPvjBDypf+MIXZu7fe++9ylNPPaUMDAwor7zyivL+979fcblcyptvvlmB0er3l3/5l8qePXuUEydOKC+88IJyww03KIsXL1bGxsYURZk77xdeeEGRJEn5p3/6J+XgwYPKF7/4RcVutytvvPFGpaagm9a518oxf/nllxVJkpR//Md/VI4ePars2rVLaWhoUB555JGZbb7whS8oH/zgB2fuHz9+XGloaFA+97nPKQcPHlS+/vWvKzabTfnFL35RiSnopmfuX/va15Qf/ehHytGjR5U33nhDueOOOxRRFJVnn322ElMoSSaTUbq7u5W77757znO1/LeuZd618neuKIqybds2pbOzU/nZz36mnDhxQvnhD3+oLF68WPn85z8/s005/tYZXCxgdnCxadMmZdu2bTP377zzTqW7u1txOBxKW1ub8od/+IfKq6++av5AS/S+971P6ejoUBwOh9LZ2am8733vU44dOzbz/Ox5K4qifP/731dWrVqlOBwOZe3atcoTTzxh8qiNoXXutXLMFUVRfvrTnyrr1q1TnE6nsmbNGuVb3/pW3vPbtm1TNm3alPfYr371K+Vtb3ub4nA4lOXLlys7d+40b8AG0jr3r3zlK0pfX5/icrmUQCCgXHfddcovf/lLk0dtjKeeekoBoBw+fHjOc7X8t65l3rX0dx4KhZQ77rhD6e7uVlwul7J8+XLlb/7mb5REIjGzTTn+1rnkOhERERmKORdERERkKAYXREREZCgGF0RERGQoBhdERERkKAYXREREZCgGF0RERGQoBhdERERkKAYXREREZCgGF0RERGQoBhdERERkKAYXREREZCgGF0RERGSo/x+BvQCo4w/1eAAAAABJRU5ErkJggg==\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sepal_length = df[\"SepalLengthCm\"].tolist()\n", "petal_length = df[\"PetalLengthCm\"].tolist()\n", "\n", "data_points = [Point([x,y]) for (x,y) in list(zip(sepal_length,petal_length))]\n", "iris_assignments = pam_clustering(data_points, 3)\n", "draw_clustering(iris_assignments)" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "Prawdziwe klasy dla porównania (pierwsza kolumna, trzeci rząd):\n", "\n", "
\n", "\n", "
\n", "\n", "
\n", "\n", "\n", "\n", "\n", "Źródło: Nicoguaro, CC BY 4.0 , via Wikimedia Commons" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": null, "outputs": [], "source": [], "metadata": { "collapsed": false } } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 }