diff --git a/lab_5/laba5.ipynb b/lab_5/laba5.ipynb index b723157..2618c81 100644 --- a/lab_5/laba5.ipynb +++ b/lab_5/laba5.ipynb @@ -531,7 +531,43 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "пол часа код работал, пошёл устанавливать cuda" + "# Кластеризация с помощью K-means\n", + "После выбора оптимального числа кластеров (например, 3), мы применим K-means для кластеризации и визуализируем результаты. \n", + "Ключевой термин:\n", + "- K-means — алгоритм кластеризации, который группирует данные вокруг центров (центроидов) кластеров." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'KMeans' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[5], line 3\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;66;03m# Кластеризация с помощью K-means\u001b[39;00m\n\u001b[0;32m 2\u001b[0m optimal_clusters \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m3\u001b[39m\n\u001b[1;32m----> 3\u001b[0m kmeans \u001b[38;5;241m=\u001b[39m \u001b[43mKMeans\u001b[49m(n_clusters\u001b[38;5;241m=\u001b[39moptimal_clusters, random_state\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m42\u001b[39m)\n\u001b[0;32m 4\u001b[0m df[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mCluster\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;241m=\u001b[39m kmeans\u001b[38;5;241m.\u001b[39mfit_predict(df_scaled)\n\u001b[0;32m 6\u001b[0m \u001b[38;5;66;03m# Визуализация кластеров с использованием PCA\u001b[39;00m\n", + "\u001b[1;31mNameError\u001b[0m: name 'KMeans' is not defined" + ] + } + ], + "source": [ + "# Кластеризация с помощью K-means\n", + "optimal_clusters = 3\n", + "kmeans = KMeans(n_clusters=optimal_clusters, random_state=42)\n", + "df['Cluster'] = kmeans.fit_predict(df_scaled)\n", + "\n", + "# Визуализация кластеров с использованием PCA\n", + "plt.figure(figsize=(8, 6))\n", + "plt.scatter(df_pca[:, 0], df_pca[:, 1], c=df['Cluster'], cmap='viridis', edgecolor='k', alpha=0.6)\n", + "plt.title(\"Кластеры, определенные K-means (PCA)\")\n", + "plt.xlabel(\"Главная компонента 1\")\n", + "plt.ylabel(\"Главная компонента 2\")\n", + "plt.colorbar(label='Кластер')\n", + "plt.show()" ] } ],