4_lab/.ipynb_checkpoints/Untitled-checkpoint.ipynb
2026-05-05 21:25:44 +03:00

250 lines
81 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"id": "2ef67c40-ff50-4fa5-bc46-5bfa80c5071f",
"metadata": {},
"source": [
"**Цель задачи:** \n",
"Продемонстрировать применение метода **Neighborhood Components Analysis (NCA)** для снижения размерности. \n",
"\n"
]
},
{
"cell_type": "markdown",
"id": "2d57ee39-1e73-477f-aed0-52d2dd1a6afd",
"metadata": {},
"source": [
"импорты"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "0517ca88-b340-46fa-8174-6a9cdf5bfaf1",
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from matplotlib.colors import ListedColormap\n",
"from sklearn import datasets\n",
"from sklearn.inspection import DecisionBoundaryDisplay\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.neighbors import KNeighborsClassifier, NeighborhoodComponentsAnalysis\n",
"from sklearn.pipeline import Pipeline\n",
"from sklearn.preprocessing import StandardScaler\n",
"from sklearn.metrics import accuracy_score\n",
"from sklearn.datasets import load_wine\n",
"import openml\n",
"from sklearn.preprocessing import LabelEncoder"
]
},
{
"cell_type": "markdown",
"id": "a6021788-2a59-4488-886f-bbecde4631ef",
"metadata": {},
"source": [
"датасет"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "4f1b36a5-4a0e-4561-a996-2d7bc91f14c3",
"metadata": {},
"outputs": [],
"source": [
"dataset = datasets.load_iris()\n",
"X, y = dataset.data, dataset.target\n",
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)\n",
"scaler = StandardScaler()\n",
"X_train_s = scaler.fit_transform(X_train)\n",
"X_test_s = scaler.transform(X_test)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "1be6313b-5450-4542-8fe3-8c43acf77cb0",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Без NCA: 1.000\n",
"С NCA: 0.978\n",
"Разница: -0.022\n"
]
}
],
"source": [
"knn = KNeighborsClassifier(n_neighbors=3)\n",
"knn.fit(X_train_s, y_train)\n",
"acc1 = accuracy_score(y_test, knn.predict(X_test_s))\n",
"\n",
"# kNN с NCA (сжимаем 4 признака → 2)\n",
"nca = NeighborhoodComponentsAnalysis(n_components=2, random_state=42)\n",
"X_train_nca = nca.fit_transform(X_train_s, y_train)\n",
"X_test_nca = nca.transform(X_test_s)\n",
"\n",
"knn_nca = KNeighborsClassifier(n_neighbors=3)\n",
"knn_nca.fit(X_train_nca, y_train)\n",
"acc2 = accuracy_score(y_test, knn_nca.predict(X_test_nca))\n",
"\n",
"print(f\"Без NCA: {acc1:.3f}\")\n",
"print(f\"С NCA: {acc2:.3f}\")\n",
"print(f\"Разница: {acc2 - acc1:+.3f}\")"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "47b8ebf1-b747-434c-aeef-9444ce2ffb43",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA9QAAAGKCAYAAADtzwkqAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAAPYQAAD2EBqD+naQAAyEdJREFUeJzs3QV4W2UXB/B/pO7ucx8z5owxYNiGbbi7u8OQ4QyHD3cdMgYMZ8Bg2BiwjRnMrau7e5N8z3nbdGkba9qkSfv/PU+2Nrm9ublpc++573nP0ZhMJhOIiIiIiIiIqEO0HVuciIiIiIiIiBhQExEREREREbmII9RERERERERELmBATUREREREROQCBtRERERERERELmBATUREREREROQCBtRERERERERELmBATUREREREROQCBtRERERERERELmBATUREREREROQCBtRERERERG289dZb0Gg0dm/77befz++3e+65R72WhIQEVFdXt3u8X79+OOaYY9rdX1tbi6eeegqTJ09GREQEAgMDMWTIEFx11VXYtm2b1ee65ZZb1HOdeuqpbnktRN1B3y3PStTJA9z555+PVatWYcKECa0eO++88/D2229j5MiR+Pfff7mfiYiIqFPuu+8+9O/fv939Dz74YI/as/n5+XjxxRdx4403Oly2sLAQRx11FNasWaOC7TPOOAOhoaHYunUrPvzwQ7zyyiuor69v9TMmkwkffPCBCtC//PJLVFRUICwszI2viMgzGFBTj7Fjxw4sXLiwuzeDiIiIepBZs2a1u4AvXnvtNRVY9hRjx47FY489hiuuuAJBQUF2l5UBjLVr1+Ljjz/GiSee2Oqx+++/H3fccUe7n/n555+RmZmJn376CUceeSQ+/fRTnHvuuV3+Oog8jSnf1GPIlWI/Pz8MHTq0uzeFiIiIeqHGxkYVUA4cOBABAQFqNPb2229HXV1du2W//fZbzJgxQ43ShoeHY+LEiXj//fdbLbNnzx6b6eaWjEYjnn76aZWhJ6nXkr596aWXoqSkxOltnz9/PvLy8tQotT1//fUXvv76a1x44YXtgmkhr/vxxx9vd/97772HESNG4JBDDsFhhx2mvifqCRhQU4+wc+dONTotB4/ExESry8jjkyZNQnBwMKKionDQQQfh+++/V4/J1VKtVqsOJpbkwCYHLcuDS0cOlvYOhPJY23la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emYNdLqmHnMffZGF6Ch/PHznSIwYwpESIiLyrOrqauTn5anzJbOy0lJVGT0hMRF6vcdP3YiIyA63DsNJr8lff/0Ve/bsUXOp5XtJHTvzzDPd+bREDtXUGnDN7euRmV2rvjcYTOomSsvqcd2dG5Cb3/QYERGRJ9TX1SE3J6dVMG1W1/yYhxMLiYioOwPq/Px8nHPOORg6dKjqRblq1Sp89913OPzww935tEQOff9zHvIK6mAwtj8xkfOY2joDPv06i3uSiIg8RuahO6pLIyPYRETkPdyaN/T666+7c/VELvvp9wJoNICtC/0SVP/wawGuOH8g9zIREbmdjDzLvGlHqiorERISwneE2v3+VFYZYIIJYSF6zrcn8iBOxKFeqaraYDOYNqutMXhqc4iIiJxK57aWDk69+3fmmx/z8MGnGdiT0ZS90Dc1CKfNScMxRyQysCbyAJYypl5pQJ/glkJk1mi1QL8+wR7dJiIi6r2kmrczBcf8/f09sj3kG8H006/swIL/bUV65r6pAHuzavDIc9vwxIvbOeeeyAMYUFOvdPys5JYiZNbIAMDc2cke3SYiIurdwiMiHC4Txl7d1GztxlJ88lW2+toyucH89Wff5qi2oETkXgyoqVcaOTQcp81JVV/LXGpL8v30KTGYOT2+ezaOiIh6Jel1Kv2mbYmOjoafn59Ht4m816dfZ9vNttNpgSXfNAXcROQ+nENNvdaVFwxQad3vfZyBjOwadV9stD9OOjYFp81Ns3uQIiIi6mparRaJSUmq2nd5WVnLfGlJ846MikJoaCh3OrXYvrvSbradwQjs2O240B0RdQ4DaurV89WOOTwJRx+WiKKSenVQio0OYCBNRETdGlTLSHRUVBQMjY0qbcqZudXU+wQF6hwuExjIZFQid+NfGfV6ElhLIJ0QF8hgmoiIvKdImZ8fg2my6ZBpcdDaSaaTxw49MI57kMjNGFATEREREfmY445KQkiIXnUmaUvuCw7W47ijWGCVyN0YUBMRERER+ZioCH888+AY9b+Q2i/m+i+R4X54+oHRiIlimzUid+OkHCIiIiIiHzR4QCg+fn0yfllZqNpoScussftF4OBpcfD347gZkScwoCYiIiIi8lF+flocdlC8uhGR5/HSFREREREREZELGFATERERERERuYABNREREREREZELGFATERERERERuYABNRER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",
"text/plain": [
"<Figure size 1200x400 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(12, 4))\n",
"\n",
"plt.subplot(1, 2, 1)\n",
"plt.scatter(X_train_s[:, 0], X_train_s[:, 1], c=y_train, cmap='coolwarm')\n",
"plt.title(f\"Исходные данные\\nТочность: {acc1:.3f}\")\n",
"\n",
"plt.subplot(1, 2, 2)\n",
"plt.scatter(X_train_nca[:, 0], X_train_nca[:, 1], c=y_train, cmap='coolwarm')\n",
"plt.title(f\"После NCA\\nТочность: {acc2:.3f}\")\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "1e48f3fa-d5c6-42ba-be81-e0f4c094b387",
"metadata": {},
"outputs": [],
"source": [
"dataset = openml.datasets.get_dataset(1412) \n",
"X2, y2, _, _ = dataset.get_data(target=dataset.default_target_attribute)\n",
"X2 = X2.select_dtypes(include=['float64', 'int64'])"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "070555c5-e1d5-4434-98d0-70fa76ff2f8a",
"metadata": {},
"outputs": [],
"source": [
"X2.dropna(inplace=True)\n",
"scaler = StandardScaler()\n",
"X2_train, X2_test, y2_train, y2_test = train_test_split(\n",
" X2, y2, test_size=0.3, random_state=42\n",
")\n",
"X2_train_s = scaler.fit_transform(X2_train)\n",
"X2_test_s = scaler.transform(X2_test)\n",
"X_scaled = scaler.fit_transform(X)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "0a00c3ee-0098-443a-887a-3ebe482f5689",
"metadata": {},
"outputs": [
{
"ename": "ValueError",
"evalue": "Found input variables with inconsistent numbers of samples: [68, 158]",
"output_type": "error",
"traceback": [
"\u001b[31m---------------------------------------------------------------------------\u001b[39m",
"\u001b[31mValueError\u001b[39m Traceback (most recent call last)",
"\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[7]\u001b[39m\u001b[32m, line 7\u001b[39m\n\u001b[32m 3\u001b[39m X2_test_nca = nca2.transform(X2_test_s)\n\u001b[32m 4\u001b[39m \n\u001b[32m 5\u001b[39m knn_nca2 = KNeighborsClassifier(n_neighbors=\u001b[32m3\u001b[39m)\n\u001b[32m 6\u001b[39m knn_nca2.fit(X2_train_nca, y2_train)\n\u001b[32m----> \u001b[39m\u001b[32m7\u001b[39m acc_external_base = accuracy_score(y2_test, knn_nca2.predict(X2_train_nca))\n\u001b[32m 8\u001b[39m acc_external = accuracy_score(y2_test, knn_nca2.predict(X2_test_nca))\n",
"\u001b[36mFile \u001b[39m\u001b[32m~\\OneDrive\\Desktop\\Учебная практика\\4 задание\\.venv\\Lib\\site-packages\\sklearn\\utils\\_param_validation.py:218\u001b[39m, in \u001b[36mvalidate_params.<locals>.decorator.<locals>.wrapper\u001b[39m\u001b[34m(*args, **kwargs)\u001b[39m\n\u001b[32m 212\u001b[39m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[32m 213\u001b[39m \u001b[38;5;28;01mwith\u001b[39;00m config_context(\n\u001b[32m 214\u001b[39m skip_parameter_validation=(\n\u001b[32m 215\u001b[39m prefer_skip_nested_validation \u001b[38;5;129;01mor\u001b[39;00m global_skip_validation\n\u001b[32m 216\u001b[39m )\n\u001b[32m 217\u001b[39m ):\n\u001b[32m--> \u001b[39m\u001b[32m218\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[30;43mfunc\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43margs\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43m*\u001b[39;49m\u001b[30;43mkwargs\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m 219\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m InvalidParameterError \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[32m 220\u001b[39m \u001b[38;5;66;03m# When the function is just a wrapper around an estimator, we allow\u001b[39;00m\n\u001b[32m 221\u001b[39m \u001b[38;5;66;03m# the function to delegate validation to the estimator, but we replace\u001b[39;00m\n\u001b[32m 222\u001b[39m \u001b[38;5;66;03m# the name of the estimator by the name of the function in the error\u001b[39;00m\n\u001b[32m 223\u001b[39m \u001b[38;5;66;03m# message to avoid confusion.\u001b[39;00m\n\u001b[32m 224\u001b[39m msg = re.sub(\n\u001b[32m 225\u001b[39m \u001b[33mr\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mparameter of \u001b[39m\u001b[33m\\\u001b[39m\u001b[33mw+ must be\u001b[39m\u001b[33m\"\u001b[39m,\n\u001b[32m 226\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mparameter of \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mfunc.\u001b[34m__qualname__\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m must be\u001b[39m\u001b[33m\"\u001b[39m,\n\u001b[32m 227\u001b[39m \u001b[38;5;28mstr\u001b[39m(e),\n\u001b[32m 228\u001b[39m )\n",
"\u001b[36mFile \u001b[39m\u001b[32m~\\OneDrive\\Desktop\\Учебная практика\\4 задание\\.venv\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:411\u001b[39m, in \u001b[36maccuracy_score\u001b[39m\u001b[34m(y_true, y_pred, normalize, sample_weight)\u001b[39m\n\u001b[32m 409\u001b[39m \u001b[38;5;66;03m# Compute accuracy for each possible representation\u001b[39;00m\n\u001b[32m 410\u001b[39m y_true, y_pred = attach_unique(y_true, y_pred)\n\u001b[32m--> \u001b[39m\u001b[32m411\u001b[39m y_type, y_true, y_pred, sample_weight = \u001b[30;43m_check_targets\u001b[39;49m\u001b[30;43m(\u001b[39;49m\n\u001b[32m 412\u001b[39m \u001b[30;43m \u001b[39;49m\u001b[30;43my_true\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43my_pred\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43msample_weight\u001b[39;49m\n\u001b[32m 413\u001b[39m \u001b[30;43m\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m 415\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m y_type.startswith(\u001b[33m\"\u001b[39m\u001b[33mmultilabel\u001b[39m\u001b[33m\"\u001b[39m):\n\u001b[32m 416\u001b[39m differing_labels = _count_nonzero(y_true - y_pred, xp=xp, device=device, axis=\u001b[32m1\u001b[39m)\n",
"\u001b[36mFile \u001b[39m\u001b[32m~\\OneDrive\\Desktop\\Учебная практика\\4 задание\\.venv\\Lib\\site-packages\\sklearn\\metrics\\_classification.py:108\u001b[39m, in \u001b[36m_check_targets\u001b[39m\u001b[34m(y_true, y_pred, sample_weight)\u001b[39m\n\u001b[32m 77\u001b[39m \u001b[38;5;250m\u001b[39m\u001b[33;03m\"\"\"Check that y_true and y_pred belong to the same classification task.\u001b[39;00m\n\u001b[32m 78\u001b[39m \n\u001b[32m 79\u001b[39m \u001b[33;03mThis converts multiclass or binary types to a common shape, and raises a\u001b[39;00m\n\u001b[32m (...)\u001b[39m\u001b[32m 105\u001b[39m \u001b[33;03msample_weight : array or None\u001b[39;00m\n\u001b[32m 106\u001b[39m \u001b[33;03m\"\"\"\u001b[39;00m\n\u001b[32m 107\u001b[39m xp, _ = get_namespace(y_true, y_pred, sample_weight)\n\u001b[32m--> \u001b[39m\u001b[32m108\u001b[39m \u001b[30;43mcheck_consistent_length\u001b[39;49m\u001b[30;43m(\u001b[39;49m\u001b[30;43my_true\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43my_pred\u001b[39;49m\u001b[30;43m,\u001b[39;49m\u001b[30;43m \u001b[39;49m\u001b[30;43msample_weight\u001b[39;49m\u001b[30;43m)\u001b[39;49m\n\u001b[32m 109\u001b[39m type_true = type_of_target(y_true, input_name=\u001b[33m\"\u001b[39m\u001b[33my_true\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m 110\u001b[39m type_pred = type_of_target(y_pred, input_name=\u001b[33m\"\u001b[39m\u001b[33my_pred\u001b[39m\u001b[33m\"\u001b[39m)\n",
"\u001b[36mFile \u001b[39m\u001b[32m~\\OneDrive\\Desktop\\Учебная практика\\4 задание\\.venv\\Lib\\site-packages\\sklearn\\utils\\validation.py:464\u001b[39m, in \u001b[36mcheck_consistent_length\u001b[39m\u001b[34m(*arrays)\u001b[39m\n\u001b[32m 462\u001b[39m lengths = [_num_samples(X) \u001b[38;5;28;01mfor\u001b[39;00m X \u001b[38;5;129;01min\u001b[39;00m arrays \u001b[38;5;28;01mif\u001b[39;00m X \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m]\n\u001b[32m 463\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(\u001b[38;5;28mset\u001b[39m(lengths)) > \u001b[32m1\u001b[39m:\n\u001b[32m--> \u001b[39m\u001b[32m464\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[32m 465\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mFound input variables with inconsistent numbers of samples: \u001b[39m\u001b[38;5;132;01m%r\u001b[39;00m\u001b[33m\"\u001b[39m\n\u001b[32m 466\u001b[39m % [\u001b[38;5;28mint\u001b[39m(l) \u001b[38;5;28;01mfor\u001b[39;00m l \u001b[38;5;129;01min\u001b[39;00m lengths]\n\u001b[32m 467\u001b[39m )\n",
"\u001b[31mValueError\u001b[39m: Found input variables with inconsistent numbers of samples: [68, 158]"
]
}
],
"source": [
"nca2 = NeighborhoodComponentsAnalysis(n_components=2, random_state=42)\n",
"X2_train_nca = nca2.fit_transform(X2_train_s, y2_train)\n",
"X2_test_nca = nca2.transform(X2_test_s)\n",
"knn_base = KNeighborsClassifier(n_neighbors=3)\n",
"knn_base.fit(X2_train_s, y2_train)\n",
"acc_without = accuracy_score(y2_test, knn_base.predict(X2_test_s))\n",
"knn_nca2 = KNeighborsClassifier(n_neighbors=3)\n",
"knn_nca2.fit(X2_train_nca, y2_train)\n",
"acc_with = accuracy_score(y2_test, knn_nca2.predict(X2_test_nca))"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "41d2c068-6573-4995-b949-8beabf6c8210",
"metadata": {},
"outputs": [],
"source": [
"le = LabelEncoder()\n",
"y2_train_encoded = le.fit_transform(y2_train)\n",
"y2_test_encoded = le.transform(y2_test)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "57231627-ff55-4f0c-9d6c-c41cf5e6a6bc",
"metadata": {},
"outputs": [],
"source": [
"plt.figure(figsize=(12, 4))\n",
"\n",
"plt.subplot(1, 2, 1)\n",
"plt.scatter(X2_train_s[:, 0], X2_train_s[:, 1], c=y2_train_encoded, cmap='coolwarm')\n",
"plt.title(F\"Исходные данные{acc_external_base:.3F}\")\n",
"\n",
"plt.subplot(1, 2, 2)\n",
"plt.scatter(X2_train_nca[:, 0], X2_train_nca[:, 1], c=y2_train_encoded, cmap='coolwarm')\n",
"plt.title(f\"После NCA (точность: {acc_external:.3f})\")\n",
"\n",
"plt.show()"
]
}
],
"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.13.11"
}
},
"nbformat": 4,
"nbformat_minor": 5
}