diff --git a/.gitignore b/.gitignore index f0028f5..5f9b2d6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ data/jio_mart_items.csv /data /Lab_2/lab_2.ipynb -/Lab_3/lab_3.ipynb \ No newline at end of file +/Lab_3/lab_3.ipynb +/Lab_4/lab_4.ipynb +/Lab_4/lab_products_clustering.ipynb \ No newline at end of file diff --git a/Lab_4/lab4.ipynb b/Lab_4/lab4.ipynb index e69de29..1be1806 100644 --- a/Lab_4/lab4.ipynb +++ b/Lab_4/lab4.ipynb @@ -0,0 +1,316 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "e7893b9e", + "metadata": {}, + "source": [ + "# Лабораторная работа: Методы искусственного интеллекта\n", + "## Задача кластеризации продуктов с использованием cuML\n", + "### Вариант: Продукты\n", + "В данной работе используется библиотека cuML для GPU-ускоренного анализа данных. Цель: провести кластеризацию продуктов на основе их характеристик." + ] + }, + { + "cell_type": "markdown", + "id": "e3834005", + "metadata": {}, + "source": [ + "### Загрузка и исследование данных" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "5530d138", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 162313 entries, 0 to 162312\n", + "Data columns (total 5 columns):\n", + " # Column Non-Null Count Dtype\n", + "--- ------ -------------- -----\n", + " 0 category 162313 non-null object\n", + " 1 sub_category 162313 non-null object\n", + " 2 href 162313 non-null object\n", + " 3 items 162280 non-null object\n", + " 4 price 162282 non-null float64\n", + "dtypes: float64(1), object(4)\n", + "memory usage: 28.9+ MB\n", + "None\n", + " category sub_category \\\n", + "0 Groceries Fruits & Vegetables \n", + "1 Groceries Fruits & Vegetables \n", + "2 Groceries Fruits & Vegetables \n", + "3 Groceries Fruits & Vegetables \n", + "4 Groceries Fruits & Vegetables \n", + "\n", + " href \\\n", + "0 https://www.jiomart.com/c/groceries/fruits-veg... \n", + "1 https://www.jiomart.com/c/groceries/fruits-veg... \n", + "2 https://www.jiomart.com/c/groceries/fruits-veg... \n", + "3 https://www.jiomart.com/c/groceries/fruits-veg... \n", + "4 https://www.jiomart.com/c/groceries/fruits-veg... \n", + "\n", + " items price \n", + "0 Fresh Dates (Pack) (Approx 450 g - 500 g) 109.0 \n", + "1 Tender Coconut Cling Wrapped (1 pc) (Approx 90... 49.0 \n", + "2 Mosambi 1 kg 69.0 \n", + "3 Orange Imported 1 kg 125.0 \n", + "4 Banana Robusta 6 pcs (Box) (Approx 800 g - 110... 44.0 \n" + ] + } + ], + "source": [ + "import cudf\n", + "import cuml\n", + "from cuml.preprocessing import LabelEncoder\n", + "from cuml.decomposition import PCA\n", + "from cuml.cluster import KMeans\n", + "import cupy as cp\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Загрузка данных\n", + "df = cudf.read_csv('/mnt/d/AIM-PIbd-31-Medvedkov-A-D//data/jio_mart_items.csv')\n", + "print(df.info())\n", + "print(df.head())" + ] + }, + { + "cell_type": "markdown", + "id": "49112908", + "metadata": {}, + "source": [ + "### Предварительная обработка данных" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "1e3ef9fa", + "metadata": {}, + "outputs": [], + "source": [ + "# Обработка пропущенных значений\n", + "df = df.dropna()\n", + "\n", + "# Кодирование категориального признака 'items'\n", + "label_encoder = LabelEncoder()\n", + "df['items_encoded'] = label_encoder.fit_transform(df['items'])\n", + "\n", + "# Нормализация числовых признаков\n", + "numeric_features = ['items_encoded', 'price']\n", + "df_scaled = df[numeric_features].astype('float32')\n", + "\n", + "# Преобразование данных в формат cupy\n", + "X = cp.asarray(df_scaled.values)" + ] + }, + { + "cell_type": "markdown", + "id": "ff5f1f8f", + "metadata": {}, + "source": [ + "### Понижение размерности и визуализация данных" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "e15c80bb", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABYO0lEQVR4nO3dd1xT5+IG8CeABJAhqIADFbeIe2KH2mLRWiudlp8trtrq1VutXltpqziq2OFtrXX3KlYcvVqrdYHWUbVinVTBPXEwVDRhyMz7+8NLSkxCEgwZh+f7+eTT5uTN4T3HjCfvOjIhhAARERGRRDhYuwJERERE5sRwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQzYnNjYWMplM4+br64vevXtjx44d1q4eEVWyXr16abz/fXx80KVLFyxfvhwqlUqr/L59+/Dqq6/C398fzs7O8PX1xYABA7Bx40ad+z979ixkMhlcXFzw4MGDSj4asgaGG7JZM2bMwKpVq/Djjz/io48+wp07d/Diiy9i69at1q4aEVWy+vXrY9WqVVi1ahWmTJmC4uJijBgxAp988olGuejoaPTu3RvJycl4//33sXjxYkyaNAk5OTl47bXXsGbNGq19x8XFwd/fHwCwYcMGixwPWZaMF84kWxMbG4thw4bh6NGj6Ny5s3r7/fv34efnhzfeeAOrV6+2Yg2JqDL16tULd+/eRXJysnpbXl4eWrRogfv37+P+/fuoVq0aNmzYgDfeeAOvv/461qxZg2rVqmnsJyEhAUVFRXjppZfU24QQaNy4MV599VVcvXoV9+/fx969ey12bGQZbLkhu1GjRg24urrCyclJve3atWuQyWSIjY3VKDtmzBjIZDIMHTpUvW3jxo3o2rUrfHx84OrqipYtW+KLL75Aab7fu3cvZDIZfvnlF62/vWbNGshkMiQmJgIATp06haFDh6Jx48ZwcXGBv78/hg8fjnv37umse6NGjbS62mQyGfbt26dRpmx9AWD9+vWQyWRo1KiRetv58+fx3HPPwd/fH3K5HAEBARg1ahSysrLUZQoLCzF16lR06tQJXl5eqF69Op555hmtD/HS8/f1119r1Tk4OBi9evXS2NarVy+tbUePHlUfT1k5OTmYOHEiGjdu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3ERFRaFfv35o0KABsrOzsWbNGuzbtw8JCQkAgMjISNSrVw8xMTEAgBkzZqB79+5o2rQpHjx4gK+++grXr1/Hu+++a83DICIiIhti1XCTmZmJyMhIpKWlwcvLC23btkVCQgL69OkDAEhNTYWDw9+NS/fv38fIkSORnp4Ob29vdOrUCYcOHTJqfA4RERFVDVYfUGxppgxIIiIiIttgyve3zY25ISIiInoSDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKVYNN4sWLULbtm3h6ekJT09PhISEYMeOHeU+Z/369WjZsiVcXFzQpk0bbN++3UK1JSIiIntg1XBTv359zJkzB8ePH8exY8fw3HPPYeDAgUhJSdFZ/tChQ4iIiMCIESNw8uRJhIeHIzw8HMnJyRauOREREdkqmRBCWLsSZfn4+OCrr77CiBEjtB4bNGgQcnNzsXXrVvW27t27o3379li8eLFR+1cqlfDy8oJCoYCnp6fZ6k1ERESVx5Tvb5sZc1NSUoJ169YhNzcXISEhOsskJiYiNDRUY1tYWBgSExP17regoABKpVLjRkRERNJl9XBz+vRpuLu7Qy6XY9SoUfjll18QFBSks2x6ejr8/Pw0tvn5+SE9PV3v/mNiYuDl5aW+BQQEmLX+REREZFusHm5atGiBpKQk/Pnnnxg9ejSGDBmCM2fOmG3/UVFRUCgU6tuNGzfMtm8iIiKyPU7WroCzszOaNm0KAOjUqROOHj2KefPmYcmSJVpl/f39kZGRobEtIyMD/v7+evcvl8shl8vNW2kiIiKyWVZvuXmcSqVCQUGBzsdCQkKwe/dujW27du3SO0aHiIiIqh6rttxERUWhX79+aNCgAbKzs7FmzRrs27cPCQkJAIDIyEjUq1cPMTExAIBx48ahZ8+emDt3Lvr3749169bh2LFjWLp0qTUPg4iIiGyIVcNNZmYmIiMjkZaWBi8vL7Rt2xYJCQno06cPACA1NRUODn83LvXo0QNr1qzBZ599hk8++QTNmjXDpk2bEBwcbK1DICIiIhtjc+vcVDauc0NERGR/7HKdGyIiIiJzYLghIiIiSWG4ISIiIklhuCEiIiJJYbghIiIiSWG4ISIiIklhuCEiIiJJYbghIiIiSWG4ISIiIklhuCEiIiJJYbghIiIiSWG4ISIiIklhuCEiIiJJYbghIiIiSXGydgWIiKqSEpXAkatZyMzOh6+HC7oG+sDRQWbtahFJCsMNEZGFxCenYfqWM0hT5Ku31fFyQfSAIPQNrmPFmhFJC7uliIgsID45DaPjTmgEGwBIV+RjdNwJxCenWalmRNLDcENEVMlKVALTt5yB0PFY6bbpW86gRKWrBBGZiuGGiKiSHbmapdViU5YAkKbIx5GrWZarFJGEMdwQEVWyzGz9waYi5YiofAw3RESVzNfDxazliKh8DDdERJWsa6AP6ni5QN+EbxkezZrqGuhjyWoRSRbDDRFRJXN0kCF6QBAAaAWc0vvRA4K43g2RmTDcEBFZQN/gOlj0dkf4e2l2Pfl7uWDR2x25zg2RGXERPyIiC+kbXAd9gvy5QjFRJWO4ISKyIEcHGUKa1LR2NYgkjd1SREREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKVYNNzExMejSpQs8PDzg6+uL8PBwnD9/vtznxMbGQiaTadxcXHg9FiIiInrEquHm999/x5gxY3D48GHs2rULRUVFeOGFF5Cbm1vu8zw9PZGWlqa+Xb9+3UI1JiIiIltn1UX84uPjNe7HxsbC19cXx48fx7PPPqv3eTKZDP7+/pVdPSIiIrJDNjXmRqFQAAB8fMq/Mm5OTg4aNmyIgIAADBw4ECkpKXrLFhQUQKlUatyIiIhIumwm3KhUKowfPx5PPfUUgoOD9ZZr0aIFli9fjs2bNyMuLg4qlQo9evTAzZs3dZaPiYmBl5eX+hYQEFBZh0BEREQ2QCaEENauBACMHj0aO3bswMGDB1G/fn2jn1dUVIRWrVohIiICM2fO1Hq8oKAABQUF6vtKpRIBAQFQKBTw9PQ0S92JiIiocimVSnh5eRn1/W0TF84cO3Ystm7div3795sUbACgWrVq6NChAy5duqTzcblcDrlcbo5qEhERkR2wareUEAJjx47FL7/8gj179iAwMNDkfZSUlOD06dOoU6dOJdSQiIiI7I1VW27GjBmDNWvWYPPmzfDw8EB6ejoAwMvLC66urgCAyMhI1KtXDzExMQCAGTNmoHv37mjatCkePHiAr776CtevX8e7775rteMgIiIi22HVcLNo0SIAQK9evTS2r1ixAkOHDgUApKamwsHh7wam+/fvY+TIkUhPT4e3tzc6deqEQ4cOISgoyFLVJiIiIhtmMwOKLcWUAUlERERkG0z5/raZqeBERERE5sBwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJJicrhJS0tDXFwctm/fjsLCQo3HcnNzMWPGDKP3FRMTgy5dusDDwwO+vr4IDw/H+fPnDT5v/fr1aNmyJVxcXNCmTRts377d1MMgIiIiiTIp3Bw9ehRBQUEYM2YMXn/9dbRu3RopKSnqx3NycjB9+nSj9/f7779jzJgxOHz4MHbt2oWioiK88MILyM3N1fucQ4cOISIiAiNGjMDJkycRHh6O8PBwJCcnm3IoREREJFEyIYQwtnCfPn0QEBCAH374Abm5ufj444/x3//+F7t27UKHDh2QkZGBunXroqSkpEKVuXPnDnx9ffH777/j2Wef1Vlm0KBByM3NxdatW9Xbunfvjvbt22Px4sUG/4ZSqYSXlxcUCgU8PT0rVE8iIiKyLFO+v51M2fHx48exYMECODg4wMPDAwsXLkSDBg3w/PPPIyEhAQ0aNHiiiisUCgCAj4+P3jKJiYmYMGGCxrawsDBs2rRJZ/mCggIUFBSo7yuVyieqIxEREdk2k8INAOTn52vcnzx5MpycnPDCCy9g+fLlFa6ISqXC+PHj8dRTTyE4OFhvufT0dPj5+Wls8/PzQ3p6us7yMTExJnWVERERkX0zKdwEBwfj0KFDaNu2rcb2f/3rX1CpVIiIiKhw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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Применение PCA для понижения размерности\n", + "pca = PCA(n_components=2)\n", + "reduced_data = pca.fit_transform(X)\n", + "\n", + "# Преобразуем данные из cupy в numpy\n", + "reduced_data_np = reduced_data.get()\n", + "\n", + "# Визуализация данных\n", + "plt.scatter(reduced_data_np[:, 0], reduced_data_np[:, 1])\n", + "plt.title('Визуализация данных после PCA')\n", + "plt.xlabel('PC1')\n", + "plt.ylabel('PC2')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "f2eef505", + "metadata": {}, + "source": [ + "### Выбор оптимального количества кластеров" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "f72195d2", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Оценка числа кластеров: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 9/9 [06:06<00:00, 40.73s/it]\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABIQAAAHWCAYAAAAGrFJtAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACVW0lEQVR4nOzdd3hUZfrG8fvMZJJJhxDS6DWQgIAgCqjgilIUYd21YEFQ0UVQV1xdsKHubxe7rorYcW0raxd1URZBLCgCotJ7T6WkkTpzfn+EGRhSCCHJmUm+n+uaK5kz58w8J1Hm5J73fV7DNE1TAAAAAAAAaDJsVhcAAAAAAACAhkUgBAAAAAAA0MQQCAEAAAAAADQxBEIAAAAAAABNDIEQAAAAAABAE0MgBAAAAAAA0MQQCAEAAAAAADQxBEIAAAAAAABNDIEQAAAAAABAE0MgBCDgPPvsszp48KD3/lNPPaWCggLrCgIAAACAAEMgBPiB1157TYZhaPny5RUee+mll2QYhsaMGSOXy2VBdf5n3rx5uv/++7Vr1y699dZbuvfeexUaGmp1WQAA4AT42/XPhRdeqPbt25/wcVOmTJFhGHVfEADUsyCrCwBQtQ8//FCTJk3SWWedpXfeeUd2u93qkvzCXXfdpYsuukj//Oc/ZbPZ9Pjjj8tmI98GAKAx4PoHABoGgRDgpxYvXqyxY8cqJSVF8+bNk9PptLokvzF48GDt2LFD69atU5s2bdS6dWurSwIAAHWA6x8AaDh8pA74oVWrVmn06NFKTEzUF198oejoaJ/HhwwZoh49emjFihUaOHCgQkND1aFDBz3//PM++y1evFiGYWjx4sU+2y+44AIZhqH7779fknT//ffLMIxqb0c/x48//qjhw4crOjpaYWFhGjx4sL777juf1/A85/r163XppZcqKipKLVq00K233qqioiKffY+uxePRRx+VYRgaMmRIpefTrFkzDRgwQK1bt65wPlWp6c/j6Pqzs7N99l2+fLkMw9Brr73ms339+vX64x//qJiYGDmdTvXr10+ffPKJzz6eofFLlizRjTfeqBYtWigqKkrjxo3TgQMHfPZt3769LrzwwgrnUNmwdE+tR8vPz1dCQkKF8x0yZIjPz1SSfvrpJ+/vGQAAqxzv+keS3n33XfXt21ehoaGKjY3VVVddpT179ngf37Nnj8aOHatWrVopJCREHTt21J133qm8vLwKz/XGG2+oTZs2atasmWbOnOndPnfuXCUlJSk2NlYPP/xwheO++OILde3aVREREbrllltkmqak8uuMTp06KSoqSlOnTvWZ6lZf1yDbt2+v9Lpk8uTJMgxD48eP99l+8OBB/fnPf1abNm0UEhKizp076+GHH5bb7a7wnI899liFc+/Ro4f3OsJzTtXdjndtVlRUpPvvv19du3aV0+lUYmKiLr74Ym3ZsqVW5yeVX+tUVovnOWbMmCGHw6GsrKwKx95www1q1qyZioqK9M0332jo0KGKjY1VaGio+vTpo9mzZ3t/39W91tE3jzlz5uh3v/ud4uLiFBISopSUFM2ePbvanw9Q3xghBPiZLVu2aPjw4QoJCdEXX3yhxMTESvc7cOCARo4cqUsvvVRjx47Vf/7zH02aNEnBwcG69tprq3z+JUuW6PPPP/fZdvHFF6tz587e+7fddpu6d++uG264wbute/fukqSvvvpKI0aMUN++fTVjxgzZbDbvG9w333yj/v37+zz3pZdeqvbt22vmzJn64Ycf9PTTT+vAgQN6/fXXq6zx4MGDPhdm1ansfE7EyR4vSWvWrNGgQYPUqlUrTZs2TeHh4frPf/6jMWPG6P3339fvf/97n/2nTJmiZs2a6f7779eGDRs0e/Zs7dixw3thVRcef/xxZWRk1Gjfv/71r3XymgAA1FZNrn9ee+01TZgwQaeddppmzpypjIwM/fOf/9R3332nn3/+Wc2aNdOWLVuUkZGhm2++Wc2bN9eaNWv09NNPa+HChfr222+9PQe/++47XXPNNRo4cKDGjh2rN954Q1u3blVhYaEefPBB3XXXXfryyy81bdo0tW3bVmPHjpUkbd26VWPGjFHnzp31j3/8Q/Pnz/f2QJo8ebJuvvlm/fzzz3ryySfVsmVLTZ8+vcpzrotrkMps3rxZL730UoXthw4d0uDBg7Vnzx7deOONatu2rb7//ntNnz5daWlpeuqpp07odbp376433njDe//FF1/UunXr9OSTT3q3nXLKKVUe73K5dOGFF2rhwoW6/PLLdeuttyovL08LFizQ6tWr1alTpxM6v6N169ZNd999tyQpOztbt912m/exq6++Wg8++KDmzp2rKVOmeLeXlJTovffe0x/+8Ac5nU59//33iouL0z333CO73a6vv/5aN910k3799VdvkHP33Xfr+uuv93mdG264QWeddVaFmmbPnq3U1FRddNFFCgoK0rx583TTTTfJ7XZr8uTJ1Z4PUG9MAJabM2eOKcn89NNPzU6dOpmSzPPPP7/K/QcPHmxKMh9//HHvtuLiYrN3795mXFycWVJSYpqmaS5atMiUZC5atMi73+mnn26OGDHClGTOmDGj0udv166dec0111TY7na7zS5dupjDhg0z3W63d/uhQ4fMDh06mOedd55324wZM0xJ5kUXXeTzHDfddJMpyfzll1+8246t5c477zTj4uLMvn37moMHD/Zur+351OZ4T/1ZWVk+z/HTTz+Zksw5c+Z4t5177rlmz549zaKiIp+f1cCBA80uXbp4t3l+z3379vX+jkzTNB955BFTkvnxxx97t7Vr18684IILKpzD5MmTzWP/6fbU6pGZmWlGRkZ6z+vo8x08eLDPz/Tzzz83JZnDhw+v8LwAANSnE7n+KSkpMePi4swePXqYhYWF3u2ffvqpKcm87777qnydBQsWmJLMBx980LvtoosuMjt06OB9787LyzM7dOhghoWFmVu3bjVNs/y9fNCgQWavXr28x91yyy1mZGSkmZ2dbZqmaZaWlppnnHGGKcn88ccfvfuNHTvWjIuL8z5/fV2DbNu2rcK2Sy+91OzRo4fZpk0bn+u5v/3tb2Z4eLi5ceNGn+edNm2aabfbzZ07d/o856OPPlrhZ5mamupzHXG0a665xmzXrl2lj1Xm1VdfNSWZTzzxRIXHPNeZJ3J+HoMGDTLPOecc7/3KnmPAgAHm6aef7nPcBx98UOF3dKy7777blGQuWbKkwmOVvc7RDh06VGHbsGHDzI4dO1b5ekB9Y8oY4EfGjx+vXbt26YorrtCXX36pd999t8p9g4KCdOONN3rvBwcH68Ybb1RmZqZWrFhR6TEffPCBfvrpJz300EO1qm/VqlXatGmTrrjiCu3bt0/Z2dnKzs5WQUGBzj33XC1ZssRnyLGkCp943HzzzZJU5Sdie/bs0TPPPKN7771XERER1dZzsudTk+P379/vPc/s7Gzl5ORUePyrr77SpZdeqry8PO9++/bt07Bhw7Rp0yafoexS+XBkh8PhvT9p0iQFBQXV2aeEf/vb3xQdHa1bbrml2v1M09T06dP1hz/8QaeffnqdvDYAACeqJtc/y5cvV2Zmpm666SafvkIXXHCBunXrps8++8y7rbS01Oe9u3fv3urXr5/P8y5cuFAjR45USEiIJCkiIkIpKSlq2bKlOnToIEneVc5++eUX7du3z3vc2WefrRYtWkgqvx7r27evJPmMkr744ouVmZmp1atXV3rOJ3sNU5UVK1bo3Xff1cyZMyssuPHuu+/qrLPOUvPmzX1+PkOHDpXL5dKSJUt89j906JDPftnZ2XW64tv777+v2NhY77Xh0aoaMV3d+XmUlJR4f69VGTdunH788Ufv1DRJeuutt9SmTRsNHjzYu+3Yn8HEiRPlcDiqvUavytEr4ubk5Cg7O1uDBw/W1q1bK1xfAg2lSQdCS5Ys0ahRo5SUlCTDMPTRRx+d0PFFRUUaP368evbsqaCgII0ZM6ba/b/77jsFBQWpd+/eta4Zjdv+/fv15ptv6l//+pd69+6tW2+9tco3iKSkJIWHh/ts69q1q6Ty+dbHcrlcuuuuu3TllVdWO3y3Ops2bZIkXXPNNWrZsqXP7eWXX1ZxcXGFert06eJzv1OnTrLZbJXWKJXP605KSvIJuypzsudT0+OTk5N9znPo0KE+j2/evFmmaeree++t8DOZMWOGJCkzM9PnmGN/JhEREUpMTKzyZ3Iitm3bphdeeEEPPPDAcRtxvvXWW1qzZo3+8Y9/nPTrAgBQWzW5/tmxY4ek8vflY3Xr1s37uFR+zX3se/Ly5cu1efNmSeXT7gsKCtSqVavj1ubZZ9euXd6vtTnuaHVxTVaVadOm6ayzzqq0D+GmTZs0f/78Cj8bz7XNsdcrM2bMqLDv+vXr66zWLVu2KDk5WUFBNe9iUt35eRw8ePC4HypedtllCgkJ0VtvvSWpPKD59NNPdeWVV/qEUY888ojP+bdv316lpaXe/5ZOxHfffaehQ4cqPDxczZo1U8uWLXXXXXd5Xx+wQpPuIVRQUKBevXrp2muv1cUXX3zCx7tcLoWGhuqWW27R+++/X+2+Bw8e1Lhx43TuuefWuK8Hmp5HH31Ul1xyiaTyedhnnHGGpk+frueee+6kn/uVV17R9u3b9cUXX9T6OTyjfx599NEqg83jvQFX1yNn3bp1eu211/Tmm2/6jKCpzMmeT02Pf//99xUVFeW9v3HjRp9RT56fyV/+8hcNGzas0uc4uj9Tfbv77rvVpUsXXXPNNfrmm2+q3K+kpET33nuvrrvuOm+QCACAFer6+qdXr15asGCBz7aZM2dq6dKlklRhcYuaKCwsrNWxnuOOVhfXZJX58ssv9b///c97nsdyu90677zzdOedd1b6+LHXAzfccIP39+IxceLEuim2Fo53fh7p6elVXpN5NG/eXBdeeKHeeust3XfffXrvvfdUXFysq666yme/cePG6cwzz/TZdvnll59w7Vu2bNG5556rbt266YknnlCbNm0UHByszz//XE8++WSFEfZAQ2nSgdCIESM0YsSIKh8vLi7W3XffrX//+986ePCgevTooYcfftjbWT88PNzbUOy7777TwYMHq3yuP/3pT7riiitkt9tPeCQSmo6zzz7b+/1pp52myZMna9asWRo3bpzOOOMMn3337t2rgoICn1FCGzdulFS+QtXRDh06pAceeEA33XST2rVrV+v6PM39oqKiKoyUqcqmTZu8Q6+l8hE1bre7Qo2SNH36dPXu3VuXXXZZtc95sudzIsefffbZio2N9d5v1qyZz+MdO3aUJDkcjhP6mZxzzjne+/n5+UpLS9PIkSNreAaV+/nnn/XOO+/oo48+kt1ur3bf5557TpmZmcdd/QMAgPpWk+sfz/v1hg0b9Lvf/c7n+A0bNvi8nzdv3rzCe/LUqVO91zGxsbFyOBzau3fvcWvzTPtOSkqSJCUmJtbqOI+6uiY7lmmamjZtmn7/+99XuGb06NSpk/Lz82t8vdKlS5cK+x47Ov1kdOrUST/++KNKS0uP+0FgTc5Pknbv3q28vDzvYijVGTdunEaPHq2ffvpJb731lvr06aPU1FSffTp27Oi91pPKG0fv37+/yobXVZk3b56Ki4v1ySefqG3btt7tixYtOqHnAepak54ydjxTpkzR0qVL9c477+jXX3/VJZdcouHDh3unzdTUnDlztHXrVu/0EaCm/v73vysxMVE33HCDysrKfB4rKyvTCy+84L1fUlKiF154QS1btvTOZff45z//qYKCAu9qC7XVt29fderUSY899pjy8/MrPF7Z8p2zZs3yuf/MM89IUoUwdunSpfr444/10EMPHXelrZM9n7r6eUhSXFychgwZohdeeEFpaWkVHq/sZ/Liiy+qtLTUe3/27NkqKyurNqCuiWnTpmnQoEG66KKLqt0vLy9Pf//733XbbbcpISHhpF4TAIC6Vtn1T79+/RQXF6fnn39excXF3n3/+9//at26dbrgggskqdIeN/PmzdNvv/3mnRHgcDh0xhln6PPPP1dJSYmk8g9n1q5dq6ysLO8UbtM09fHHH6tt27be8Obss8/WkiVLtH//fu/reXo3Llu2zPuaH330kUJDQ9WvXz+fWuryGuRonr9Xqlul9dJLL9XSpUsrHZl08ODBCtea9e0Pf/iDsrOz9eyzz1Z4zDxqaXepZufn2U9ShdCwMiNGjFBsbKwefvhhff311xVGB1X239LMmTNlmuYJzy7xfFB39Hnl5ORozpw5J/Q8QF1r0iOEqrNz507NmTNHO3fu9Cb7f/nLXzR//nzNmTOnxj03Nm3apGnTpumbb745ofmxgCRFRkbqmWee0cUXX6zHH3/cZ3nwpKQkPfzww9q+fbu6du2quXPnatWqVXrxxRcrfMry5Zdf6u9//7u3AWJt2Ww2vfzyyxoxYoRSU1M1YcIEtWrVSnv27NGiRYsUFRWlefPm+Ryzbds2XXTRRRo+fLiWLl2qN998U1dccYV69epVocbzzjuvRp9anez51NXPw2PWrFk688wz1bNnT02cOFEdO3ZURkaGli5dqt27d+uXX37x2b+kpETnnnuuLr30Um3YsEHPPfeczjzzzApBTlZWlubPn++zbefOnZKk+fPnq3///oqJifE5r+++++649a5cuVKxsbFVDhkHAMBKlV3/OBwOPfzww5owYYIGDx6ssWPHepedb9++vXdZ8W+++UbTpk3TRRddpBYtWmjZsmX617/+pZSUFN1xxx3e17jrrrs0YsQIDR06VJdffrlef/115efny26368ILL9SkSZP05Zdf6ttvv9Xzzz/vPe4vf/mL5s6dqyFDhmjixIn673//q61bt0qSrr32Wk2cOFGrVq3SW2+9pWnTplUYUXMi1yBfffWVz7R1z4fSv/32m3777Tf17NnT53knTpxYaY8ljzvuuEOffPKJLrzwQo0fP159+/ZVQUGBfvvtN7333nvavn27z6jo+jZu3Di9/vrrmjp1qpYtW6azzjpLBQUF+t///qebbrpJo0eP9u57vPPLyMjQjBkz9PLLL+vyyy9Xt27djvv6DodDl19+uZ599lnZ7XaNHTvW5/GZM2dq5cqVOuuss7zLxC9YsEBXX321z0jvmjj//PMVHBysUaNG6cYbb1R+fr5eeuklxcXFVfqBItBgrFvgzL9IMj/88EPvfc8SluHh4T63oKAg89JLL61w/DXXXGOOHj3aZ1tZWZnZr18/c/bs2d5tM2bM8Fm6EjDNI8uu/vTTT5U+Pnr0aJ9lUAcPHmympqaay5cvNwcMGGA6nU6zXbt25rPPPutznGeJ08TERLOgoMDnMdVi2XmPn3/+2bz44ovNFi1amCEhIWa7du3MSy+91Fy4cKF3H8+SqWvXrjX/+Mc/mpGRkWbz5s3NKVOm+CwX66nFMAxzxYoVPtuPXSK9tudTm+NPZMlX0zTNLVu2mOPGjTMTEhJMh8NhtmrVyrzwwgvN9957z7uP5/f89ddfmzfccIPZvHlzMyIiwrzyyivNffv2+Txfu3btTEnV3jzLonpqPfbfoMqWuB08eLApyXzyySd99j126XoAAOrbiV7/mKZpzp071+zTp48ZEhJixsTEmFdeeaW5e/du7+O7d+82x44da7Zq1cr7fjx58mTvMvFHe+WVV8xWrVqZ0dHR5kMPPWRecMEFZrt27cy5c+eaiYmJZkxMjM9S9R6ffvqp2alTJzM8PNy85ZZbzJtuusmUZC5evNjs2LGjGRERYU6ZMsUsLS31HlOba5Dqbp7rNM9S56GhoeaePXt8nrey67m8vDxz+vTpZufOnc3g4GAzNjbWHDhwoPnYY4+ZJSUlPs9Z38vOm2b5Uux333232aFDB9PhcJgJCQnmH//4R3PLli0ndH7fffed2blzZ/P+++83i4uLffarbjn4ZcuWmZLM888/v8Jj3377rTl06FCzRYsWZnBwsNmtWzfzkUceMcvKyio9l+MtO//JJ5+Yp5xyiul0Os327dubDz/8sPnqq6+aksxt27ZV/4MC6olhmseMx2uiDMPQhx9+6F0pbO7cubryyiu1Zs2aCr04IiIiKkyzGD9+vA4ePOjTH+jgwYNq3ry5z/Fut1umacput+vLL7+s0XBG4FhDhgxRdnZ2lUuZ+oP7779fDzzwgLKyshr00yZ/9tprr2nChAn66aefKgwhP1GGYWjRokXenmYAAODkXHjhhVq9evUJr/o5ZcoUzZo1q8I0p/oyfvx4SeXXFTg5v/zyi3r37q3XX39dV199tdXlAA2OOUxV6NOnj1wulzIzM3XWWWfV6jmioqL022+/+Wx77rnn9NVXX+m9997zabQLAAAAAGg4L730kiIiImq14jTQGDTpQCg/P1+bN2/23t+2bZtWrVqlmJgYde3aVVdeeaXGjRunxx9/XH369FFWVpYWLlyoU045xdu4bu3atSopKdH+/fuVl5enVatWSZJ69+4tm82mHj16+LxmXFycnE5nhe0AcCKGDRvm0z8IAAA0DUf3DkLtzJs3T2vXrtWLL76oKVOm1OnqaUAgadKB0PLly30agk2dOlWSdM011+i1117TnDlz9H//93+6/fbbtWfPHsXGxuqMM87QhRde6D1m5MiR2rFjh/d+nz59JFXsjA8AdenYZtMAAKBpuP32260uIeDdfPPNysjI0MiRI/XAAw9YXQ5gGXoIAQAAAAAANDE2qwsAAAAAAABAwyIQAgAAAAAAaGKaXA8ht9utvXv3KjIyUoZhWF0OAACogmmaysvLU1JSkmw2PsOyEtdPAAAEhhO5fmpygdDevXvVpk0bq8sAAAA1tGvXLrVu3drqMvzGkiVL9Oijj2rFihVKS0vThx9+qDFjxlR7zOLFizV16lStWbNGbdq00T333KPx48fX+DW5fgIAILDU5PqpyQVCkZGRksp/OFFRURZXAwAAqpKbm6s2bdp437tRrqCgQL169dK1116riy+++Lj7b9u2TRdccIH+9Kc/6a233tLChQt1/fXXKzExUcOGDavRa3L9BABAYDiR66cmFwh5hjlHRUVxQQMAQABgipKvESNGaMSIETXe//nnn1eHDh30+OOPS5K6d++ub7/9Vk8++WSNAyGunwAACCw1uX5iQj4AAEAjtnTpUg0dOtRn27Bhw7R06dIqjykuLlZubq7PDQAANC4EQgAAAI1Yenq64uPjfbbFx8crNzdXhYWFlR4zc+ZMRUdHe2/0DwIAoPEhEAIAAICP6dOnKycnx3vbtWuX1SUBAIA61uR6CAEAADQlCQkJysjI8NmWkZGhqKgohYaGVnpMSEiIQkJCGqI8AABgEUYIAQAANGIDBgzQwoULfbYtWLBAAwYMsKgiAADgDwiEAAAAAkh+fr5WrVqlVatWSSpfVn7VqlXauXOnpPLpXuPGjfPu/6c//Ulbt27VnXfeqfXr1+u5557Tf/7zH912221WlA8AAPwEgRAAAEAAWb58ufr06aM+ffpIkqZOnao+ffrovvvukySlpaV5wyFJ6tChgz777DMtWLBAvXr10uOPP66XX365xkvOAwCAxskwTdO0uoiGlJubq+joaOXk5Cgq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76uv1uXn5yM6OhqTJk3CoEGDOtzezc0N58+fR05ODq5cuYLly5ejuLhYY52VK1diw4YN2Lx5MyorK3HhwoVnvmoUHBwMX19fTJs2DSdOnMC1a9fw008/ITExEefPn1ev16dPH4SHh6OsrAxnzpzBwoULMWvWLNjZ2T3X+blz5w7q6upw8eJFZGRkwMPD45lyEhERkXaxP7E/EekCPjJGpOceP36MBQsWYNiwYR0ut7GxwalTp5CQkIAJEyZAJpPB09MT/v7+yM3Nxc6dO7Fjxw689dZbnR5j4cKFaGpqwuLFi1FfX48RI0YgOzsbbm5uz5xzwYIFOHDgAD744AOkp6cjMjISwcHBSE5O7nKb0tJShIaGwsDAAHPmzEFUVBSOHTumXic8PBytra348ssvER8fjwEDBnT5s/ydgYEBjh49isTEREREROCPP/6AnZ0dAgMDYWtrq15PoVBg+vTpmDRpEu7evYspU6bgq6++eu7zExwcDOCv26nHjx/P252JiIgkwv7E/kSkCwyE+L/vOyQiIq1buXIlDh48CKVSKXUUIiIiol6B/YnoxeAjY0REREREREREeoYTQkREREREREREeoaPjBERERERERER6RneIUREREREREREpGc4IUREREREREREpGc4IUREREREREREpGc4IUREREREREREpGc4IUREREREREREpGc4IUREREREREREpGc4IUREREREREREpGc4IUREREREREREpGf+B0KKp6hqk+/WAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Оценка инерции и коэффициента силуэта\n", + "from cuml.metrics.cluster import silhouette_score\n", + "from tqdm import tqdm # Импорт библиотеки для отображения прогресса\n", + "\n", + "# Оценка инерции и коэффициента силуэта\n", + "inertia = []\n", + "silhouette_scores = []\n", + "k_range = range(2, 11)\n", + "\n", + "# tqdm для отображения прогресса\n", + "for k in tqdm(k_range, desc=\"Оценка числа кластеров\"):\n", + " kmeans = KMeans(n_clusters=k, random_state=42)\n", + " kmeans.fit(reduced_data)\n", + " inertia.append(kmeans.inertia_)\n", + " silhouette_scores.append(silhouette_score(reduced_data, kmeans.labels_))\n", + "\n", + "# Построение графиков\n", + "plt.figure(figsize=(14, 5))\n", + "\n", + "# График инерции\n", + "plt.subplot(1, 2, 1)\n", + "plt.plot(k_range, inertia, marker='o')\n", + "plt.title('Критерий инерции')\n", + "plt.xlabel('Число кластеров')\n", + "plt.ylabel('Инерция')\n", + "\n", + "# График коэффициента силуэта\n", + "plt.subplot(1, 2, 2)\n", + "plt.plot(k_range, silhouette_scores, marker='o')\n", + "plt.title('Коэффициент силуэта')\n", + "plt.xlabel('Число кластеров')\n", + "plt.ylabel('Силуэт')\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "180e85ac", + "metadata": {}, + "source": [ + "### Кластерный анализ" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "dd573024", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABpZUlEQVR4nO3dd1gUV9sG8HuWsoAUsVBUFBV7xV7eWBKMGpNIotFoEmNiTDSaaDSNFOuXYCyJxho1tthL1Fixa4xYULEXrFgoKmWpC+yc7w9kZYWFRWEXhvt3XXvpzpyZfWbY3Xn2nDPnSEIIASIiIiKFUFk6ACIiIqLCxOSGiIiIFIXJDRERESkKkxsiIiJSFCY3REREpChMboiIiEhRmNwQERGRojC5ISIiIkVhckNERESKwuSGiEqdxMREuLm5YcWKFZYOpVh5++230adPH0uHQfTcmNwQFQNLliyBJEkICQnJsW7BggWQJAn+/v7Q6XQWiE55ZsyYAScnJ7z99tv6ZePGjYMkSXj48KFB2Tt37qBmzZooV64cTp06BQAYOHAgJEmCs7MzUlJScuw/LCwMkiRBkiRMnTq1aA+mEH3zzTfYsGEDzpw5Y+lQiJ4LkxuiYmzjxo0YOnQoXnjhBaxevRpWVlaWDqnES09Px4wZM/DRRx/lez7v3buHzp07IyYmBrt370azZs3066ytrZGcnIwtW7bk2G7FihWws7Mr9NiLmq+vL1q0aIFp06ZZOhSi58LkhqiYOnDgAPr164f69etjy5YtJfJiWRxt3boVDx48yLf55f79++jcuTMePXqE3bt3o3nz5gbr1Wo1XnrpJaxatSrHtitXrkSPHj0KNW5z6dOnD/7++28kJiZaOhSiZ8bkhqgYCg0NRc+ePeHp6YmgoCC4uLjkKHPr1i1908fTj+ymTp2Kdu3aoXz58rC3t0fz5s2xfv36XF93+fLlaNWqFRwcHODq6ooOHTpg165dAABvb2+jrydJEry9vfX7kWUZ06dPR4MGDWBnZwd3d3d88skniI2NNXg9b29vvPrqq9i1axeaNm0KOzs71K9fH3///bdBubya7bJ06tQJnTp1yuu0AgA2bdoEb29v1KxZ02iZiIgIdO7cGdHR0di1axdatGiRa7n+/ftjx44diIuL0y87ceIEwsLC0L9//1y3iYuLw8iRI+Hl5QW1Wg0fHx/88ssvkGXZoJypfzdJkjB8+HBs2rQJDRs2hFqtRoMGDbBz506DcgkJCRg5ciS8vb2hVqvh5uaGLl266JvasnTp0gVJSUnYvXu30fNDVNwxuSEqZq5fv45u3bpBrVYjKCgInp6eeZb/+OOP8ddff+Gvv/7CG2+8kWP9jBkz4OvriwkTJuDnn3+GtbU13nrrLWzbts2g3Pjx4/Hee+/BxsYGEyZMwPjx4+Hl5YV9+/YBAKZPn65/ne+++w4A8N133+mXTZ8+Xb+vTz75BF999RXat2+PGTNm4IMPPsCKFSvQtWtXpKenG7xuWFgY+vbti+7duyMwMFAfX1FdXI8cOWLQvPS0qKgovPjii4iMjERQUBBatmxptOybb74JSZIMkrGVK1eibt26ub5GcnIyOnbsiOXLl2PAgAH4/fff0b59ewQEBGDUqFEGZU39uwHA4cOH8emnn+Ltt9/G5MmTkZqail69euHRo0f6MkOGDMHcuXPRq1cvzJkzB19++SXs7e1x6dIlg33Vr18f9vb2+O+//4weN1GxJ4jI4hYvXiwAiK1bt4qaNWsKAOLll1/Oc5uwsDABQCxdulS/bOzYseLpj3VycrLB87S0NNGwYUPx4osvGuxLpVKJN954Q+h0OoPysizneO39+/cLAGL//v051v37778CgFixYoXB8p07d+ZYXq1aNQFAbNiwQb8sPj5eeHp6Cl9fX/2yrPNz4sSJ3E6FEEKIjh07io4dOxpdL4QQ6enpQpIkMXr06Bzrss5dtWrVhLOzswgODja6n/fff1+UKVNGCCFE7969xUsvvSSEEEKn0wkPDw8xfvx4cfPmTQFATJkyRb/dxIkTRZkyZcTVq1cN9vftt98KKysrER4erl9myt9NCCEACFtbW3Ht2jX9sjNnzggAYubMmfplLi4uYtiwYUaPKbvatWuL7t27m1SWqDhizQ1RMTJw4EDcuXMH/fv3x65du7Bu3TqjZdPS0gBk9v3Ii729vf7/sbGxiI+PxwsvvGDQHLFp0ybIsowxY8ZApTL8Wni6mSs/69atg4uLC7p06YKHDx/qH82bN4ejoyP2799vUL5SpUoGNU7Ozs4YMGAATp8+jcjISIOy8fHxePjwIRISEgoUU5aYmBgIIeDq6mq0TFRUFBwdHfOtMcvSv39/HDhwAJGRkdi3bx8iIyONNkmtW7cOL7zwAlxdXQ3OjZ+fH3Q6HQ4dOqQva8rfLYufn59BM1vjxo3h7OyMGzdu6JeVLVsWx44dw/379/M9pqz4iEqqUp3cHDp0CK+99hoqVaoESZKwadOmAu9DCIGpU6eidu3aUKvVqFy5Mn766afCD5ZKhZiYGCxfvhxLly5F06ZNMWLECMTHx+daNqufh6OjY5773Lp1K9q0aQM7OzuUK1cOFStWxNy5cw32e/36dahUKtSvX/+5jyEsLAzx8fFwc3NDxYoVDR6JiYmIjo42KO/j45MjgapduzaAzH5F2fn5+aFixYpwdnaGq6srPv30UyQlJRU4RiGE0XXLly9HTEwMunTpkiPW3LzyyitwcnLCmjVrsGLFCrRs2RI+Pj65lg0LC8POnTtznBc/Pz8AMHg9U/5uWapWrZpjmaurq0Efp8mTJ+P8+fPw8vJCq1atMG7cOIPkJzshRIGTWqLixNrSAVhSUlISmjRpgg8//BBvvvnmM+1jxIgR2LVrF6ZOnYpGjRohJiYGMTExhRwplRZTpkzBW2+9BQCYP38+2rRpg4CAAMyZMydH2axaDQ8PD6P7+/fff/H666+jQ4cOmDNnDjw9PWFjY4PFixdj5cqVRXIMsiznOUBexYoVn3nfs2fPRu3ataHVanHgwAH9GDK5nZ/clCtXDpIk5ejYnF3Hjh2xdu1avPnmm+jatSsOHDiQa4fuLGq1Gm+++SaWLl2KGzduYNy4cUbLyrKMLl264Ouvv851fVZSV9C/m7Fb2rMncX369MELL7yAjRs3YteuXZgyZQp++eUX/P333+jevbvBdrGxsahVq5bR4yAq7kp1ctO9e/ccH+rstFotvv/+e6xatQpxcXFo2LAhfvnlF/0dGZcuXcLcuXNx/vx51KlTBwBQvXp1c4ROCtWhQwf9/1u2bIlhw4Zh9uzZGDBgANq0aWNQ9uLFi5AkSf/ey82GDRtgZ2eHoKAgg+arxYsXG5SrWbMmZFnGxYsX0bRp0+c6hpo1a2LPnj1o3769QdOKMdeuXctRU3D16lUAMLgDCwBatWqlv3OpR48eOHPmTI67gvJibW2NmjVr4ubNm3mWe+2117Bo0SK8//77+ru58jqW/v37Y9GiRVCpVAYDAz6tZs2aSExM1NfUGGPq362gPD098emnn+LTTz9FdHQ0mjVrhp9++sngezAjIwN37tzB66+//lyvRWRJpbpZKj/Dhw9HcHAwVq9ejbNnz+Ktt95Ct27dEBYWBgDYsmULatSoga1bt6J69erw9vbGRx99xJobKjQ//fQTPD098fHHHyMjI0O/PCMjAxs2bECrVq3ybJaysrKCJEkGIxvfunUrRxOsv78/VCoVJkyYkOOW5LyacHLTp08f6HQ6TJw4Mce6jIwMg9umgczxZDZu3Kh/rtFosGzZMjRt2jTPWikgsyakoAMbtm3bNs9byrO89957mD59Og4fPoxevXrluMsru86dO2PixImYNWtWnjH36dMHwcHBCAoKyrEuLi5O/zc29e9mKp1Ol6M5y83NDZUqVYJWqzVYfvHiRaSmpqJdu3bP9FpExUGprrnJS3h4OBYvXozw8HBUqlQJAPDll19i586dWLx4MX7++WfcuHEDt2/fxrp167Bs2TLodDp88cUX6N27t/72WaLn4eTkhJkzZ+LNN9/EtGnT8M0332DPnj348ccfcfbs2VxHx82uR48e+PXXX9GtWzf0798f0dHRmD17Nnx8fHD27Fl9OR8fH3z//feYOHEiXnjhBbz55ptQq9U4ceIEKlWqhMDAQJNj7tixIz755BMEBgYiNDQUL7/8MmxsbBAWFoZ169ZhxowZ6N27t7587dq1MWjQIJw4cQLu7u5YtGgRoqKicq2lCA4OxsOHD/XNUnv37sWXX35pcmwA0LNnT/z111+4evWqvhnImM8//xwxMTEYP348BgwYgBUrVuTocA0AKpUKP/zwQ76v/dVXX+Gff/7Bq6++ioEDB6J58+ZISkrCuXPnsH79ety6dQsVKlQw+e9mqoSEBFSpUgW9e/dGkyZN4OjoiD179uDEiRM5RiPevXs3HBwc0KVLlwK/DlGxYcE7tYoVAGLjxo3651u3bhUARJkyZQwe1tbWok+fPkIIIQYPHiwAiCtXrui3O3nypAAgLl++bO5DoBIsv1ude/bsKRwcHMSNGzfEZ599Jjp06CB27tyZo1xut4L/+eefolatWkKtVou6deuKxYsX51pOCCEWLVokfH19hVqtFq6urqJjx45i9+7dOcrldSt4lvnz54vmzZsLe3t74eTkJBo1aiS+/vprcf/+fX2ZatWqiR49eoigoCDRuHFjfYzr1q3L9fxkPWxtbYWPj48YM2aM0Gq1QgjTbgUXQgitVisqVKggJk6caLA865w8ePAgxzafffaZACCGDBkihDC8FdyY3G4FF0KIhIQEERAQIHx8fIStra2oUKGCaNeunZg6dapIS0vTlzP17wYg11u8q1WrJt5//339MX/11VeiSZMmwsnJSZQpU0Y0adJEzJkzJ8d2rVu3Fu+++26ex0ZU3ElCFLDOWaEkScLGjRvh7+8PAFizZg3eeecdXLhwIUe1t6OjIzw8PDB27Fj8/PPPBtXVKSkpcHBwwK5du/jLhygf3t7eaNiwIbZu3WrW1504cSIWL16MsLAwzteVTWhoKJo1a4ZTp049d98rIktinxsjfH19odPpEB0dDR8fH4NHVpt6+/btkZGRgevXr+u3y+oIWa1aNYvETUT5++KLL5CYmIjVq1dbOpRiZdKkSejduzcTGyrxSnXNTWJiIq5duwYgM5n59ddf0blzZ5QrVw5Vq1bFu+++i//++w/Tpk2Dr68vHjx4gL1796Jx48bo0aMHZFlGy5Yt4ejoiOnTp0OWZQwbNgzOzs76+XiIyDhL1dwQkbKV6pqbkJAQ+Pr6wtfXFwAwatQo+Pr6YsyYMQAyb7scMGAARo8ejTp16sDf3x8nTpzQD5ilUqmwZcsWVKhQAR06dECPHj1Qr149/hokIiKyoFJdc0NERETKU6prboiIiEh5mNwQERGRopS6QfxkWcb9+/fh5OTEieGIiIhKCCEEEhISUKlSpVwH08yu1CU39+/fh5eXl6XDICIiomdw584dVKlSJc8ypS65cXJyApB5cpydnS0cDREREZlCo9HAy8tLfx3PS6lLbrKaopydnZncEBERlTCmdClhh2IiIiJSlGKT3EyaNAmSJGHkyJF5llu3bh3q1q0LOzs7NGrUCNu3bzdPgERERFQiFIvk5sSJE/jjjz/QuHHjPMsdOXIE/fr1w6BBg3D69Gn4+/vD398f58+fN1OkREREVNxZPLlJTEzEO++8gwULFsDV1TXPsjNmzEC3bt3w1VdfoV69epg4cSKaNWuGWbNmmSlaIiIiKu4sntwMGzYMPXr0gJ+fX75lg4ODc5Tr2rUrgoODjW6j1Wqh0WgMHkRERKRcFr1bavXq1Th16hROnDhhUvnIyEi4u7sbLHN3d0dkZKTRbQIDAzF+/PjnipOIiIhKDovV3Ny5cwcjRozAihUrYGdnV2SvExAQgPj4eP3jzp07RfZaREREZHkWq7k5efIkoqOj0axZM/0ynU6HQ4cOYdasWdBqtbCysjLYxsPDA1FRUQbLoqKi4OHhYfR11Go11Gp14QZPRERExZbFam5eeuklnDt3DqGhofpHixYt8M477yA0NDRHYgMAbdu2xd69ew2W7d69G23btjVX2ERERFTMWazmxsnJCQ0bNjRYVqZMGZQvX16/fMCAAahcuTICAwMBACNGjEDHjh0xbdo09OjRA6tXr0ZISAjmz59v9viJqHQSQgDaAxDJy4D0swBsALuXIDm8D8mmtqXDIyIUg7ul8hIeHo6IiAj983bt2mHlypWYP38+mjRpgvXr12PTpk05kiQioqIghIBI+Bki7hMg7SggEgARA6T8DfHIHyJ1t6VDJCIAkhBCWDoIc9JoNHBxcUF8fDznliKiAhGpOyHiPjeyVgJgDaniQUhWFcwZFlGpUJDrd7GuuSEiKk5E0hIY/9oUAHRAyjrzBUREuWJyQ0RkqvSzAOQ8CsgQaafNFQ0RGcHkhojIZPl9ZUqAZNGxUYkITG6IiEynbg8g5zAVTwhItu3MFQ0RGcHkhojIRFKZQQB0RtaqAMkFsPc3Y0RElBsmN0REJpJsW0FyHofMO6Oy1+BIgOQIqdyfkFSOlgmOiPTYOExEVACSQ3/Atg1E8mogPRSQbCGpOwP2vSCpylo6PCICkxsiogKTrGtAcv7O0mEQkRFsliIiIiJFYXJDREREisLkhoiIiBSFyQ0REREpCpMbIiIiUhQmN0RERKQoTG6IiIhIUZjcEBERkaIwuSEiIiJFYXJDREREisLkhoiIiBSFyQ0REREpCpMbIiIiUhQmN0RERKQoTG6IiIhIUZjcEBERkaIwuSEiIiJFYXJDREREisLkhoiIiBSFyQ0REREpCpMbIiIiUhQmN0RERKQoTG6IiIhIUZjcEBERkaJYNLmZO3cuGjduDGdnZzg7O6Nt27bYsWOH0fJLliyBJEkGDzs7OzNGTERERMWdtSVfvEqVKpg0aRJq1aoFIQSWLl2Knj174vTp02jQoEGu2zg7O+PKlSv655IkmStcIiIiKgEsmty89tprBs9/+uknzJ07F0ePHjWa3EiSBA8PD3OER0RERCVQselzo9PpsHr1aiQlJaFt27ZGyyUmJqJatWrw8vJCz549ceHChTz3q9VqodFoDB5ERESkXBZPbs6dOwdHR0eo1WoMGTIEGzduRP369XMtW6dOHSxatAibN2/G8uXLIcsy2rVrh7t37xrdf2BgIFxcXPQPLy+vojoUIiIiKgYkIYSwZABpaWkIDw9HfHw81q9fj4ULF+LgwYNGE5zs0tPTUa9ePfTr1w8TJ07MtYxWq4VWq9U/12g08PLyQnx8PJydnQvtOIiIiKjoaDQauLi4mHT9tmifGwCwtbWFj48PAKB58+Y4ceIEZsyYgT/++CPfbW1sbODr64tr164ZLaNWq6FWqwstXiIiIireLN4s9TRZlg1qWvKi0+lw7tw5eHp6FnFUREREVFJYtOYmICAA3bt3R9WqVZGQkICVK1fiwIEDCAoKAgAMGDAAlStXRmBgIABgwoQJaNOmDXx8fBAXF4cpU6bg9u3b+Oijjyx5GERERFSMWDS5iY6OxoABAxAREQEXFxc0btwYQUFB6NKlCwAgPDwcKtWTyqXY2FgMHjwYkZGRcHV1RfPmzXHkyBGT+ucQERFR6WDxDsXmVpAOSURERFQ8FOT6Xez63BARERE9DyY3REREpChMboiIiEhRmNwQERGRojC5ISIiIkVhckNERESKwuSGiIiIFIXJDRERESkKkxsiIiJSFCY3REREpChMboiIiEhRmNwQERGRojC5ISIiIkVhckNERESKwuSGiIiIFIXJDRERESkKkxsiIiJSFCY3REREpChMboiIiEhRmNwQERGRojC5ISIiIkVhckNERESKwuSGiIiIFIXJDRERESkKkxsiIiJSFCY3REREpChMboiIiEhRmNwQERGRojC5ISIiIkVhckNERESKwuSGiIiIFIXJDRERESmKRZObuXPnonHjxnB2doazszPatm2LHTt25LnNunXrULduXdjZ2aFRo0bYvn27maIlIiKiksCiyU2VKlUwadIknDx5EiEhIXjxxRfRs2dPXLhwIdfyR44cQb9+/TBo0CCcPn0a/v7+8Pf3x/nz580cORERERVXkhBCWDqI7MqVK4cpU6Zg0KBBOdb17dsXSUlJ2Lp1q35ZmzZt0LRpU8ybN8+k/Ws0Gri4uCA+Ph7Ozs6FFjcREREVnYJcv4tNnxudTofVq1cjKSkJbdu2zbVMcHAw/Pz8DJZ17doVwcHBRver1Wqh0WgMHkRERKRcFk9uzp07B0dHR6jVagwZMgQbN25E/fr1cy0bGRkJd3d3g2Xu7u6IjIw0uv/AwEC4uLjoH15eXoUaPxERERUvFk9u6tSpg9DQUBw7dgxDhw7F+++/j4sXLxba/gMCAhAfH69/3Llzp9D2TURERMWPtaUDsLW1hY+PDwCgefPmOHHiBGbMmIE//vgjR1kPDw9ERUUZLIuKioKHh4fR/avVaqjV6sINmoiIiIoti9fcPE2WZWi12lzXtW3bFnv37jVYtnv3bqN9dIiIiKj0sWjNTUBAALp3746qVasiISEBK1euxIEDBxAUFAQAGDBgACpXrozAwEAAwIgRI9CxY0dMmzYNPXr0wOrVqxESEoL58+db8jCIiIioGLFochMdHY0BAwYgIiICLi4uaNy4MYKCgtClSxcAQHh4OFSqJ5VL7dq1w8qVK/HDDz/gu+++Q61atbBp0yY0bNjQUodARERExUyxG+emqHGcGyIiopKnRI5zQ0RERFQYmNwQERGRojC5ISIiIkVhckNERESKwuSGiIiIFIXJDRERESkKkxsiIiJSFCY3REREpChMboiIiEhRmNwQERGRojC5ISIiIkVhckNERESKwuSGiIiIFIXJDRERESmKtaUDICIqTW4mRmNv5DkkZmhRrUwFdPFsDEdrO0uHRaQoTG6IiMwgVZeO8efWYW/keVhJEiSooBM6/HppG75r6I/ulXwtHSKRYrBZiojIDCacW4/9kRcAADohkCF0EAC0cjrGnl2H4AdXLRsgkYIwuSEiKmI3E6OxJ/IcZIhc16sgYcG1vWaOiki5mNwQERWxfVHnoYJkdL0MgfPxd/AgVWPGqIiUi8kNEVERS85Ig0oyntw8Kac1QzREysfkhoioiFUrUwEZQs6zjK3KGhXtnM0UEZGyMbkhIipifh6NYG9la7RhykpS4ZVKvnCwVps1LiKlYnJDRFTEHKzV+KHhmwCQo++NlaSCm9oZn9Tys0RoRIrEcW6IiMygi2djuNg4YP61vTgbdxsAoFZZ45XKzfCJjx/KqR0tHCGRcjC5ISIyk1YVfNCqgg8eaROQnJGGinZOsLOytXRYRIrD5IaIyMzKq51Qnt1riIoM+9wQERGRojC5ISIiIkVhckNERESKwuSGiIiIFIXJDRERESkKkxsiIiJSFIsmN4GBgWjZsiWcnJzg5uYGf39/XLlyJc9tlixZAkmSDB52dnZmipiIiIiKO4smNwcPHsSwYcNw9OhR7N69G+np6Xj55ZeRlJSU53bOzs6IiIjQP27fvm2miImIiKi4s+ggfjt37jR4vmTJEri5ueHkyZPo0KGD0e0kSYKHh0dRh0dEREQlULHqcxMfHw8AKFeuXJ7lEhMTUa1aNXh5eaFnz564cOGC0bJarRYajcbgQURERMpVbJIbWZYxcuRItG/fHg0bNjRark6dOli0aBE2b96M5cuXQ5ZltGvXDnfv3s21fGBgIFxcXPQPLy+vojoEIiIiKgYkIYSwdBAAMHToUOzYsQOHDx9GlSpVTN4uPT0d9erVQ79+/TBx4sQc67VaLbRarf65RqOBl5cX4uPj4ezsXCixExERUdHSaDRwcXEx6fpdLCbOHD58OLZu3YpDhw4VKLEBABsbG/j6+uLatWu5rler1VCrOUMdERFRaWHRZikhBIYPH46NGzdi3759qF69eoH3odPpcO7cOXh6ehZBhERERFTSWLTmZtiwYVi5ciU2b94MJycnREZGAgBcXFxgb28PABgwYAAqV66MwMBAAMCECRPQpk0b+Pj4IC4uDlOmTMHt27fx0UcfWew4iIiIqPiwaHIzd+5cAECnTp0Mli9evBgDBw4EAISHh0OlelLBFBsbi8GDByMyMhKurq5o3rw5jhw5gvr165srbCIiIirGik2HYnMpSIckIiIiKh4Kcv0uNreCExERERUGJjdERESkKExuiIiISFGY3BAREZGiMLkhIiIiRWFyQ0RERIrC5IaIiIgUhckNERERKQqTGyIiIlIUJjdERESkKExuiIiISFGY3BAREZGiMLkhIiIiRWFyQ0RERIrC5IaIiIgUhckNERERKQqTGyIiIlIUJjdERESkKExuiIiISFGY3BAREZGiMLkhIiIiRWFyQ0RERIrC5IaIiIgUhckNERERKQqTGyIiIlIUJjdERESkKExuiIiISFGY3BAREZGiMLkhIiIiRWFyQ0RERIrC5IaIiIgUhckNERERKUqBk5uIiAgsX74c27dvR1pamsG6pKQkTJgwweR9BQYGomXLlnBycoKbmxv8/f1x5cqVfLdbt24d6tatCzs7OzRq1Ajbt28v6GEQERGRQhUouTlx4gTq16+PYcOGoXfv3mjQoAEuXLigX5+YmIjx48ebvL+DBw9i2LBhOHr0KHbv3o309HS8/PLLSEpKMrrNkSNH0K9fPwwaNAinT5+Gv78//P39cf78+YIcChERESmUJIQQphbu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qVi4cCH27duHXbt2WeoQiAhATScPzGg+EAGhKxGXngxrSQWBzBqb5q41EOjbH6o8anaIiAqTRZObkJAQdO7cWf981KhRAID3338fS5YsQUREBMLDw/Xr09LSMHr0aNy7dw8ODg5o3Lgx9uzZY7APIrKM5uVrYFvnb3Eg6iLCEiJgq7LG/yrWRV2XypYOjYhKGUkIYfz+TQXSaDRwcXFBfHy8wUCAREREVHwV5PrNemIiIiJSFCY3REREpChMboiIiEhRmNwQERGRojC5ISIiIkVhckNERESKwuSGiIiIFIXJDRERESkKkxsiIiJSFCY3REREpChMboiIiEhRmNwQERGRojC5ISIiIkVhckNERESKwuSGiIiIFIXJDRERESkKkxsiIiJSFCY3REREpChMboiIiEhRmNwQERGRojC5ISIiIkVhckNERESKwuSGiIiIFIXJDRERESkKkxsiIiJSFCY3REREpChMboiIiEhRmNwQERGRojC5ISIiIkVhckNERESKwuSGiIiIFIXJDRERESmKRZObQ4cO4bXXXkOlSpUgSRI2bdqU7zYHDhxAs2bNoFar4ePjgyVLlhR5nERERFRyWDS5SUpKQpMmTTB79myTyt+8eRM9evRA586dERoaipEjR+Kjjz5CUFBQEUdKREREJYW1JV+8e/fu6N69u8nl582bh+rVq2PatGkAgHr16uHw4cP47bff0LVr16IKk4iIiEqQEtXnJjg4GH5+fgbLunbtiuDgYAtFRERERMWNRWtuCioyMhLu7u4Gy9zd3aHRaJCSkgJ7e/sc22i1Wmi1Wv1zjUZT5HESERGR5ZSomptnERgYCBcXF/3Dy8vL0iERERFRESpRyY2HhweioqIMlkVFRcHZ2TnXWhsACAgIQHx8vP5x584dc4RKREREFlKimqXatm2L7du3GyzbvXs32rZta3QbtVoNtVpd1KERERFRMWHRmpvExESEhoYiNDQUQOat3qGhoQgPDweQWesyYMAAffkhQ4bgxo0b+Prrr3H58mXMmTMHa9euxRdffGGJ8ImIiKgYsmhyExISAl9fX/j6+gIARo0aBV9fX4wZMwYAEBERoU90AKB69erYtm0bdu/ejSZNmmDatGlYuHAhbwMnIiIiPUkIISwdhDlpNBq4uLggPj4ezs7Olg6HiIiITFCQ63eJ6lBMRERElJ8S1aGY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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Кластеризация с использованием KMeans\n", + "optimal_k = 4 # Выбираем на основе графиков\n", + "kmeans = KMeans(n_clusters=optimal_k, random_state=42)\n", + "labels = kmeans.fit_predict(reduced_data)\n", + "\n", + "# Преобразуем данные из cupy в numpy\n", + "reduced_data_np = reduced_data.get()\n", + "labels_np = labels.get()\n", + "\n", + "# Визуализация кластеров\n", + "plt.scatter(reduced_data_np[:, 0], reduced_data_np[:, 1], c=labels_np, cmap='viridis')\n", + "plt.title('Кластеры (KMeans)')\n", + "plt.xlabel('PC1')\n", + "plt.ylabel('PC2')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "407d268e", + "metadata": {}, + "source": [ + "### Оценка качества кластеризации" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "d00795e2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Силуэт для кластеризации: 0.58\n" + ] + } + ], + "source": [ + "# Оценка коэффициента силуэта\n", + "silhouette = silhouette_score(reduced_data, labels)\n", + "print(f'Силуэт для кластеризации: {silhouette:.2f}')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Lab_4/lab_products_clustering_cuml.ipynb b/Lab_4/lab_products_clustering_cuml.ipynb deleted file mode 100644 index 435b668..0000000 --- a/Lab_4/lab_products_clustering_cuml.ipynb +++ /dev/null @@ -1,200 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "e7893b9e", - "metadata": {}, - "source": [ - "# Лабораторная работа: Методы искусственного интеллекта\n", - "## Задача кластеризации продуктов с использованием cuML\n", - "### Вариант: Продукты\n", - "В данной работе используется библиотека cuML для GPU-ускоренного анализа данных. Цель: провести кластеризацию продуктов на основе их характеристик." - ] - }, - { - "cell_type": "markdown", - "id": "e3834005", - "metadata": {}, - "source": [ - "### Загрузка и исследование данных" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5530d138", - "metadata": {}, - "outputs": [], - "source": [ - "import cudf\n", - "import cuml\n", - "from cuml.preprocessing import LabelEncoder\n", - "from cuml.decomposition import PCA\n", - "from cuml.cluster import KMeans\n", - "import cupy as cp\n", - "import matplotlib.pyplot as plt\n", - "\n", - "# Загрузка данных\n", - "df = cudf.read_csv('your_dataset_path.csv')\n", - "print(df.info())\n", - "print(df.head())" - ] - }, - { - "cell_type": "markdown", - "id": "49112908", - "metadata": {}, - "source": [ - "### Предварительная обработка данных" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1e3ef9fa", - "metadata": {}, - "outputs": [], - "source": [ - "# Обработка пропущенных значений\n", - "df = df.dropna()\n", - "\n", - "# Кодирование категориального признака 'items'\n", - "label_encoder = LabelEncoder()\n", - "df['items_encoded'] = label_encoder.fit_transform(df['items'])\n", - "\n", - "# Нормализация числовых признаков\n", - "numeric_features = ['items_encoded', 'price']\n", - "df_scaled = df[numeric_features].astype('float32')\n", - "\n", - "# Преобразование данных в формат cupy\n", - "X = cp.asarray(df_scaled.values)" - ] - }, - { - "cell_type": "markdown", - "id": "ff5f1f8f", - "metadata": {}, - "source": [ - "### Понижение размерности и визуализация данных" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e15c80bb", - "metadata": {}, - "outputs": [], - "source": [ - "# Применение PCA для понижения размерности\n", - "pca = PCA(n_components=2)\n", - "reduced_data = pca.fit_transform(X)\n", - "\n", - "# Преобразуем данные из cupy в numpy\n", - "reduced_data_np = reduced_data.get()\n", - "\n", - "# Визуализация данных\n", - "plt.scatter(reduced_data_np[:, 0], reduced_data_np[:, 1])\n", - "plt.title('Визуализация данных после PCA')\n", - "plt.xlabel('PC1')\n", - "plt.ylabel('PC2')\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "f2eef505", - "metadata": {}, - "source": [ - "### Выбор оптимального количества кластеров" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f72195d2", - "metadata": {}, - "outputs": [], - "source": [ - "# Оценка инерции и коэффициента силуэта\n", - "inertia = []\n", - "silhouette_scores = []\n", - "k_range = range(2, 11)\n", - "for k in k_range:\n", - " kmeans = KMeans(n_clusters=k, random_state=42)\n", - " kmeans.fit(reduced_data)\n", - " inertia.append(kmeans.inertia_)\n", - " silhouette_scores.append(cuml.metrics.silhouette_score(reduced_data, kmeans.labels_))\n", - "\n", - "# Построение графиков\n", - "plt.figure(figsize=(14, 5))\n", - "plt.subplot(1, 2, 1)\n", - "plt.plot(k_range, inertia, marker='o')\n", - "plt.title('Критерий инерции')\n", - "plt.xlabel('Число кластеров')\n", - "plt.ylabel('Инерция')\n", - "\n", - "plt.subplot(1, 2, 2)\n", - "plt.plot(k_range, silhouette_scores, marker='o')\n", - "plt.title('Коэффициент силуэта')\n", - "plt.xlabel('Число кластеров')\n", - "plt.ylabel('Силуэт')\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "180e85ac", - "metadata": {}, - "source": [ - "### Кластерный анализ" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "dd573024", - "metadata": {}, - "outputs": [], - "source": [ - "# Кластеризация с использованием KMeans\n", - "optimal_k = 4 # Выбираем на основе графиков\n", - "kmeans = KMeans(n_clusters=optimal_k, random_state=42)\n", - "labels = kmeans.fit_predict(reduced_data)\n", - "\n", - "# Визуализация кластеров\n", - "plt.scatter(reduced_data[:, 0], reduced_data[:, 1], c=labels, cmap='viridis')\n", - "plt.title('Кластеры (KMeans)')\n", - "plt.xlabel('PC1')\n", - "plt.ylabel('PC2')\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "407d268e", - "metadata": {}, - "source": [ - "### Оценка качества кластеризации" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d00795e2", - "metadata": {}, - "outputs": [], - "source": [ - "# Оценка коэффициента силуэта\n", - "silhouette = cuml.metrics.silhouette_score(reduced_data, labels)\n", - "print(f'Силуэт для кластеризации: {silhouette:.2f}')" - ] - } - ], - "metadata": { - "language_info": { - "name": "python" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -}