\n",
"Nazar Khan\n",
" CVML Lab\n",
" University of The Punjab\n",
"
"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"K-Means clustering is an unsupervised learning technique used to group data points into K clusters based on feature similarity. Here’s a simple PyTorch-based tutorial for implementing K-Means clustering.\n",
"\n",
"The K-Means algorithm:\n",
"1. Randomly initializes K cluster centroids.\n",
"2. Assigns each data point to the nearest centroid.\n",
"3. Updates centroids as the mean of assigned points.\n",
"4. Repeats steps 2–3 until convergence."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAisAAAGxCAYAAACju/aQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABA8UlEQVR4nO3dfXhU9Z3//1cYJICBKIncJIPcJGlJlyQQXJSEEqgEazUVad267ba2TW3V0krVS+v2e1XoJbK225urdbW1zaIuu9Wrl5SW1i3GqkQ3UIVwk9WUJgiFASlloCRFGySe3x/8ZnZuzjlz5i7nTPJ8XFeua3PmzJnPma6cVz6f9+fzyTMMwxAAAIBHjXC7AQAAAHYIKwAAwNMIKwAAwNMIKwAAwNMIKwAAwNMIKwAAwNMIKwAAwNMIKwAAwNMIKwAAwNMIK8Aw9NhjjykvL087duxwuylhDzzwgDZt2uT4/Ly8vPCPz+fTxRdfrJqaGn3hC1/Q9u3bB7UtALKLsALAE1IJCB/96Ee1bds2vfzyy3ryySf1qU99Stu3b9eCBQt0++23D2pbAGTPSLcbAACpmjRpkq644orw71dddZVWrVqlz3/+8/r+97+vWbNm6dZbb3WxhQAygZ4VAJKkT3/60yooKFBPT48+9KEPqaCgQFOnTtWdd96p/v7+8HkHDx5UXl6evvnNb2rt2rW69NJLNXr0aF122WX67W9/G3fN6dOnx33W6tWrlZeXF/49Ly9PZ86c0eOPPx4e2lm8eHFK9+Hz+fTQQw+puLhY3/rWt8LH//a3v+nOO+/UnDlzVFhYqAkTJmjBggX6xS9+EfV+u7b8+c9/1m233ab3ve99Kigo0MSJE/WBD3xAL730UkptBeAMYQVA2DvvvKMPf/jDuvLKK/WLX/xCn/3sZ/Xd735XDz74YNy5Dz30kH7zm9/oe9/7njZs2KARI0bo6quv1rZt25L+3G3btmnMmDH60Ic+pG3btmnbtm16+OGHU76PMWPGaOnSpTpw4IACgYAkqb+/XydPntRdd92lTZs26ac//akWLlyoFStW6IknnnDUlpMnT0qS7rvvPv3617/W+vXrNXPmTC1evFgvvvhiyu0FYI9hIABhZ8+e1Zo1a3TDDTdIkq688krt2LFD//Vf/6Wvf/3rUecODAyotbVVo0ePlnR+CGb69On6+te/rtbW1qQ+94orrtCIESN0ySWXRA3rpGPatGmSpKNHj8rv96uwsFDr16+Pav+VV16pU6dO6Xvf+54+9alPJWzLe9/73qgQNTAwoKuuukoHDx7U97///ZR7gwDYo2cFQFheXp6ampqijlVXV+uPf/xj3LkrVqwIBxVJGjdunJqamtTW1qaBgYGstzURwzDijv3sZz9TfX29CgoKNHLkSF1wwQVqaWlRV1eX4+v+8Ic/VG1trUaPHh2+xm9/+9ukrgEgOYQVAGFjx46NCiCSlJ+fr7/97W9x506ePNn02NmzZ/XXv/41a210KhSwSkpKJEkbN27UP/zDP6i0tFQbNmzQtm3b9Oqrr+qzn/2s6f2Z+c53vqNbb71Vl19+uZ5++mlt375dr776qj74wQ/q7bffztq9AMMdw0AAUnLs2DHTY6NGjVJBQYEkafTo0VHFuSEnTpzIatvefvttPffccyorK5Pf75ckbdiwQTNmzNBTTz0VVdxr1j4rGzZs0OLFi/XII49EHe/r68tMwwGYomcFQEo2btwY1SPR19enzZs36/3vf798Pp8kafr06Tp+/Lj+9Kc/hc87e/astmzZEne9/Pz8jPRODAwMaOXKlQoGg7rnnnvCx/Py8jRq1KiooHLs2LG42UB2bcnLy1N+fn7Usb1796ZUVAzAOcIKgJT4fD41Njbq5z//uZ5++mldeeWV6u3t1Zo1a8LnfOxjH5PP59ONN96oZ555Rhs3btSyZctMa1qqqqr04osvavPmzdqxY4f27duXsA1/+tOftH37dm3btk3PPvusvvOd72jevHn693//d33lK1/RzTffHD732muv1b59+3Tbbbfp+eef1+OPP66FCxdqypQpjtty7bXX6tlnn9V9992n559/Xo888oiuuuoqzZgxI5WvEIBTBoBhZ/369YYk49VXXw0fu+mmm4wLL7ww7tz77rvPiPyn4sCBA4Yk48EHHzTWrFlj+P1+Y9SoUcbcuXONLVu2xL3/mWeeMebMmWOMGTPGmDlzpvHQQw/FXdMwDGP37t1GfX29MXbsWEOS0dDQYHsPksI/I0aMMMaPH29UVVUZn//8541t27aZvudf/uVfjOnTpxv5+flGZWWl8eMf/ziptvT39xt33XWXUVpaaowePdqora01Nm3aZNx0003GtGnTbNsLIHV5hmFSMg8AFg4ePKgZM2boW9/6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AAAAXDIke1YAAMDQQVgBAACeRlgBAACeRlgBAACeRlgBAACeNuTCytq1a1VXV6exY8fqoosuMj3n0KFDampq0oUXXqji4mJ9+ctf1tmzZwe3oRnwhz/8Qdddd52Ki4s1fvx41dfX64UXXnC7WRn161//WpdffrnGjBmj4uJirVixwu0mZVR/f7/mzJmjvLy88HYUuezgwYNqbm7WjBkzNGbMGJWVlem+++7Lyf++Qh5++GHNmDFDo0eP1rx58/TSSy+53aS0rVu3Tn//93+vcePGaeLEiVq+fLn27dvndrOyYt26dcrLy9OqVavcbkrGHDlyRP/0T/+koqIijR07VnPmzNHOnTvdblZWDbmwcvbsWd1www269dZbTV8fGBjQNddcozNnzujll1/Wk08+qaefflp33nnnILc0fddcc43OnTun559/Xjt37tScOXN07bXX6tixY243LSOefvppffKTn9RnPvMZ7dmzR//zP/+jj3/84243K6PuvvtuR/ti5Irf//73evfdd/WjH/1Ir732mr773e/qhz/8of75n//Z7aal5KmnntKqVav0ta99Tbt27dL73/9+XX311Tp06JDbTUvL1q1b9cUvflHbt29Xa2urzp07p2XLlunMmTNuNy2jXn31VT366KOqrq52uykZc+rUKdXX1+uCCy7Qf//3f+v111/Xt7/9bcs/zocMY4hav369UVhYGHf8mWeeMUaMGGEcOXIkfOynP/2pkZ+fb5w+fXoQW5ieP//5z4Yko62tLXyst7fXkGQ899xzLrYsM9555x2jtLTU+MlPfuJ2U7LmmWeeMWbNmmW89tprhiRj165dbjcpK775zW8aM2bMcLsZKZk/f75xyy23RB2bNWuW8dWvftWlFmXH8ePHDUnG1q1b3W5KxvT19RkVFRVGa2ur0dDQYNx+++1uNykj7rnnHmPhwoVuN2PQDbmelUS2bdum2bNnR/01e9VVV6m/vz+nutGKiopUWVmpJ554QmfOnNG5c+f0ox/9SJMmTdK8efPcbl7aOjo6dOTIEY0YMUJz587VlClTdPXVV+u1115zu2kZ8ac//Uk333yz/uM//kNjx451uzlZdfr0aU2YMMHtZiTt7Nmz2rlzp5YtWxZ1fNmyZWpvb3epVdlx+vRpScrJ/52sfPGLX9Q111yjpUuXut2UjPrlL3+pyy67TDfccIMmTpyouXPn6sc//rHbzcq6YRdWjh07pkmTJkUdu/jiizVq1KicGj7Jy8tTa2urdu3apXHjxmn06NH67ne/q9/85jdDojvwjTfekCStXr1a/+///T/96le/0sUXX6yGhgadPHnS5dalxzAMffrTn9Ytt9yiyy67zO3mZNX+/fv1gx/8QLfccovbTUnaiRMnNDAwEPfvxaRJk3Lq34pEDMPQHXfcoYULF2r27NluNycjnnzySXV0dGjdunVuNyXj3njjDT3yyCOqqKjQli1bdMstt+jLX/6ynnjiCbebllU5EVZWr16tvLw8258dO3Y4vl5eXl7cMcMwTI8PNqf3ahiGbrvtNk2cOFEvvfSSXnnlFV133XW69tpr9eabb7p9G5ac3t+7774rSfra176mj3zkI5o3b57Wr1+vvLw8/exnP3P5Lsw5vbcf/OAH6u3t1b333ut2kx1L5b/Bo0eP6oMf/KBuuOEGfe5zn3Op5emL/XfBK/9WZMrKlSu1d+9e/fSnP3W7KRlx+PBh3X777dqwYYNGjx7tdnMy7t1331Vtba0eeOABzZ07V1/4whd0880365FHHnG7aVk10u0GOLFy5UrdeOONtudMnz7d0bUmT56s3/3ud1HHTp06pXfeeSfuLyg3OL3X559/Xr/61a906tQpjR8/XtL5WQutra16/PHH9dWvfnUwmps0p/fX19cnSXrf+94XPp6fn6+ZM2d6trjR6b3df//92r59e9wGZJdddpk+8YlP6PHHH89mM1OS7H+DR48e1ZIlS7RgwQI9+uijWW5ddhQXF8vn88X1ohw/ftwT/1Zkwpe+9CX98pe/VFtbm/x+v9vNyYidO3fq+PHjUcPhAwMDamtr00MPPaT+/n75fD4XW5ieKVOmRP27KEmVlZV6+umnXWrR4MiJsFJcXKzi4uKMXGvBggVau3at3nzzTU2ZMkWS9Oyzzyo/P98TtR5O7/Wtt96SJI0YEd05NmLEiHCvhBc5vb958+YpPz9f+/bt08KFCyVJ77zzjg4ePKhp06Zlu5kpcXpv3//+93X//feHfz969KiuuuoqPfXUU7r88suz2cSUJfPf4JEjR7RkyZJwb1js/4/milGjRmnevHlqbW3V9ddfHz7e2tqq6667zsWWpc8wDH3pS1/Sz3/+c7344ouaMWOG203KmCuvvFKdnZ1Rxz7zmc9o1qxZuueee3I6qEhSfX193DTzP/zhD579dzFj3KzuzYY//vGPxq5du4w1a9YYBQUFxq5du4xdu3YZfX19hmEYxrlz54zZs2cbV155pdHR0WE899xzht/vN1auXOlyy5Pz5z//2SgqKjJWrFhh7N6929i3b59x1113GRdccIGxe/dut5uXEbfffrtRWlpqbNmyxfj9739vNDc3GxMnTjROnjzpdtMy6sCBA0NmNtCRI0eM8vJy4wMf+IARCASMN998M/yTi5588knjggsuMFpaWozXX3/dWLVqlXHhhRcaBw8edLtpabn11luNwsJC48UXX4z63+itt95yu2lZMZRmA73yyivGyJEjjbVr1xrd3d3Gf/7nfxpjx441NmzY4HbTsmrIhZWbbrrJkBT388ILL4TP+eMf/2hcc801xpgxY4wJEyYYK1euNP72t7+51+gUvfrqq8ayZcuMCRMmGOPGjTOuuOIK45lnnnG7WRlz9uxZ48477zQmTpxojBs3zli6dKnxv//7v243K+OGUlhZv3696X9/ufx30b/9278Z06ZNM0aNGmXU1tYOiem9Vv8brV+/3u2mZcVQCiuGYRibN282Zs+ebeTn5xuzZs0yHn30UbeblHV5hmEYg9yZAwAA4FhuDiYDAIBhg7ACAAA8jbACAAA8jbACAAA8jbACAAA8jbACAAA8jbACAAA8jbACAAA8jbACAAA8jbACAAA8jbACAAA87f8Dnd5aP+aG1acAAAAASUVORK5CYII=",
"text/plain": [
"