mirror of
https://github.com/ArthurDanjou/ArtStudies.git
synced 2026-01-14 18:59:59 +01:00
- Added xgboost version 3.1.2 to pyproject.toml dependencies. - Updated uv.lock to include xgboost package with its dependencies and wheel URLs. - Added nvidia-nccl-cu12 package to uv.lock for compatibility with xgboost on specific platforms.
270 lines
113 KiB
Plaintext
270 lines
113 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 42,
|
|
"id": "71094222",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import matplotlib.pyplot as plt\n",
|
|
"import numpy as np\n",
|
|
"from sklearn.cluster import KMeans"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 43,
|
|
"id": "c1b23a23",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def compute_laplacian(W: np.ndarray) -> np.ndarray:\n",
|
|
" \"\"\"Compute the unnormalized graph Laplacian.\"\"\"\n",
|
|
" D = np.diag(np.sum(W, axis=1))\n",
|
|
" return D - W\n",
|
|
"\n",
|
|
"def compute_symmetric_laplacian(W: np.ndarray) -> np.ndarray:\n",
|
|
" \"\"\"Compute the symmetric normalized graph Laplacian.\"\"\"\n",
|
|
" D_inv_sqrt = np.diag(1.0 / np.sqrt(np.sum(W, axis=1)))\n",
|
|
" return np.eye(W.shape[0]) - D_inv_sqrt @ W @ D_inv_sqrt\n",
|
|
"\n",
|
|
"\n",
|
|
"def compute_random_walk_laplacian(W: np.ndarray) -> np.ndarray:\n",
|
|
" \"\"\"Compute the random walk normalized graph Laplacian.\"\"\"\n",
|
|
" D_inv = np.diag(1.0 / np.sum(W, axis=1))\n",
|
|
" return np.eye(W.shape[0]) - D_inv @ W\n",
|
|
"\n",
|
|
"def sort_eigenvalues(M: np.ndarray, k: int):\n",
|
|
" \"\"\"Sort eigenvalues and eigenvectors in ascending order.\"\"\"\n",
|
|
" eigenvalues, eigenvectors = np.linalg.eigh(M)\n",
|
|
" idx_L = np.argsort(eigenvalues)[:k]\n",
|
|
" return eigenvalues[idx_L], eigenvectors[:, idx_L]\n",
|
|
"\n",
|
|
"def compute_W_matrix(sigma: int, X: np.ndarray) -> np.ndarray:\n",
|
|
" \"\"\"Fill the similarity matrix W.\"\"\"\n",
|
|
" W = np.zeros((len(X), len(X)))\n",
|
|
" for i in range(len(X)):\n",
|
|
" for j in range(len(X)):\n",
|
|
" W[i, j] = 0 if i == j else np.exp(-(np.abs(X[i] - X[j]) ** 2) / (2 * sigma**2))\n",
|
|
" return W"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 44,
|
|
"id": "9e7e4ffa",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def create_X(sigma: int, n: int) -> np.ndarray:\n",
|
|
" \"\"\"Create a dataset with 4 Gaussian clusters.\"\"\"\n",
|
|
" part = int(n / 4)\n",
|
|
" norm_1 = np.random.normal(2, sigma, part)\n",
|
|
" norm_2 = np.random.normal(4, sigma, part)\n",
|
|
" norm_3 = np.random.normal(6, sigma, part)\n",
|
|
" norm_4 = np.random.normal(8, sigma, part)\n",
|
|
"\n",
|
|
" return np.concatenate([norm_1, norm_2, norm_3, norm_4])\n",
|
|
"\n",
|
|
"def plot_eigenvalues(sigma: int, n: int, k: int):\n",
|
|
" \"\"\"Plot the eigenvalues of the Laplacian for different sigma values.\"\"\"\n",
|
|
" print(f\"Plotting the eigenvalues and the distribution for Sigma: {sigma}\")\n",
|
|
" X = create_X(sigma, n)\n",
|
|
" W = compute_W_matrix(sigma, X)\n",
|
|
" L = compute_laplacian(W)\n",
|
|
" eigenvalues_L, _ = sort_eigenvalues(L, k)\n",
|
|
"\n",
|
|
" plt.figure(figsize=(12, 4))\n",
|
|
" plt.subplot(1, 2, 1)\n",
|
|
" plt.hist(X, bins=100, label=\"Combined Distribution\")\n",
|
|
" plt.legend()\n",
|
|
"\n",
|
|
" ks = range(1, k + 1)\n",
|
|
" plt.subplot(1, 2, 2)\n",
|
|
" plt.scatter(ks, eigenvalues_L, marker=\"+\")\n",
|
|
" plt.title(\"Eigenvalues of L\")\n",
|
|
" plt.xlabel(\"Index\")\n",
|
|
" plt.ylabel(\"Eigenvalue\")\n",
|
|
"\n",
|
|
" plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 45,
|
|
"id": "b3871450",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Plotting the eigenvalues and the distribution for Sigma: 0.1\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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gU9MTJSiRYtKMLPTudrtfO10rnY7Xzudqy/PV+9K60W1XLlyefaawU7fS/0cixQp4hfX+7xit5/ZvMB76nm8p97B++rf72lurvUeD9HXXHONhISEyNGjR92263rZsmWz7B8WFmaWjIoVKyb+Rj8Uu/xnt9O52u187XSudjtfO52rr86XGmjP0q5eFSpUELuy289sXuA99TzeU+/gffXf99Tqtd7jA4uFhobKTTfdJCtXrnSrXdb1pk2bevrlAAAAAADIM15pzq3Ns6Ojo6Vhw4bSuHFjiY+PlzNnzpjRugEAAAAACFReCdFdu3aV3377TQYPHixHjhyR+vXry9KlS7MMNhYItKm5zneducl5MLLTudrtfO10rnY7Xzudqx3PF8GH/8Oex3vqebyn3sH7GjzvaT4H83UAAAAAAOCbPtEAAAAAAAQrQjQAAAAAABYRogEAAAAAsIgQDQAAAACARYTobMTFxUmjRo2kSJEiUrp0aencubPs2rVLgtXEiROlbt26rknKdT7vJUuWiB2MGjVK8uXLJ3379pVgNHToUHN+GZeaNWtKsDp8+LA88sgjUrJkSSlUqJDUqVNH1q9fL8EoKioqy2erS+/evSXYpKWlyaBBg6RKlSrmc61ataoMHz5cGBcTgcJuf1f4QrBfz/OSna6leYFrmGesWbNGOnbsKOXKlTM/6wsXLnR7Xt9PnRkqMjLSvM+tW7eWPXv2iLcQorOxevVq84foDz/8IMuXL5fz589LmzZtzFzXwahChQrm4rNhwwbzS/KOO+6QTp06yc8//yzBbN26dTJ58mRzAyGY3XDDDfLrr7+6lm+++UaC0fHjx6V58+Zy1VVXmZtA27dvlzfffFOKFy8uwfr/N+Pnqr+r1IMPPijBZvTo0eZm3/jx42XHjh1mfcyYMfLOO+/4umiAJXb7uyKv2eV6nhfsdi3NC1zDPEN/X9arV08mTJiQ7fP6no4bN04mTZokP/74oxQuXFjatm0r586dE6/QKa5wcUlJSXqryLF69WqHXRQvXtzx7rvvOoLVqVOnHNWrV3csX77ccfvttzuef/55RzAaMmSIo169eg47eOWVVxy33HKLw670/3DVqlUd6enpjmDTvn17x+OPP+627b777nN0797dZ2UCroQd/67wFrtcz/OK3a+l3sA1zPP092dCQoJrXf/2KVu2rONf//qXa9uJEyccYWFhjrlz53qhBA4HNdEWnDx50nwtUaKE2KHJybx588zdHm3WHay0RqB9+/amqUew06Ys2vTl2muvle7du8uhQ4ckGH366afSsGFDUxOrzSVvvPFGmTp1qthBamqqfPDBB/L444+bJk7BplmzZrJy5UrZvXu3Wd+yZYtpUdGuXTtfFw24LHb6u8Lb7HQ9zwt2vpZ6C9cw79u/f78cOXLE7fdARESENGnSRL7//nuvvGYBrxw1iKSnp5v+Ndq0pXbt2hKstm7dakKzNnm4+uqrJSEhQWrVqiXBSG8SbNy40TT/Cnb6y2PGjBly3XXXmSa/sbGxcuutt8q2bdtM37xgsm/fPtNcqn///vLqq6+az7dPnz4SGhoq0dHREsy0X9CJEyekR48eEowGDBggycnJpj9/SEiIudk3cuRIc1MICDR2+bsiL9jpep5X7Hwt9RauYd6nAVqVKVPGbbuuO5/zNEK0hTucGjiCtR+pk4aszZs3m7vjH374oflFqX24gi1IJyYmyvPPP2/6pBUsWFCCXca7nNpXTEN15cqVZcGCBdKrVy8Jtj9M9e7566+/btb17rn+7GrfmGC/8L/33nvms9YWB8FI/7/Onj1b5syZY/r46+8qDSF6vsH+2SL42OXvCm+z2/U8r9j5WuotXMOCEyH6Ip599llZtGiRGQ1OB98KZnqHsVq1aubxTTfdZO48vv3222agjmCig6clJSVJgwYNXNv0jqB+xjrgQ0pKirlLGKyKFSsmNWrUkL1790qw0dEYM9/0uf766+Wjjz6SYHbw4EFZsWKFfPzxxxKsXnrpJXMnv1u3bmZdR4rV89YRj/kDBIHETn9XeJvdr+feYtdrqTdxDfO+smXLmq9Hjx41/4eddL1+/fpeeU36RGdD+6vrhU6bNH/55ZdmSHo73onUC1CwadWqlWm6rncBnYvecdUmNfo42C+4p0+flv/+979uv2CChTaNzDxljPY/0pr3YDZ9+nTTb037BAars2fPSv787pcr/VnV31NAIODvCs+z+/XcW+x6LfUmrmHep79TNUhr33MnbUKvo3R7a4wnaqJzaGqlTS4++eQT02/U2ZZeO6jrvGPBJiYmxjQFrVSpkpw6dcqc+6pVq2TZsmUSbPTzzNwHTYfA17kQg7Fv2osvvmjm1NOL3y+//CJDhgwxv7gfeughCTb9+vUzg3doE7QuXbrI2rVrZcqUKWYJVnoB1hCtd7ILFAjeX+f6f1j7j+nvKG0Kt2nTJhk7dqwZSA0IBHb7uyIv2O16nlfseC31Nq5hnqsIytiSUgcT0xtmOkCjvrfaRH7EiBFSvXp1E6p1bm5tMt+5c2fxCq+M+R3g9G3Jbpk+fbojGOmw+5UrV3aEhoY6SpUq5WjVqpXjiy++cNhFME+J0bVrV0dkZKT5bMuXL2/W9+7d6whWn332maN27dpmSoOaNWs6pkyZ4ghmy5YtM7+bdu3a5euieFVycrL5Ga1UqZKjYMGCjmuvvdbx2muvOVJSUnxdNMASu/1d4SvBfD3PS3a7lnob1zDP+Oqrr7L9PRodHe2a5mrQoEGOMmXKmP+7mme8+fdRPv3HO/EcAAAAAIDgQp9oAAAAAAAsIkQDAAAAAGARIRoAAAAAAIsI0QAAAAAAWESIBgAAAADAIkI0AAAAAAAWEaIBAAAAALCIEA0AAAAAgEWEaAAAACBA5cuXTxYuXOjrYgC2QogGAAAAfKBHjx7SuXNnXxcDQC4RogEAAAAAsIgQDQAAAPhYixYtpE+fPvLyyy9LiRIlpGzZsjJ06FC3ffbs2SO33XabFCxYUGrVqiXLly/PcpzExETp0qWLFCtWzBynU6dOcuDAAfPczp07JTw8XObMmePaf8GCBVKoUCHZvn17HpwlEBwI0QAAAIAfmDlzphQuXFh+/PFHGTNmjAwbNswVlNPT0+W+++6T0NBQ8/ykSZPklVdecfv+8+fPS9u2baVIkSLy9ddfy7fffitXX3213HXXXZKamio1a9aUN954Q5555hk5dOiQ/O9//5Onn35aRo8ebUI5AGvyORwOh8V9AQAAAHiwT/SJEyfMwGBaE52WlmbCr1Pjxo3ljjvukFGjRskXX3wh7du3l4MHD0q5cuXM80uXLpV27dpJQkKC6Vv9wQcfyIgRI2THjh1mwDGl4VlrpfU12rRpY7Z16NBBkpOTTSAPCQkxx3HuD+DSCljYBwAAAICX1a1b1209MjJSkpKSzGMNxhUrVnQFaNW0aVO3/bds2SJ79+41NdEZnTt3Tv773/+61qdNmyY1atSQ/Pnzy88//0yABnKJEA0AAAD4gauuusptXcOtNuO26vTp03LTTTfJ7NmzszxXqlQpt7B95swZE6J//fVXE9YBWEeIBgAAAPzc9ddfbwYNyxh6f/jhB7d9GjRoIPPnz5fSpUtL0aJFsz3OsWPHTDPy1157zRyre/fusnHjRjO4GABrGFgMAAAA8HOtW7c2TbCjo6NNTbL2ndYgnJEG4muuucaMyK3P79+/X1atWmVG/dZBxJQOJKbNwgcOHChjx441/bBffPFFH50VEJgI0QAAAICf06bXOoDYn3/+aQYce+KJJ2TkyJFu++j0VWvWrJFKlSqZkby19rpXr16mT7TWTM+aNUs+//xzef/996VAgQJmJHAdjGzq1KmyZMkSn50bEGgYnRsAAAAAAIuoiQYAAAAAwCJCNAAAAAAAFhGiAQAAAACwiBANAAAAAIBFhGgAAAAAACwiRAMAAAAAYBEhGgAAAAAAiwjRAAAAAABYRIgGAAAAAMAiQjQAAAAAABYRogEAAAAAEGv+D2T80vOtYM1AAAAAAElFTkSuQmCC",
|
|
"text/plain": [
|
|
"<Figure size 1200x400 with 2 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Plotting the eigenvalues and the distribution for Sigma: 0.25\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA8gAAAGJCAYAAABWyRriAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOYpJREFUeJzt3Qm8V3P+P/B3i9tCkq1CKmRJCGEsY200ZMYytpnMZJ0FYxtDISlRDMk2hbGvGSNMKDHCGLusEUaRJfnZQhR1/4/Puf/vnXvbb7r3u9zn8/E4fL/ne77n+znne+89vc5na1BeXl4eAAAAUM81zHcBAAAAoBAIyAAAACAgAwAAQAUBGQAAAARkAAAAqCAgAwAAgIAMAAAAFQRkAAAAEJABAACggoAMAEDRatCgQZx11llRiqZMmZId33XXXRfF7sYbb4wNN9wwlltuuVhppZXyXRxYKAEZAICCkgJhCoYLW5588sl8F5EaeP311+PQQw+NddddN6666qq48sorF7ptutmRvuP/+7//q9MyQk7jykcAAFBABg4cGB07dpxv/XrrrVf5+JtvvonGjf2TtpCNHz8+5s6dGxdffHG17w4Kkb8mAAAUpD322CO6deu2yG2aNm1aZ+Vh6UyfPj37v6bVFANNrAEAKKk+yKnGMgXrFJ5Ts94rrriisunuvG666abYcssto1mzZrHyyivHwQcfHFOnTq22zc477xxdunSJiRMnxi677BLNmzePNddcM84///zKbT766KOsJnvAgAHzfcakSZOyz77sssuy559++mmcfPLJsckmm8QKK6wQK664YnYz4MUXX1zs8aaypGVeqQlzhw4dqq1LtbbDhg2LjTfeODsXrVu3jt/97nfx2WefVdvu2WefjR49esSqq66anYdUa3/44YfHkvjrX/+a7b9JkyaxxhprxDHHHBOff/555eupTP37988er7baaiXdZ5zSoAYZAICC9MUXX8zXFzUFrFVWWWWh75kwYUL89Kc/jbZt22Zhdc6cOVlT7RTO5nXOOedEv3794sADD4wjjzwyPv7447j00ktjxx13zPZTtcYzhcq03/322y/b/o477ohTTz01C7kp3KbwudNOO8Xtt99eGQhzRo4cGY0aNYoDDjgge/7222/HXXfdlT1PYTSF6xTi0/tTCE9Bc1lIYTj15z7ssMPiuOOOi8mTJ2chPR3b448/ng2YlWp3d9999+z89OnTJzvmNDjYnXfeudj9p6CbznH37t3jD3/4Q3YjYPjw4fHMM89U7j8F9BtuuCFGjRqVvZZuCGy66abL5PigVpQDAEABufbaa8vTP1MXtDRp0qTatmld//79K5//7Gc/K2/evHn5+++/X7nuzTffLG/cuHG2bc6UKVPKGzVqVH7OOedU29/LL7+cbVt1/U477ZS994YbbqhcN2vWrPI2bdqU/+IXv6hcd8UVV2TbpX1U1blz5/Jdd9218vm3335bPmfOnGrbTJ48OTu2gQMHVluX9pfOR9WypGVevXv3Lm/fvn3l88ceeyx7780331xtuzFjxlRbP2rUqOz5M888U14T06dPLy8rKyvffffdqx3LZZddlu3vmmuuqVyXvp+07uOPP17sfmuyLdQGTawBAChIl19+eYwbN67acv/99y90+1Rb/OCDD8Y+++xTrRY2DQyVanmrSjWkqQlyqg1OtdS5pU2bNtGpU6d4+OGHq22faj4POeSQyudlZWWx9dZbZ7XBOal2OTWzTjXGOa+88kpWK3zQQQdVrkvNkRs2bFhZ5k8++STb/wYbbBDPP/98LAt///vfo2XLlvGTn/yk2vGl5uTps3LHl6slHz16dHz33XdLvP90nmfPnh0nnHBC5bEkRx11VNZk/N57710mxwF1TRNrAAAKUgqgixukq6rUXDiNar2gkZLnXffmm2+m6uQsDC9Iah5c1VprrTVfH+ZWrVrFSy+9VPk89eHdbbfdsmbWZ599drYuheUUmlN4zsmN6Jz676Zmzykk5yyq+XhNpONLTdRXX331RQ6clZp1/+IXv8iaSl900UVZ/+Z0g+FXv/pVFuQX5p133sn+n0J9VenGwTrrrFP5OhQbARkAgHonhdQUeFONdOofPK9Uy1rVgrZJKlp5/08a5Cv1+X3hhReia9euWVhOoTmF55xzzz036/ucBsJKQToNDpZqYVNtbCrXoqQyz/uZSdWQnTu+FI5vvvnmBe4n1yc77S/1p05zS//zn/+MsWPHZuW68MILs3XzngcodQIyAAAlIQXCNFrzW2+9Nd9r865Lo1unoJkGyVp//fWXWRlS7WsaHCvXzPqNN96Ivn37VtsmBdI0GvbVV19dbX0a/blqkF6QVGtdtVl3zrw1tun4UjPo7bffPhuZenF+9KMfZUsa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O+6IzTffPC9lAoBiYhRrACgRZ555ZvTu3TurSU61xnfeeWdMmjQpa3o9evTofBcPAAqeGmQAKBF77713/POf/4wHH3wwll9++Swwv/baa9m6n/zkJ/kuHgAUPDXIAFBCfvzjH8e4cePyXQwAKEpqkAEAoJ6YOfv76NDn3mxJj4Hq1CADQIlo2LBhNGjQYKGvz5kzp07LAwDFRkAGgBIxatSoas/T1E4TJkyI66+/PgYMGJC3cgH5l6stnjn7fzfKqj5uXiYWQOI3AQBKaJCuee2///6x8cYbx8iRI+OII47IS7mA/Ot85tj51nUb9GDl4ylDetZxiaAw6YMMACXuRz/6UTz00EP5LgYAFDw1yABQwr755pu45JJLYs0118x3UYA8mjiwR2Wz6lzN8bNndI/mZY3yXDIoLAIyAJSIVq1aVRukq7y8PL788sto3rx53HTTTXktG5BfC+pjnMKxvsdQnd8IACgRF110UbWAnEa1Xm211WKbbbbJwjMAsGgCMgCUiEMPPTTfRQAKXKoxNiAXLJyADABF7KWXXlribTfddNNaLQsAFDsBGQCKWNeuXbNm1am/8aKkbebM+d+cpwDA/ARkAChikydPzncRAKBkCMgAUMTat2+f7yIAQMkQkAGgxEycODHefffdmD17drX1P//5z/NWJgAoBgIyAJSIt99+O/bdd994+eWXq/VLzk39pA8yACxaw8W8DgAUieOPPz46duwY06dPj+bNm8err74ajz76aHTr1i3Gjx+f7+IBQMFTgwwAJeKJJ56If/3rX7HqqqtGw4YNs2WHHXaIwYMHx3HHHRcTJkzIdxEBoKAJyHWkQ597812EenV+pwzpWVD7g1Lld6WwpCbULVq0yB6nkPzBBx/EBhtskA3kNWnSpHwXDwAKnoAMACWiS5cu8eKLL2bNrLfZZps4//zzo6ysLK688spYZ5118l08ACh4AjIAlIgzzjgjvv766+zxwIEDY6+99oof//jHscoqq8TIkSPzXTwAKHgCMgCUiB49elQ+Xm+99eL111+PTz/9NFq1alU5kjUAsHBGsQaAEnHTTTdV1iDnrLzyysIxACwhARkASsSJJ54YrVu3jl/96ldx3333mfcYAGpIQAaAEvHhhx/GbbfdltUYH3jggdG2bds45phj4j//+U++iwYARUFABoAS0bhx42xgrptvvjmmT58eF110UUyZMiV22WWXWHfddfNdPAAoeAbpAoAS1Lx582zQrs8++yzeeeedeO211/JdJAAoeGqQAaCEzJw5M6tB3nPPPWPNNdeMYcOGxb777huvvvpqvosGAAVPDTIAlIiDDz44Ro8endUepz7I/fr1i2233TbfxQKAoiEgA0CJaNSoUdx+++1Z0+r0GACoGQEZAEpEaloNACw9ARkASshDDz2ULWkU67lz51Z77ZprrslbuQCgGAjIAFAiBgwYEAMHDoxu3bplcyCn+ZABgCUnIANAiRgxYkRcd9118etf/zrfRQGAomSaJwAoEbNnz47tttsu38UAgKIlIANAiTjyyCPjlltuyXcxAKBoaWINACXi22+/jSuvvDIefPDB2HTTTWO55Zar9vrQoUPzVjYAKAYCMgCUiJdeeim6du2aPX7llVeqvWbALgBYPAEZAErEww8/nO8iAEBR0wcZAErMW2+9FWPHjo1vvvkme15eXp7vIgFAURCQAaBEfPLJJ7HbbrvF+uuvH3vuuWd8+OGH2fojjjgi/vSnP+W7eABQ8ARkACgRJ554YjYw17vvvhvNmzevXH/QQQfFmDFj8lo2ACgGAjIAlIgHHnggzjvvvFhrrbWqre/UqVO88847S7XPIUOGZAN8nXDCCcuolABQuARkACgRX3/9dbWa45xPP/00mjRpUuP9PfPMM3HFFVdkU0YBQH0gIANAifjxj38cN9xwQ+XzVPM7d+7cOP/882OXXXap0b6++uqr6NWrV1x11VXRqlWrWigtABQe0zwBQIlIQTgN0vXss8/G7Nmz45RTTolXX301q0F+/PHHa7SvY445Jnr27Bndu3ePQYMGLXLbWbNmZUvOjBkzlvoYAKBoa5D1SwKAwtGlS5d44403Yocddoi99947a3K93377xYQJE2Lddddd4v3cdttt8fzzz8fgwYOXaPu0XcuWLSuXdu3a/YCjAIAirEHWLwkACk8KqKeffvpSv3/q1Klx/PHHx7hx46Jp06ZL9J6+ffvGSSedVK0GWUgGoN4E5Kr9khbX7AoAqBsvvfTSAten1l4p7K699tqLHazrueeei+nTp8cWW2xRuW7OnDnx6KOPxmWXXZY1pW7UqFG196R9Ls0gYABQEgFZvyQAKDxdu3bNwnBSXl6e/T/3PElzJKc5kVMLsIXVDqc+zC+//HK1dYcddlhsuOGGceqpp84XjgGgXgfkXL+k1MR6SfslDRgwIIpRhz73Vns+ZUjPJd6Wwub7Kmy+n9L97mryd5WaGzVqVBZi//znP8fWW2+drXv66afjwgsvjP79+8f3338fffr0iTPOOCMuuOCCBe6jRYsWWV/mqpZffvlYZZVV5lsPAPU6IOuXBACF65xzzomLL744evToUbluk002ibXWWiv69euXheUUdv/0pz8tNCADQH1Wo4CsXxIAFK7UNLp9+/bzrU/rcs2mUzPsDz/8sEb7HT9+/DIrIwCUzDRPuX5JL7zwQuXSrVu3bMCu9Fi/JADIn9RPOE3BmOZAzvnuu++ydem15P3334/WrVvnsZQAUCI1yPolAUDhuvzyy+PnP/951qQ6Nw1jurGdWnuNHj06e/7222/H0UcfneeSAkCJzYMMABSW7bbbLiZPnhw333xzvPHGG9m6Aw44IH71q19lN7mTX//613kuJQCUcEDWLwkACkcKwr///e/zXQwAKEpqkAGgiN1zzz2xxx57ZHMcp8eLkppfAwALJyADQBHbZ599Ytq0abH66qtnjxemQYMGWV9kAGDhBGQAKGJz585d4GMAoJaneQIACs+ee+4ZX3zxReXzNK3T559/Xvn8k08+ic6dO+epdABQPARkAChyY8eOjVmzZlU+P/fcc+PTTz+tfP7999/HpEmT8lQ6ACgeAjIAFLny8vJFPgcAloyADAAAAAIyABS/NEJ1WuZdBwDUjFGsAaDIpSbVhx56aDRp0iR7/u2338bvf//7WH755bPnVfsnAwALJyADQJHr3bt3teeHHHLIfNv85je/qcMSAUBxEpABoMhde+21+S4CAJQEfZABAABAQAYAAIAKAjIAAAAIyAAAAFBBQAYAAAABGQAAACoIyAAAACAgAwAAQAUBGQAAAARkAAAAqCAgAwAAgIAMAAAAFQRkAAAAEJABAACggoAMAAAAEdE43wUoZh363Fsn+5oypOcy+5z6Yll+NzX9fmr62aX4/S7uHCzLY573sxa378VtX/X1UvxuAABYODXIAAAAICADAABABQEZAAAABGQAAACoICADAACAgAwAAAAVBGQAAAAQkAEAAKCCgAwAAAACMgAAAFQQkAEAAEBABgAAgAoCMgAAAAjIAAAAUEFABgAAAAEZAAAAKgjIAAAAICADAABABQEZAAAABGQA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G5TX4F8EH3zwQay55prxn//8J7bddtvK9aeccko88sgj8dRTT833nrPOOisGDBhQs9IDQB2bOnVqrLXWWvkuRkl47733ol27dvkuBgDU+HpfoxrkpZFqm1Of5Zy5c+fGp59+Gqussko0aNBgiZJ+usimA1lxxRWj2Dmewldqx+R4Cl+pHVOxHU+6T/zll1/GGmuske+ilIx0LtP336JFiyW61peKYvvZLwbOae1wXpc957Twz+mSXu9rFJBXXXXVaNSoUXz00UfV1qfnbdq0WeB7mjRpki1VrbTSSlFT6aSU0g+b4yl8pXZMjqfwldoxFdPxtGzZMt9FKCmp+1V9ro0vpp/9YuGc1g7nddlzTgv7nC7J9b5Gg3SVlZXFlltuGQ899FC1GuH0vGqTawAAACg2NW5inZpL9+7dO7p16xZbb711DBs2LL7++utsVGsAAACoNwH5oIMOio8//jjOPPPMmDZtWnTt2jXGjBkTrVu3rpUCpubZac7leZtpFyvHU/hK7ZgcT+ErtWMqteOBJeVnf9lzTmuH87rsOaelc05rNIo1AAAAlKoa9UEGAACAUiUgAwAAgIAMAAAAFQRkAAAAKOSA/Oijj8bPfvazWGONNaJBgwZx1113RTEbPHhwbLXVVtGiRYtYffXVY5999olJkyZFsRo+fHhsuummlRN3p3mw77///igVQ4YMyX7uTjjhhChWZ511VnYMVZcNN9wwitn7778fhxxySKyyyirRrFmz2GSTTeLZZ5+NYtShQ4f5vp+0HHPMMVGM5syZE/369YuOHTtm3826664bZ599dhgHklJXatf3QlQK1+RCUUrX0ULh+lf7uS+dyzSDUtu2bbNz3L1793jzzTej3gXkNLfyZpttFpdffnmUgkceeST7h++TTz4Z48aNi++++y5233337DiL0VprrZVdsJ577rnsD+uuu+4ae++9d7z66qtR7J555pm44oorshsAxW7jjTeODz/8sHL597//HcXqs88+i+233z6WW2657GbMxIkT48ILL4xWrVpFsf6cVf1u0t+F5IADDohidN5552U3zi677LJ47bXXsufnn39+XHrppfkuGtSqUru+F5pSuibnW6ldRwuF61/t5750Pi+55JIYMWJEPPXUU7H88stHjx494ttvv41aUV4EUjFHjRpVXkqmT5+eHdcjjzxSXipatWpV/re//a28mH355ZflnTp1Kh83blz5TjvtVH788ceXF6v+/fuXb7bZZuWl4tRTTy3fYYcdyktV+llbd911y+fOnVtejHr27Fl++OGHV1u33377lffq1StvZYJ8KMXre76U0jW5EJT6dTRfXP9qN/elfxe1adOm/C9/+Uvlus8//7y8SZMm5bfeemt5bSjYGuRS98UXX2T/X3nllaMUmpbcdttt2d2f1NS6mKVagJ49e2ZNN0pBan6Smquss8460atXr3j33XejWN1zzz3RrVu3rIY1NWPcfPPN46qrropSMHv27Ljpppvi8MMPz5oWFaPtttsuHnrooXjjjTey5y+++GLWYmGPPfbId9GgTpXS9T3fSu2anG+lfB3NJ9e/2jV58uSYNm1atb8DLVu2jG222SaeeOKJWvnMxrWyVxZp7ty5WT+a1MylS5cuUaxefvnlLBCn5g0rrLBCjBo1Kjp37hzFKoX8559/PmvOVQrSH47rrrsuNthgg6wJ74ABA+LHP/5xvPLKK1lfuWLz9ttvZ02YTjrppDjttNOy7+m4446LsrKy6N27dxSz1Nfm888/j0MPPTSKVZ8+fWLGjBlZP/dGjRplN87OOeec7MYM1Belcn0vBKV2TS4EpXwdzSfXv9qVwnHSunXrauvT89xry5qAnKc7oimkFHN/0CQFrxdeeCG7W37HHXdkf1xTX6xiDMlTp06N448/Pus/1rRp0ygFVe9cpr5bKTC3b98+br/99jjiiCOiGP/hme58n3vuudnzdOc7/R6l/ijFfmG/+uqrs+8r1fYXq/RzdfPNN8ctt9yS9X1PfxtSUEjHVOzfD9S363u+leI1uRCU8nU0n1z/So+AXMeOPfbYGD16dDZaWxroqpilO47rrbde9njLLbfM7kRefPHF2WAaxSYNNjZ9+vTYYostKtelO4Dpe0qDLsyaNSu7K1jMVlpppVh//fXjrbfeimKURi6c9+bLRhttFP/4xz+imL3zzjvx4IMPxp133hnF7M9//nN2F/3ggw/OnqeRUdOxpRF+/QOB+qCUru/5Vh+uyflQqtfRfHP9q11t2rTJ/v/RRx9lP8M56XnXrl1r5TP1Qa4jqc95unimZsj/+te/sqHgS/HOZLpoFaPddtstazKe7vrllnSXNTWPSY9L4UL81VdfxX//+99qf1yKSWqyOO/UKam/T6oVL2bXXntt1hcs9bMrZjNnzoyGDatfUtLvTfq7AKWsPlzf61p9uCbnQ6leR/PN9a92pb+pKSSnft45qUl7Gs26tsY+alzI/5ivWtOVOminP4pp0Iu11147irHZVWp6cffdd2f9P3Nt5lMn8zSfV7Hp27dv1iQ0fRdffvlldmzjx4+PsWPHRjFK38m8/cXSEPJpnsBi7Ud28sknZ3PKpQvfBx98EP3798/+YP/yl7+MYnTiiSdmA2GkpmEHHnhgPP3003HllVdmS7FKF88UkNMd5saNC/bP8RJJP2upz1X6m5CamE2YMCGGDh2aDTwGpazUru+FoBSvyYWgFK+jhcD1r/ZzX2qyPmjQoOjUqVMWmNO806kJe5p3vlaUF6iHH344G+Z73qV3797lxWhBx5KWa6+9trwYpeHs27dvX15WVla+2mqrle+2227lDzzwQHkpKfYpJQ466KDytm3bZt/RmmuumT1/6623yovZP//5z/IuXbpkQ/tvuOGG5VdeeWV5MRs7dmz2d2DSpEnlxW7GjBnZ78vaa69d3rRp0/J11lmn/PTTTy+fNWtWvosGtarUru+FqtivyYWi1K6jhcD1r/ZzX5rqqV+/fuWtW7fOfnZT7qjNfzs1SP+pnegNAAAAxUMfZAAAABCQAQAAoIKADAAAAAIyAAAAVBCQAQAAQEAGAACACgIyAAAACMgAAABQQUAGAIAC1aBBg7jrrrvyXQyoNwRkAACoBYceemjss88++S4GUAMCMgAAAAjIAABQ+3beeec47rjj4pRTTomVV1452rRpE2eddVa1bd58883Ycccdo2nTptG5c+cYN27cfPuZOnVqHHjggbHSSitl+9l7771jypQp2Wuvv/56NG/ePG655ZbK7W+//fZo1qxZTJw4sQ6OEoqfgAwAAHXg+uuvj+WXXz6eeuqpOP/882PgwIGVIXju3Lmx3377RVlZWfb6iBEj4tRTT632/u+++y569OgRLVq0iMceeywef/zxWGGFFeKnP/1pzJ49OzbccMO44IIL4uijj45333033nvvvfj9738f5513Xha4gcVrUF5eXr4E2wEAADXsg/z5559ng2ylGuQ5c+ZkwTZn6623jl133TWGDBkSDzzwQPTs2TPeeeedWGONNbLXx4wZE3vssUeMGjUq68t80003xaBBg+K1117LBu9KUjBOtcnpM3bfffds3V577RUzZszIwnajRo2y/eS2Bxat8WJeBwAAloFNN9202vO2bdvG9OnTs8cp9LZr164yHCfbbrttte1ffPHFeOutt7Ia5Kq+/fbb+O9//1v5/Jprron1118/GjZsGK+++qpwDDUgIAMAQB1Ybrnlqj1PwTU1rV5SX331VWy55ZZx8803z/faaqutVi1If/3111lA/vDDD7MgDiwZARkAAPJso402ygbgqhpon3zyyWrbbLHFFjFy5MhYffXVY8UVV1zgfj799NOsaffpp5+e7atXr17x/PPPZwN1AYtnkC4AAMiz7t27Z82ie/fundUAp77KKeRWlcLuqquumo1cnV6fPHlyjB8/PhsdOw3IlaRBuVJT7TPOOCOGDh2a9Xs++eST83RUUHwEZAAAyLPUHDoNxvXNN99kg3cdeeSRcc4551TbJk3h9Oijj8baa6+djXidap2POOKIrA9yqlG+4YYb4r777osbb7wxGjdunI2YnQb2uuqqq+L+++/P27FBMTGKNQAAAKhBBgAAgAoCMgAAAAjIAAAAUEFABgAAAAEZAAAAKgjIAAAAICADAABABQEZAAAABGQAAACoICADAACAgAwAAACR+X9LSvJEfUb14QAAAABJRU5ErkJggg==",
|
|
"text/plain": [
|
|
"<Figure size 1200x400 with 2 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Plotting the eigenvalues and the distribution for Sigma: 0.5\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/plain": [
|
|
"<Figure size 1200x400 with 2 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Plotting the eigenvalues and the distribution for Sigma: 1\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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bNnS0r9/f9t6WlqaJTIy0jJ27FiPtssbnTp1Sm+VWdauXevppniVixcvWmrXrm1ZuXKlpW3btpbnnnvO003yCq+88orljjvu8HQzvFaXLl0sTz75pMO2hx56yNK7d29LoNO/M4sXL7atp6enW8LDwy1vvfWWbdv58+ctISEhlo8//thDrUSg4lroPFw/nYvrrmtwvfa/azwZ5FykpqbKli1bTBrfqmjRomZ9w4YNHm2bN7pw4YL5Wq5cOU83xatoZqFLly4OP0cQ+eKLL6RFixbSo0cP0y2xadOmMmPGDE83y2u0adNGVq9eLb/99ptZ//nnn+WHH36Qzp07e7ppXufgwYNy4sQJh9+x0qVLmyEx/K2Gu3EtdB6un87Fddc1uF773zW+mEuO6ifOnDljxhVUqlTJYbuu79mzx2Pt8kbp6elmbJB23WnQoIGnm+M1FixYYLrmaxcxODpw4IDpkqRDGF599VVzjp599lkJDg6W2NhYCXSDBg2SpKQkqVu3rgQFBZm/Ra+//rr07t3b003zOnrhVNn9rbY+B7gD10Ln4frpfFx3XYPrtf9d4wmQ4bS7vDt37jR3zJDh8OHD8txzz5kxaVrgDVn/I6l3st944w2zrney9WdIx5dwoRZZtGiRzJs3T+bPny/169eX7du3m/94awELzg/gnbgWOgfXT9fguusaXK/9D12sc1G+fHlzJ+jkyZMO23U9PDzcY+3yNgMGDJClS5fKd999J1WqVPF0c7yGds/XYm7NmjWTYsWKmUWLuWiRAX2sdxgDmVYijI6OdthWr149SUxM9FibvMlLL71k7ko/8sgjpsro448/Li+88IKpmAtH1r/H/K2GJ3EtdB6un67Bddc1uF773zWeADkX2uWkefPmZlyB/d03XW/durUEOh1Hr/8hWLx4sXz77bemvD2u6dChg+zYscPcSbQueudWu9zoY735Esi0C2LmqVB0/E716tU91iZvcvnyZVPzwJ7+zOjfIDjSvz16kbT/W63d3bTSJX+r4WpcC52P66drcN11Da7X/neNp4t1HnSchnaP0D/MLVu2lIkTJ5pS5H379pVAp13JtDvJ559/buZ/tI4D0IHzOkdZoNNzknkMmpal17kHGZsm5u6qFrbQrl49e/Y084tPnz7dLBAzH6COYapWrZrpsrVt2zaZMGGCPPnkkxKILl26JPHx8Q5FO/Q/yloISc+RdmcbM2aM1K5d21xMdU5K7d6mc9ICrsS10Pm4froG113X4Hrth9d4l9TG9jPvv/++pVq1apbg4GAz7dPGjRs93SSvoD8+2S2zZs3ydNO8FtNUOPryyy8tDRo0MKX669ata5k+fbqnm+Q1kpKSzM+K/u0JDQ211KxZ0/Laa69ZUlJSLIHou+++y/bvTWxsrG0aiKFDh1oqVapkfp46dOhg2bt3r6ebjQDAtdA9uH46B9dd5+N67X/X+CL6j2tCbwAAAAAAfAdjkAEAAAAAIEAGAAAAACADATIAAAAAAATIAAAAAABkIEAGAAAAAIAAGQAAAACADATIAAAAAAAQIAMAAAAAkIEAGQAAAPBSRYoUkSVLlni6GUDAIEAGAAAAXKBPnz7SvXt3TzcDQAEQIAMAAAAAQIAMAAAAuF67du3k2WeflZdfflnKlSsn4eHhMmLECId99u3bJ3fddZeEhoZKdHS0rFy5MstxDh8+LD179pQyZcqY43Tr1k0SEhLMc3v27JGwsDCZP3++bf9FixZJ8eLFZdeuXW74lIDvI0AGAAAA3ODDDz+UEiVKyE8//STjx4+XUaNG2YLg9PR0eeihhyQ4ONg8P3XqVHnllVccXn/16lWJiYmRkiVLyvfffy8//vij3HjjjXLvvfdKamqq1K1bV/7973/LP/7xD0lMTJQjR47IM888I2+++aYJuAHkrYjFYrHkYz8AAAAABRyDfP78eVNkSzPIaWlpJrC1atmypdx9990ybtw4+eabb6RLly5y6NAhiYyMNM8vX75cOnfuLIsXLzZjmefOnStjxoyR3bt3m+JdSgNjzSbre3Tq1Mlsu//++yUpKckE20FBQeY41v0B5K5YHs8DAAAAcIJGjRo5rEdERMipU6fMYw16q1ataguOVevWrR32//nnnyU+Pt5kkO1duXJF9u/fb1ufOXOm1KlTR4oWLSq//vorwTFQAATIAAAAgBvccMMNDusauGrX6vy6dOmSNG/eXObNm5fluQoVKjgE0snJySZAPn78uAnEAeQPATIAAADgYfXq1TMFuOwD2o0bNzrs06xZM1m4cKFUrFhRSpUqle1xfv/9d9O1+7XXXjPH6t27t2zdutUU6gKQN4p0AQAAAB7WsWNH0y06NjbWZIB1rLIGufY02C1fvrypXK3PHzx4UNasWWOqY2tBLqVFubSr9pAhQ2TChAlm3POLL77ooU8F+B4CZAAAAMDDtDu0FuP6448/TPGup59+Wl5//XWHfXQKp3Xr1km1atVMxWvNOj/11FNmDLJmlOfMmSNfffWVfPTRR1KsWDFTMVsLe82YMUO+/vprj302wJdQxRoAAAAAADLIAAAAAABkIEAGAAAAAIAAGQAAAACADATIAAAAAAAQIAMAAAAAkIEAGQAAAAAAAmQAAAAAADIQIAMAAAAAQIAMAAAAAEAGAmQAAAAAAAiQAQAAAAAQ4/8AjuwdMmkcAE8AAAAASUVORK5CYII=",
|
|
"text/plain": [
|
|
"<Figure size 1200x400 with 2 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"k = 10\n",
|
|
"n = 200\n",
|
|
"for sigma in [0.1, 1/4, 0.5, 1]:\n",
|
|
" plot_eigenvalues(sigma, n, k)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 46,
|
|
"id": "0fb32d82",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def spectral_clustering(sigma, k: int) -> np.ndarray:\n",
|
|
" \"\"\"Perform spectral clustering on the data.\"\"\"\n",
|
|
" X = create_X(sigma, n=200).reshape(-1, 1)\n",
|
|
" W = compute_W_matrix(sigma, X)\n",
|
|
" L = compute_laplacian(W)\n",
|
|
"\n",
|
|
" _, eigenvectors = sort_eigenvalues(L, k)\n",
|
|
" U_normalized = eigenvectors / np.linalg.norm(eigenvectors, axis=1, keepdims=True)\n",
|
|
"\n",
|
|
" kmeans = KMeans(n_clusters=k)\n",
|
|
"\n",
|
|
" return X, kmeans.fit_predict(U_normalized)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 48,
|
|
"id": "57c342d0",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"/var/folders/tp/_ld5_pzs6nx6mv1pbjhq1l740000gn/T/ipykernel_20129/3954669387.py:28: DeprecationWarning: Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. (Deprecated NumPy 1.25.)\n",
|
|
" W[i, j] = 0 if i == j else np.exp(-(np.abs(X[i] - X[j]) ** 2) / (2 * sigma**2))\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"Text(0.5, 0, 'Data Points')"
|
|
]
|
|
},
|
|
"execution_count": 48,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOXJJREFUeJzt3QucTeX+x/Hfnqtb434JM27JuMtdKRWh1OFEyVGuceoI0alIpVKpnISQ6EiK+EskR4RKTpRrrnHKbVzH3WCYYWb9X7+Hvdszs2fMMGNmnv15v17LmLXX2nuttffs9d3P83vWdjmO4wgAAIAlArJ7AwAAADIT4QYAAFiFcAMAAKxCuAEAAFYh3AAAAKsQbgAAgFUINwAAwCqEGwAAYBXCDQAAsArhBoBPr7zyirhcrky9z927d5v7nDJliuRG3bp1k/Lly2f3ZuRI+pzqc6vPMZDdCDdAGjZt2iQdOnSQcuXKSZ48eaRMmTJyzz33yPvvv5/dmyaxsbEmgPzwww+SE+h2PPjgg1KqVCkJCQmREiVKyAMPPCBffvnldduGrVu3mmNi4wn2zjvvNOHBPeXNm1dq1aolo0aNksTERMmJxo8fn2uDLHI3wg2QihUrVkj9+vVlw4YN0qtXLxk7dqw8/vjjEhAQIKNHj84R4ebVV1/NEeFm6NChctddd8nmzZvl73//u0yYMEGeffZZOXPmjLRv316mT59+3cKNHpOsCjeTJk2S7du3S3YpW7asfPrpp2YaPny4CdwDBgyQl156SXIiwg2yS1C2PTKQw73xxhtSsGBBWb16tRQqVCjJbYcPH5bc5uzZs5I/f/5Mv98vvvhCXnvtNdPCpSEmODjYc5sGnEWLFsmFCxckN3MfO+99yw76enz00Uc9vz/xxBMSGRlpWhL1OQgMDMzW7QNyClpugFTs2LFDqlevniLYKO1y8abdBE899ZRMmzZNqlSpYj5R16tXT3788ccU6+7fv1969OghJUuWlNDQUPMYkydPTrHc+fPnTRfLzTffbO7vxhtvNN0+ul3aMlG8eHGznLZUuLsqdHl3bUiBAgXMsvfdd5/ccMMN0rlzZ3Pb8uXL5aGHHpKIiAjz+OHh4ebT/7lz567qOGmrQZEiRcw++Dr5t2rVSu6///40u1t0Sk99y4wZM8xx1f0JCwuTmjVrelrRtIVA90tpK5L7mHi3bH3zzTdy++23m6Ci99GmTRvZsmVLisdN7dgl3yZ3DdG//vUvmThxolSqVMkc0wYNGphQnNysWbOkWrVq5vmsUaOGzJkz55rqePR+9LFOnz6dInB/9tln5lhp95U+P4888ojs3bs3yTK///67aVnTrkS9L20Z0uVOnTqVZP98tb54v9580X3SY7ts2TLPc+F+njXs6uu2cuXK5nGLFi0qTZs2lcWLF1/VcQCSo+UGSIXW2axcudJ0teiJ6Er0TXzmzJnSr18/c4LTJvnWrVvLqlWrPOtHR0dL48aNPWFIA4qecHv27CkxMTHy9NNPm+USEhJMIFi6dKk52fTv39+cwPTNX7enRYsW8sEHH8iTTz4pf/3rX03oUVqD4Xbx4kUTLPSkoSfffPnyeU6w2qWl6+pJRbdPP/nv27fP3JYRenLctm2bCWsaArKS7nunTp2kefPm8vbbb5t5v/32m/z000/m+Nxxxx3m2I8ZM0ZeeOEFqVq1qlnG/VO7crp27WqOia6vx0CPoR6f9evXJwkYqR271GiLlT4/2iWnz+0777xjnpOdO3d6At9//vMf6dixowlk2qV04sQJ87xrHde1cAcQ7xCurY4aOh9++GHTlXrkyBHzHOsx0n3VZePj480+xsXFSd++fU3A0eA9f/58OXnypGkluhZaC6T3q0FxyJAhZp4GeqWhSI+BblvDhg3Na3/NmjWybt06U9MGXDMHgE/ffvutExgYaKYmTZo4zz33nLNo0SInPj4+xbL6p6TTmjVrPPP27Nnj5MmTx/nrX//qmdezZ0/nxhtvdI4ePZpk/UceecQpWLCgExsba36fPHmyub+RI0emeKzExETz88iRI2aZoUOHplima9eu5rZBgwaluM39GN6GDx/uuFwus81uer9Xeov46quvzDLvvfeekx67du0yy3/88ceeec2aNTOTr30oV66c5/f+/fs7YWFhzsWLF1O9/1mzZpn7//7775PMP336tFOoUCGnV69eSeYfOnTIHHfv+Wkdu+Tb5N6fokWLOsePH09xXL7++mvPvJo1azply5Y12+L2ww8/mOW87zM1eowiIyPN867Ttm3bnGeffdas36ZNG89yu3fvNq/ZN954I8n6mzZtcoKCgjzz169fb9bVY5aR58st+WtPl9F5uo5b9erVfT63tWvXTrLNQGajWwpIhX6C1Jabv/zlL6aoWD+N6ydd/aQ9b968FMs3adLEdAO4abdP27ZtTc2JtsTo+WD27NlmBJH+/+jRo55J71e7AvSTq9LlihUrZj75JpeR4dnaOpOcdlN415Lo4996661mm/RTfUboJ26V1a02SlsbdHuvputC19HWCG358T7uWqPSqFEj+f7779N17FKjLTKFCxf2/K5dX0pbbtSBAwfMyLsuXbqYlgy3Zs2amZac9NJWMm3t00lrbUaMGGFen97dRjo6TUdPaauN975qy4x2A7n31d0yo69PbcW6nvS51C4rbfkDsgLhBkiD1jPoyUK7ELT7ZvDgwab7QYtndWSONz1xJKf1Mnri0G4BnfQEq7UZ7hOUe+revbtZ3l03ofUeWrsTFHT1Pce6rtZQJBcVFWXqPLQOQ0+0+vh6klXuWov00roXpcckq/3jH/8wx/Pee+81+6VdYQsXLkzXuu6T6N13353i2H/77bcp6lVSO3ap0SDrzR109HWj9uzZY37edNNNKdb1NS812nWmQU0DiXZ7atDW15XWrXjvqwZVfT0m31ftxnPva4UKFWTgwIHy0UcfmSCtAXvcuHEZfg1cDS1+1r8FfT413Gnh+caNG7P8ceE/qLkB0kGv26JBRyd9Q9YwovUpOgQ6vdzXItHRLlr74Yt3zcy10rofHbbuTVuQtEXq+PHj8vzzz5tP/1pcq7UWGngyer0UXV9pq8TV0paoS70ckmJbkxdx//rrr+bErnVKOn388cemNeSTTz5J8zHc+6V1N9qCkVzyEOnr2KUltVFKvvbrWuhzpfVWbrfddpvUrVvX1BhprZF7X/WY6vHxtV3eLUfvvvuued6/+uorE/K0ZklrYX7++WcT7lJrJUz+3GSU1v5ogHc/rgas9957z1xCQOtwgGtFuAEySK99ow4ePJhkvq8m9v/973+mGNU9skm7b/TE4H2C8kVH3fzyyy9mVElqw4+v5urBGkJ0mzQMaChwu9pRKhr0tIVJT1I6asn7xJle2srh7r7x5m7tSB4ytVtPJz2Ja2vOhx9+aIpntQUktWOix9MdkK507LOqOF398ccfKW7zNS+9NAxrWNZj8M9//tO0IOm+aqjSlhl9fq5EW050evHFF821nTQwach4/fXXPS1Q2spypecmo69RbTnUDwk66fWQNPBooTHhBpmBbikgFVqb4OuT94IFC8xPPal70/oc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",
|
|
"text/plain": [
|
|
"<Figure size 640x480 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"X, clusters = spectral_clustering(1/4, k=4)\n",
|
|
"\n",
|
|
"plt.scatter(X, np.zeros_like(X), c=clusters, cmap=\"magma\")\n",
|
|
"plt.title(\"Spectral Clustering Results\")\n",
|
|
"plt.xlabel(\"Data Points\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "5cf0a967",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "studies",
|
|
"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.13.9"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|