{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Лабораторная работа 2\n", "\n", "Вариант - 9\n", "\n", "Датасеты - магазины\n", "\n", "1. Цены на кофе\thttps://www.kaggle.com/datasets/mayankanand2701/starbucks-stock-price-dataset\n", "2. Цены на акции\thttps://www.kaggle.com/datasets/nancyalaswad90/yamana-gold-inc-stock-price\n", "3. Цены на золото\thttps://www.kaggle.com/datasets/sid321axn/gold-price-prediction-dataset\n" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Index(['id', 'carat', 'cut', 'color', 'clarity', 'depth', 'table', 'price',\n", " 'x', 'y', 'z'],\n", " dtype='object')\n", "Зашумленные столбцы: []\n", "Смещение: id 0.000000\n", "carat 1.116705\n", "cut -0.717161\n", "color -0.189454\n", "clarity 0.551503\n", "depth -0.082187\n", "table 0.796836\n", "price 1.618476\n", "x 0.378685\n", "y 2.434233\n", "z 1.522481\n", "dtype: float64\n", "Сильно смещенные столбцы: ['carat', 'price', 'y', 'z']\n", "Данные 2022 года, возможна неактуальность\n", "Выбросы в столбце 'id':\n", "Series([], Name: id, dtype: int64)\n", "\n", "Выбросы в столбце 'carat':\n", "12246 2.06\n", "13002 2.14\n", "13118 2.15\n", "13757 2.22\n", "13991 2.01\n", " ... \n", "27741 2.15\n", "27742 2.04\n", "27744 2.29\n", "27746 2.07\n", "27749 2.29\n", "Name: carat, Length: 1889, dtype: float64\n", "\n", "Выбросы в столбце 'cut':\n", "Series([], Name: cut, dtype: int64)\n", "\n", "Выбросы в столбце 'color':\n", "Series([], Name: color, dtype: int64)\n", "\n", "Выбросы в столбце 'clarity':\n", "Series([], Name: clarity, dtype: int64)\n", "\n", "Выбросы в столбце 'depth':\n", "2 56.9\n", "8 65.1\n", "24 58.1\n", "35 58.2\n", "42 65.2\n", " ... \n", "53882 65.4\n", "53886 58.0\n", "53890 57.9\n", "53895 57.8\n", "53927 58.1\n", "Name: depth, Length: 2545, dtype: float64\n", "\n", "Выбросы в столбце 'table':\n", "2 65.0\n", "91 69.0\n", "145 64.0\n", "219 64.0\n", "227 67.0\n", " ... \n", "53695 65.0\n", "53697 65.0\n", "53756 64.0\n", "53757 64.0\n", "53785 65.0\n", "Name: table, Length: 605, dtype: float64\n", "\n", "Выбросы в столбце 'price':\n", "23820 11886\n", "23821 11886\n", "23822 11888\n", "23823 11888\n", "23824 11888\n", " ... \n", "27745 18803\n", "27746 18804\n", "27747 18806\n", "27748 18818\n", "27749 18823\n", "Name: price, Length: 3540, dtype: int64\n", "\n", "Выбросы в столбце 'x':\n", "11182 0.00\n", "11963 0.00\n", "15951 0.00\n", "22741 9.54\n", "22831 9.38\n", "23644 9.53\n", "24131 9.44\n", "24297 9.49\n", "24328 9.65\n", "24520 0.00\n", "24816 9.42\n", "25460 9.44\n", "25850 9.32\n", "25998 10.14\n", "25999 10.02\n", "26243 0.00\n", "26431 9.42\n", "26444 10.01\n", "26534 9.86\n", "26932 9.30\n", "27130 10.00\n", "27415 10.74\n", "27429 0.00\n", "27514 9.36\n", "27630 10.23\n", "27638 9.51\n", "27649 9.44\n", "27679 9.66\n", "27684 9.35\n", "27685 9.41\n", "49556 0.00\n", "49557 0.00\n", "Name: x, dtype: float64\n", "\n", "Выбросы в столбце 'y':\n", "11963 0.00\n", "15951 0.00\n", "22741 9.38\n", "22831 9.31\n", "23644 9.48\n", "24067 58.90\n", "24131 9.40\n", "24297 9.42\n", "24328 9.59\n", "24520 0.00\n", "25460 9.37\n", "25998 10.10\n", "25999 9.94\n", "26243 0.00\n", "26431 9.34\n", "26444 9.94\n", "26534 9.81\n", "27130 9.85\n", "27415 10.54\n", "27429 0.00\n", "27514 9.31\n", "27630 10.16\n", "27638 9.46\n", "27649 9.38\n", "27679 9.63\n", "27685 9.32\n", "49189 31.80\n", "49556 0.00\n", "49557 0.00\n", "Name: y, dtype: float64\n", "\n", "Выбросы в столбце 'z':\n", "2207 0.00\n", "2314 0.00\n", "4791 0.00\n", "5471 0.00\n", "10167 0.00\n", "11182 0.00\n", "11963 0.00\n", "13601 0.00\n", "14635 1.07\n", "15951 0.00\n", "16283 5.77\n", "17196 5.76\n", "19346 5.97\n", "21758 5.98\n", "22540 5.91\n", "23539 5.79\n", "23644 6.38\n", "24067 8.06\n", "24131 5.85\n", "24297 5.92\n", "24328 6.03\n", "24394 0.00\n", "24520 0.00\n", "25998 6.17\n", "25999 6.24\n", "26100 5.75\n", "26123 0.00\n", "26194 6.16\n", "26243 0.00\n", "26431 6.27\n", "26444 6.31\n", "26534 6.13\n", "26744 5.86\n", "27112 0.00\n", "27130 6.43\n", "27415 6.98\n", "27429 0.00\n", "27503 0.00\n", "27515 5.90\n", "27516 5.90\n", "27517 5.77\n", "27518 5.77\n", "27630 6.72\n", "27679 6.03\n", "27739 0.00\n", "48410 31.80\n", "49556 0.00\n", "49557 0.00\n", "51506 0.00\n", "Name: z, dtype: float64\n", "\n", "Просачивание данных: Высокая корреляция (0.92) между столбцами 'carat' и 'price'\n", "Просачивание данных: Высокая корреляция (0.98) между столбцами 'carat' и 'x'\n", "Просачивание данных: Высокая корреляция (0.95) между столбцами 'carat' и 'y'\n", "Просачивание данных: Высокая корреляция (0.95) между столбцами 'carat' и 'z'\n", "Просачивание данных: Высокая корреляция (0.92) между столбцами 'price' и 'carat'\n", "Просачивание данных: Высокая корреляция (0.98) между столбцами 'x' и 'carat'\n", "Просачивание данных: Высокая корреляция (0.97) между столбцами 'x' и 'y'\n", "Просачивание данных: Высокая корреляция (0.97) между столбцами 'x' и 'z'\n", "Просачивание данных: Высокая корреляция (0.95) между столбцами 'y' и 'carat'\n", "Просачивание данных: Высокая корреляция (0.97) между столбцами 'y' и 'x'\n", "Просачивание данных: Высокая корреляция (0.95) между столбцами 'y' и 'z'\n", "Просачивание данных: Высокая корреляция (0.95) между столбцами 'z' и 'carat'\n", "Просачивание данных: Высокая корреляция (0.97) между столбцами 'z' и 'x'\n", "Просачивание данных: Высокая корреляция (0.95) между столбцами 'z' и 'y'\n", "log_price 8.319386\n", "id 8.135995\n", "log_carat 1.963082\n", "carat 1.961620\n", "y 1.491815\n", "x 1.481414\n", "clarity 0.359837\n", "color 0.288875\n", "cut 0.104551\n", "table 0.057094\n", "depth 0.037126\n", "dtype: float64\n", "Данные по массе достоверны\n", "Уникальные значения 'cut': [4 3 1 2 0]\n", "Уникальные значения 'clarity': [1 2 4 3 5 6 0 7]\n", "carat\n", "0.30 2604\n", "0.31 2249\n", "1.01 2242\n", "2.00 2154\n", "0.70 1982\n", " ... \n", "1.95 3\n", "1.85 3\n", "1.94 3\n", "1.99 3\n", "1.92 2\n", "Name: count, Length: 181, dtype: int64\n", "Index(['carat', 'price', 'cut'], dtype='object')\n", "Обучающая выборка: (32365, 3)\n", "carat\n", "0.30 1562\n", "1.01 1355\n", "0.31 1338\n", "2.00 1269\n", "0.70 1156\n", " ... \n", "1.85 2\n", "1.89 2\n", "1.97 1\n", "1.88 1\n", "1.92 1\n", "Name: count, Length: 181, dtype: int64\n", "Контрольная выборка: (10789, 3)\n", "carat\n", "0.30 500\n", "0.31 474\n", "2.00 441\n", "1.01 435\n", "0.70 425\n", " ... \n", "1.84 1\n", "0.88 1\n", "1.83 1\n", "0.20 1\n", "1.85 1\n", "Name: count, Length: 173, dtype: int64\n", "Тестовая выборка: (10789, 3)\n", "carat\n", "0.30 542\n", "1.01 452\n", "2.00 444\n", "0.31 437\n", "0.70 401\n", " ... \n", "1.68 1\n", "1.98 1\n", "1.87 1\n", "1.48 1\n", "1.99 1\n", "Name: count, Length: 175, dtype: int64\n", "Обучающая выборка: (32365, 3)\n", "carat\n", "0.30 1562\n", "1.01 1355\n", "0.31 1338\n", "2.00 1269\n", "0.70 1156\n", " ... \n", "1.85 2\n", "1.89 2\n", "1.97 1\n", "1.88 1\n", "1.92 1\n", "Name: count, Length: 181, dtype: int64\n" ] }, { "ename": "ValueError", "evalue": "Unknown label type: continuous. Maybe you are trying to fit a classifier, which expects discrete classes on a regression target with continuous values.", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)", "Cell \u001b[1;32mIn[26], line 157\u001b[0m\n\u001b[0;32m 154\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mОбучающая выборка: \u001b[39m\u001b[38;5;124m\"\u001b[39m, df_train\u001b[38;5;241m.\u001b[39mshape)\n\u001b[0;32m 155\u001b[0m \u001b[38;5;28mprint\u001b[39m(df_train\u001b[38;5;241m.\u001b[39mcarat\u001b[38;5;241m.\u001b[39mvalue_counts())\n\u001b[1;32m--> 157\u001b[0m X_resampled, y_resampled \u001b[38;5;241m=\u001b[39m \u001b[43mada\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfit_resample\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdf_train\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdf_train\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mcarat\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 158\u001b[0m df_train_adasyn \u001b[38;5;241m=\u001b[39m pd\u001b[38;5;241m.\u001b[39mDataFrame(X_resampled)\n\u001b[0;32m 160\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mОбучающая выборка после oversampling: \u001b[39m\u001b[38;5;124m\"\u001b[39m, df_train_adasyn\u001b[38;5;241m.\u001b[39mshape)\n", "File \u001b[1;32mc:\\Python312\\Lib\\site-packages\\imblearn\\base.py:208\u001b[0m, in \u001b[0;36mBaseSampler.fit_resample\u001b[1;34m(self, X, y)\u001b[0m\n\u001b[0;32m 187\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Resample the dataset.\u001b[39;00m\n\u001b[0;32m 188\u001b[0m \n\u001b[0;32m 189\u001b[0m \u001b[38;5;124;03mParameters\u001b[39;00m\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 205\u001b[0m \u001b[38;5;124;03m The corresponding label of `X_resampled`.\u001b[39;00m\n\u001b[0;32m 206\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m 207\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_validate_params()\n\u001b[1;32m--> 208\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfit_resample\u001b[49m\u001b[43m(\u001b[49m\u001b[43mX\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[1;32mc:\\Python312\\Lib\\site-packages\\imblearn\\base.py:104\u001b[0m, in \u001b[0;36mSamplerMixin.fit_resample\u001b[1;34m(self, X, y)\u001b[0m\n\u001b[0;32m 83\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mfit_resample\u001b[39m(\u001b[38;5;28mself\u001b[39m, X, y):\n\u001b[0;32m 84\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Resample the dataset.\u001b[39;00m\n\u001b[0;32m 85\u001b[0m \n\u001b[0;32m 86\u001b[0m \u001b[38;5;124;03m Parameters\u001b[39;00m\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 102\u001b[0m \u001b[38;5;124;03m The corresponding label of `X_resampled`.\u001b[39;00m\n\u001b[0;32m 103\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[1;32m--> 104\u001b[0m \u001b[43mcheck_classification_targets\u001b[49m\u001b[43m(\u001b[49m\u001b[43my\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 105\u001b[0m arrays_transformer \u001b[38;5;241m=\u001b[39m ArraysTransformer(X, y)\n\u001b[0;32m 106\u001b[0m X, y, binarize_y \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_check_X_y(X, y)\n", "File \u001b[1;32mc:\\Python312\\Lib\\site-packages\\sklearn\\utils\\multiclass.py:219\u001b[0m, in \u001b[0;36mcheck_classification_targets\u001b[1;34m(y)\u001b[0m\n\u001b[0;32m 211\u001b[0m y_type \u001b[38;5;241m=\u001b[39m type_of_target(y, input_name\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124my\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 212\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m y_type \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m [\n\u001b[0;32m 213\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mbinary\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m 214\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmulticlass\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 217\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmultilabel-sequences\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m 218\u001b[0m ]:\n\u001b[1;32m--> 219\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[0;32m 220\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mUnknown label type: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00my_type\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m. Maybe you are trying to fit a \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 221\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mclassifier, which expects discrete classes on a \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 222\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mregression target with continuous values.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 223\u001b[0m )\n", "\u001b[1;31mValueError\u001b[0m: Unknown label type: continuous. Maybe you are trying to fit a classifier, which expects discrete classes on a regression target with continuous values." ] }, { "data": { "image/png": "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b86cOcjMzMSqVatw7tw5JCcn4/jx44iPj2/xPiEi82JRRURERA7t+PHjGDhwIAYOHAgASExMxMCBA5GUlARnZ2d89913+POf/4yHHnoIsbGxCA0Nxddff2102d3WrVsRHByM0aNHY/z48XjssceM1qDy9PREdnY2ioqKEBoain/84x9ISkoyWstq6NCh2LZtGz744AP0798fn332GXbu3Ik+ffq0XGcQkUXwnioiIiJyaCNHjoQg1D89c1ZW4zfEe3t7Y9u2bQ3G9OvXD19//XWDMRMnTsTEiRMbfT0isi88U0VERERERGQCFlVEREREREQm4OV/REREREStULeFexqNkTkLWDn4zrpRjU1zfvHNSHOlZnd4poqIiIiIiMgELKqIiIiIiIhMwKKKiIiIiIjIBCyqiIiIiIiITMCiioiIiIiIyAQsqoiIiIiIiEzAooqIiIiIiMgELKqIiIiIiIhMwKKKiIiIiIjIBCyqiIiIiIiITMCiioiIiIiIyAQu1k6AiIiIiMiR9UnOQlWNxCzHuvhmpFmOQ+bFM1VEREREREQmYFFFRERERERkAhZVREREREREJmBRRUREREREZAIWVURERERERCZgUUVERERERGQCFlVEREREREQmYFFFRERERERkAhZVREREREREJmBRRURERA7twIEDePLJJxEQEACJRIKdO3ca7RcEAUlJSfD394e7uzvCw8Nx4cIFo5irV69i8uTJkMvl8PLyQmxsLG7cuGEU89133+Hxxx+Hm5sbAgMDsXLlylq5ZGRkIDg4GG5ubujbty+++uors7eXiFoeiyoiIiJyaBUVFejfvz9SU1Pr3L9y5Uq8++67SEtLw5EjR9CmTRsolUrcunVLjJk8eTLOnDkDtVqN3bt348CBA5g5c6a4X6vVIiIiAl27dkVBQQHefvttJCcn44MPPhBjDh06hOeeew6xsbE4efIkoqKiEBUVhdOnT1uu8UTUIlysnQARERGRJY0bNw7jxo2rc58gCFi7di0WL16Mp556CgDwz3/+E76+vti5cycmTZqE77//HpmZmTh27BgGDRoEAFi/fj3Gjx+Pd955BwEBAdi6dSuqq6uxadMmSKVS9O7dG4WFhVi9erVYfK1btw5jx47FvHnzAAArVqyAWq3Ge++9h7S0tBboCSKyFBZVRERE1GoVFRVBo9EgPDxc3Obp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cUr1+hbnTEtLg06nq3NxzmXLliE2NhYLFizA6dOnsW7dOqxZs0Z83Tlz5mDEiBFYtWoVIiMj8emnn+L48eNG69EQERER3c2iRZVKpcLp06dx8OBBS75Mk9V330N2djY8PDwafO6KQXpLpeUw2EeNc4Q+asp9Ns255+H48eMYNWqU+NhwOV1MTAzS09Mxf/58VFRUYObMmSgrK8Njjz1W5+Kc8fHxGD16NJycnBAdHY13331X3G9YnFOlUiE0NBQdO3asd3HOxYsX45VXXkHPnj25OCcRERE1yGJFVXx8PHbv3o0DBw6gc+fO4nY/Pz9UV1ejrKzM6GzV3fcs+Pn54ejRo0bHa+p9D3K5vM6zVED99z1ERERALpfX+RzDdehLjjuhSm+7l+lYk8xJwIpBevZRAxypj5pyn01z7nng4pxERERkr8xeVAmCgNmzZ+OLL75Abm5uremLQ0ND4erqipycHERHRwMAzp8/j+LiYvGeBYVCgddffx2lpaXiFMlqtRpyuRwhISFizL1/MTflvofGrtGu0kts+t4HW8A+apwj9FFT7mfgPQ9ERETUmpi9qFKpVNi2bRv+85//oF27duI9UJ6ennB3d4enpydiY2ORmJgIb29vyOVyzJ49GwqFAkOGDAEAREREICQkBC+88AJWrlwJjUaDxYsXQ6VSiUXRrFmz8N5772H+/Pl48cUXsW/fPuzYsQN79uwxd5OIiIiIiIjq5WTuA27cuBHl5eUYOXIk/P39xZ/t27eLMWvWrMGf/vQnREdHY/jw4fDz88Pnn38u7nd2dsbu3bvh7OwMhUKBv/71r5gyZYrRZT9BQUHYs2cP1Go1+vfvj1WrVuGjjz7idOpERERERNSiLHL5X2Pc3NyQmpqK1NTUemO6du3a6A3xI0eOxMmTJ+87RyIiIiIiInMx+5kqIiIiIiKi1oRFFRERERERkQlYVBEREREREZmARRUREREREZEJWFQRERERERGZgEUVERERERGRCVhUERERERERmcDs61QREZFj6LZwj1mPd/HNSLMej4iIyFbwTBUREREREZEJWFQRERERERGZgEUVERERtXrJycmQSCRGP8HBweL+W7duQaVSoUOHDmjbti2io6NRUlJidIzi4mJERkbCw8MDPj4+mDdvHm7fvm0Uk5ubi0ceeQQymQw9evRAenp6SzSPiCyMRRURERERgN69e+Py5cviz8GDB8V9c+fOxa5du5CRkYG8vDxcunQJEyZMEPfX1NQgMjIS1dXVOHToELZs2YL09HQkJSWJMUVFRYiMjMSoUaNQWFiIhIQETJ8+HVlZWS3aTiIyP05UQURERATAxcUFfn5+tbaXl5fj448/xrZt2/DEE08AADZv3oxevXrh8OHDGDJkCLKzs3H27Fns3bsXvr6+GDBgAFasWIEFCxYgOTkZUqkUaWlpCAoKwqpVqwAAvXr1wsGDB7FmzRoolcoWbSsRmRfPVBEREREBuHDhAgICAvDggw9i8uTJKC4uBgAUFBRAp9MhPDxcjA0ODkaXLl2Qn58PAMjPz0ffvn3h6+srxiiVSmi1Wpw5c0aMufsYhhjDMYjIfvFMFREREbV6YWFhSE9Px8MPP4zLly9j2bJlePzxx3H69GloNBpIpVJ4eXkZPcfX1xcajQYAoNFojAoqw37DvoZitFotbt68CXd391p5VVVVoaqqSnys1WoBADqdDjqdrt72GPY1FGPrHKkNMifB7Mc0B5lz43kZcm9KG1o6tyYf6//n3lh+puTPooqIiIhavXHjxon/7tevH8LCwtC1a1fs2LGjzmKnpaSkpGDZsmW1tmdnZ8PDw6PR56vVakuk1aIcoQ0rBunNdqyvvvrKbMdaObjpsU1pg7Vya6rGfpcqKyubfWwWVURERET38PLywkMPPYQff/wRY8aMQXV1NcrKyozOVpWUlIj3YPn5+eHo0aNGxzDMDnh3zL0zBpaUlEAul9dbuC1atAiJiYniY61Wi8DAQEREREAul9ebv06ng1qtxpgxY+Dq6tr0hreQPsmNT84hcxKwYpAeS447oUovaTD2dLJt3pNmeB+a0oamMmdbbfl9aEpuTWVoQ2OfB8OZ4OZgUUVERER0jxs3buCnn37CCy+8gNDQULi6uiInJwfR0dEAgPPnz6O4uBgKhQIAoFAo8Prrr6O0tBQ+Pj4A7vxVXC6XIyQkRIy59y/5arVaPEZdZDIZZDJZre2urq5NKpaaGtfSqmqaXmBU6SWNxttiG+/WlDY0lTnbasvvg7n6626NfR5MyZ8TVRAREVGr9/LLLyMvLw8XL17EoUOH8PTTT8PZ2RnPPfccPD09ERsbi8TEROzfvx8FBQWYNm0aFAoFhgwZAgCIiIhASEgIXnjhBXz77bfIysrC4sWLoVKpxKJo1qxZ+PnnnzF//nycO3cOGzZswI4dOzB37lxrNp2IzIBnqoiIiKjV+7//+z8899xz+OOPP9CpUyc89thjOHz4MDp16gQAWLNmDZycnBAdHY2qqioolUps2LBBfL6zszN2796NuLg4KBQKtGnTBjExMVi+fLkYExQUhD179mDu3LlYt24dOnfujI8++ojTqRM5ABZVRERE1Op9+umnDe53c3NDamoqUlNT643p2rVrozfqjxw5EidPnmxWjkRku3j5HxERERERkQlYVBEREREREZmARRUREREREZEJWFQRERERERGZgEUVERERERGRCVhUERERERERmYBFFRERERERkQlYVBEREREREZmARRUREREREZEJWFQRERERERGZgEUVERERERGRCVhUERERERERmYBFFRERERERkQlYVBEREREREZnAxdoJEBFR69Bt4Z77fo7MWcDKwUCf5CxU1UiM9l18M9JcqREREZmEZ6qIiIiIiIhMwKKKiIiIiIjIBLz8j4iIiMhB1XXpbHPxklui+vFMFRERERERkQlYVBEREREREZmARRUREREREZEJWFQRERERERGZgEUVERERERGRCVhUERERERERmcDui6rU1FR069YNbm5uCAsLw9GjR62dEhE5CI4vRGQpHF+IHItdr1O1fft2JCYmIi0tDWFhYVi7di2USiXOnz8PHx8fa6dHRHaM44vt67Zwj9mOxfV3qCVxfCFyPHZ9pmr16tWYMWMGpk2bhpCQEKSlpcHDwwObNm2ydmpEZOc4vhCRpXB8IXI8dnumqrq6GgUFBVi0aJG4zcnJCeHh4cjPz6/zOVVVVaiqqhIfl5eXAwCuXr0KnU5X53N0Oh0qKyvhonNCjd48K5I7Ghe9gMpKPfuoAY7UR3/88UejMdevXwcACIJg6XQs4n7Hl4bGlsrKSvzxxx9wdXWt87VcbleYOXvH0lKfnab8Xtszw//LGvpdtBccXxr/7gJY5vuLOT8nTRn77ufzb6ufYb4PzWfO/z8a2tDYGGjS+CLYqd9++00AIBw6dMho+7x584TBgwfX+ZylS5cKAPjDH/600M+vv/7aEsOB2d3v+MKxhT/8afkfji/84Q9/LPXTnPHFbs9UNceiRYuQmJgoPtbr9bh69So6dOgAiaTuylur1SIwMBC//vor5HJ5S6VqV9hHjWttfSQI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3333HRYsWIDz58/j888/BwBoNJpaU4saHms0mgZjtFotbt68CXd39zrzSUlJwbJly2ptz87ONroEsS5qtbrhxjqIlYMb3r9ikP6+jtfYTEn3o7HcWkpdfWDOdgLmb6u582vs81BZWWnW1yMiIiKyZRYtqj7++GOMGzcOAQEB4raZM2eK/+7bty/8/f0xevRo/PTTT+jevbsl08GiRYuQmJgoPtZqtQgMDERERATkcnmdz9HpdFCr1RgzZgxcXV0tmp8t6JOcVed2mZOAFYP0WHLcCVV6SZ0xdTmdbL7LMevLraU01AfmbCdg/raaK7+mfh4MZ4GJiIiIWgOLFVW//PIL9u7dK56Bqk9YWBgA4Mcff0T37t3h5+eHo0ePGsWUlJQAgHgflp+fn7jt7hi5XF7vWSoAkMlk4srnd3N1dW20YGpKjCOoqmm4YKrSSxqNuZs5++x+XteS6uoDc/9umLut5s6vsc9Da/isEBERERlYbJ2qzZs3w8fHB5GRkQ3GFRYWAgD8/f0BAAqFAqdOnUJpaakYo1arIZfLERISIsbk5OQYHUetVkOhUJixBURERERERI2zSFGl1+uxefNmxMTEwMXlfyfDfvrpJ6xYsQIFBQW4ePEivvzyS0yZMgXDhw9Hv379AAAREREICQnBCy+8gG+//RZZWVlYvHgxVCqVeJZp1qxZ+PnnnzF//nycO3cOGzZswI4dOzB37lxLNIeIiIiIiKheFimq9u7di+LiYrz44otG26VSKfbu3YuIiAgEBwfjH//4B6Kjo7Fr1y4xxtnZGbt374azszMUCgX++te/YsqUKUbrWgUFBWHPnj1Qq9Xo378/Vq1ahY8++ojTqRMRERERUYuzyD1VEREREITaU0IHBgYiLy+v0ed37dq10dnKRo4ciZMnTzY7RyIiIoNuC/fc93NkzgJWDr4zscy990FefLPhS9+JiMixWOyeKiIiIiIiotaARRUREREREZEJWFQRERERERGZwKKL/xKRbWjO/SJ1MdxDQkRERET/wzNVREREREREJmBRRUREREREZAIWVURERERERCZgUUVERERERGQCFlVEREREREQmYFFFRERERERkAhZVREREREREJmBRRUREREREZAIWVURERERERCZgUUVERERERGQCFlVERETk0FJSUvDoo4+iXbt28PHxQVRUFM6fP28Uc+vW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GI5BRERERETUUsxeVL388svIy8vDxYsXcejQITz99NNwdnbGc88916LrQBAREREREbUEsxdV//d//4fnnnsODz/8MJ555hl06NABhw8fRqdOnQDcWQfiT3/6E6KjozF8+HD4+fnh888/F59vWAfC2dkZCoUCf/3rXzFlypQ614FQq9Xo378/Vq1aVWsdCCJyPFxcnIiIiGyR2e+p+vTTTxvc35LrQBCR4+Hi4kRERGRrLD5RBRGROXFxcSIiIrI1LKqIyK7Y4uLizVlY3LD/7v+agy0tHH3vgtmOtkh2Sy4Ibg2W+P00B1vLh4gIYFFFRHbEVhcXN2VhccC2Fxc3B8OC2Y66SHZLLAhuTeb8/TQHLi5ORLaIRRUR2Q1bXVy8OQuLA/axuLgp7l0w29EWyW6pBcGttWC8JX4/zYGLixORLWJRRUR2y1YWFzdlYfH7iWsKW1w42rBgtqMukm3pBcGtvWC8OX8/zcGWciEiMrD44r9ERJbCxcWJiIjIFrCoIiK7wcXFiYiIyBbx8j8ishuGxcX/+OMPdOrUCY899litxcWdnJwQHR2NqqoqKJVKbNiwQXy+YXHxuLg4KBQKtGnTBjExMXUuLj537lysW7cOnTt35uLiRERE1CAWVURkN7i4OBEREdkiXv5HRERERERkAhZVREREREREJmBRRUREREREZAIWVURERERERCZgUUVERERERGQCFlVEREREREQm4JTqRERERET/X7eFe5r1PJmzgJWDgT7JWaiqkZg5K7J1PFNFRERERERkAhZVREREREREJuDlf0RERK1IUy9tasqlTBffjDRnahZz4MABvP322ygoKMDly5fxxRdfICoqStwvCAKWLl2KDz/8EGVlZRg2bBg2btyInj17ijFXr17F7NmzsWvXLjg5OSE6Ohrr1q1D27ZtxZjvvvsOKpUKx44dQ6dOnTB79mzMnz/fKJeMjAwsWbIEFy9eRM+ePfHWW29h/PjxFu8DIrIsnqkiIiIih1ZRUYH+/fsjNTW1zv0rV67Eu+++i7S0NBw5cgRt2rSBUqnErVu3xJjJkyfjzJkzUKvV2L17Nw4cOICZM2eK+7VaLSIiItC1a1cUFBTg7bffRnJyMj744AMx5tChQ3juuecQGxuLkydPIioqClFRUTh9+rTlGk9ELYJnqoiIiMihjRs3DuPGjatznyAIWLt2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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import pandas as pd\n", "from sklearn.feature_selection import mutual_info_regression\n", "from sklearn.model_selection import train_test_split\n", "from imblearn.over_sampling import ADASYN\n", "\n", "df = pd.read_csv(\"data/Diamonds.csv\")\n", "print(df.columns)\n", "\n", "# Оценка зашумленности\n", "noisy_features = []\n", "for col in df.columns:\n", " if df[col].isnull().sum() / len(df) > 0.1: # Если более 10% пропусков\n", " noisy_features.append(col)\n", " \n", "print(f\"Зашумленные столбцы: {noisy_features}\")\n", "\n", "cut_mapping = {'Fair': 0, 'Good': 1, 'Very Good': 2, 'Premium': 3, 'Ideal': 4}\n", "df['cut'] = df['cut'].map(cut_mapping)\n", "\n", "color_mapping = {'J': 0, 'I': 1, 'H': 2, 'G': 3, 'F': 4, 'E': 5, 'D': 6} \n", "df['color'] = df['color'].map(color_mapping)\n", "\n", "clarity_mapping = {'I1': 0, 'SI2': 1, 'SI1': 2, 'VS2': 3, 'VS1': 4, 'VVS2': 5, 'VVS1': 6, 'IF': 7} \n", "df['clarity'] = df['clarity'].map(clarity_mapping)\n", "\n", "skewness = df.skew()\n", "print(f\"Смещение: {skewness}\")\n", "\n", "skewed_features = skewness[abs(skewness) > 1].index.tolist()\n", "print(f\"Сильно смещенные столбцы: {skewed_features}\")\n", "\n", "# Оценка актуальности данных\n", "print(f\"Данные 2022 года, возможна неактуальность\")\n", "\n", "for col in df.select_dtypes(include=['number']).columns:\n", " Q1 = df[col].quantile(0.25)\n", " Q3 = df[col].quantile(0.75)\n", " IQR = Q3 - Q1\n", " lower_bound = Q1 - 1.5 * IQR\n", " upper_bound = Q3 + 1.5 * IQR\n", " outliers = df[col][(df[col] < lower_bound) | (df[col] > upper_bound)]\n", " print(f\"Выбросы в столбце '{col}':\\n{outliers}\\n\")\n", "\n", "if len(df.columns) >= 2:\n", " for col1 in df.columns:\n", " for col2 in df.columns:\n", " if col1 != col2:\n", " correlation = df[col1].corr(df[col2])\n", " if abs(correlation) > 0.9:\n", " print(f\"Просачивание данных: Высокая корреляция ({correlation:.2f}) между столбцами '{col1}' и '{col2}'\")\n", "\n", "df.hist(figsize=(10, 10))\n", "\n", "# решение смещения\n", "df['log_price'] = np.log(df['price'] + 1)\n", "df['log_carat'] = np.log(df['carat'] + 1)\n", "\n", "# решение выбросов\n", "Q1 = df['carat'].quantile(0.25)\n", "Q3 = df['carat'].quantile(0.75)\n", "IQR = Q3 - Q1\n", "lower_bound = Q1 - 1.5 * IQR\n", "upper_bound = Q3 + 1.5 * IQR\n", "df['carat'] = np.where(df['carat'] > upper_bound, upper_bound, df['carat'])\n", "\n", "df.drop(columns=['z'], inplace=True) # Если z сильно коррелирует с y и x\n", "\n", "# Пример оценки информативности для целевой переменной 'price'\n", "X = df.drop(columns=['price'])\n", "y = df['price']\n", "mi_scores = mutual_info_regression(X, y)\n", "print(pd.Series(mi_scores, index=X.columns).sort_values(ascending=False))\n", "\n", "if df['carat'].max() > 5:\n", " print(\"Ошибка: Обнаружены значения массы, не соответствующие реальным бриллиантам.\")\n", "else:\n", " print(\"Данные по массе достоверны\")\n", "\n", "print(\"Уникальные значения 'cut':\", df['cut'].unique())\n", "print(\"Уникальные значения 'clarity':\", df['clarity'].unique())\n", "\n", "df['cut'] = df['cut'].fillna('unknown')\n", "\n", "df['carat'] = df['carat'].fillna(df['carat'].mean())\n", "\n", "\n", "print(df.carat.value_counts())\n", "\n", "def split_stratified_into_train_val_test(\n", " df_input,\n", " stratify_colname=\"y\",\n", " frac_train=0.6,\n", " frac_val=0.15,\n", " frac_test=0.25,\n", " random_state=None,\n", "):\n", "\n", "\n", " if frac_train + frac_val + frac_test != 1.0:\n", " raise ValueError(\n", " \"fractions %f, %f, %f do not add up to 1.0\"\n", " % (frac_train, frac_val, frac_test)\n", " )\n", "\n", " if stratify_colname not in df_input.columns:\n", " raise ValueError(\"%s is not a column in the dataframe\" % (stratify_colname))\n", "\n", " X = df_input # Contains all columns.\n", " y = df_input[\n", " [stratify_colname]\n", " ] # Dataframe of just the column on which to stratify.\n", "\n", " # Split original dataframe into train and temp dataframes.\n", " df_train, df_temp, y_train, y_temp = train_test_split(\n", " X, y, stratify=y, test_size=(1.0 - frac_train), random_state=random_state\n", " )\n", "\n", " # Split the temp dataframe into val and test dataframes.\n", " relative_frac_test = frac_test / (frac_val + frac_test)\n", " df_val, df_test, y_val, y_test = train_test_split(\n", " df_temp,\n", " y_temp,\n", " stratify=y_temp,\n", " test_size=relative_frac_test,\n", " random_state=random_state,\n", " )\n", "\n", " assert len(df_input) == len(df_train) + len(df_val) + len(df_test)\n", "\n", " return df_train, df_val, df_test\n", "\n", "data = df[[\"carat\", \"price\", \"cut\"]].copy()\n", "\n", "df_train, df_val, df_test = split_stratified_into_train_val_test(\n", " data, stratify_colname=\"cut\", frac_train=0.60, frac_val=0.20, frac_test=0.20\n", ")\n", " \n", "\n", "print(df_train.columns) \n", " \n", "\n", "print(\"Обучающая выборка: \", df_train.shape)\n", "print(df_train.carat.value_counts()) \n", "\n", "print(\"Контрольная выборка: \", df_val.shape)\n", "print(df_val.carat.value_counts())\n", "\n", "print(\"Тестовая выборка: \", df_test.shape)\n", "print(df_test.carat.value_counts())\n", "\n", "ada = ADASYN()\n", "\n", "print(\"Обучающая выборка: \", df_train.shape)\n", "print(df_train.carat.value_counts())\n", "\n", "X_resampled, y_resampled = ada.fit_resample(df_train, df_train[\"carat\"])\n", "df_train_adasyn = pd.DataFrame(X_resampled)\n", "\n", "print(\"Обучающая выборка после oversampling: \", df_train_adasyn.shape)\n", "print(df_train_adasyn.carat.value_counts())\n", "\n", "df_train_adasyn" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Датасет 1. Цены бриллиантов**\n", "1. **carat**: Вес бриллианта в каратах\n", "2. **cut**: Качество огранки.\n", "3. **color**: Цвет бриллианта\n", "4. **clarity**: Чистота бриллианта\n", "5. **depth**: Процент глубины бриллианта\n", "6. **table**: Процент ширины бриллианта\n", "7. **price**: Цена бриллианта в долларах США\n", "8. **x**: Длина бриллианта в миллиметрах\n", "9. **y**: Ширина бриллианта в миллиметрах\n", "10. **z**: Глубина бриллианта в миллиметрах\n", "\n", "**Объект наблюдения**: Каждый объект представляет собой отдельный бриллиант.\\\n", "**Связи между объектами**: Внутри одного объекта есть взаимосвязь между характеристиками и его ценой. Например, вес, цвет, чистота и огранка могут влиять на цену.\\\n", "**Бизнес-цель**: Оптимизация продаж бриллиантов, оценка цен в зависимости от характеристик.\\\n", "**Эффект для бизнеса**: Более точная оценка стоимости бриллиантов может помочь ювелирам предлагать конкурентоспособные цены и максимизировать прибыль.\\\n", "**Техническая цель**: Построение модели машинного обучения для прогнозирования цены бриллианта на основе его характеристик.\\\n", "* **Вход**: Характеристики бриллианта (вес, огранка, цвет, чистота, размеры).\\\n", "* **Целевой признак**: Цена бриллианта. \n", "\n", "**Информативность**: Высокая. Набор данных содержит важные характеристики бриллиантов, которые влияют на их цену: карат, огранка, цвет, чистота, размеры.\\\n", "**Степень покрытия**: Высокая. В наборе данных представлено 53 940 бриллиантов, что является достаточно большим объемом для анализа. \\\n", "**Соответствие реальным данным**: Высокая. Характеристики бриллиантов в наборе данных соответствуют реальным характеристикам бриллиантов, определяемым геммологами. \\\n", "**Согласованность меток**: Высокая. В данном наборе данных нет проблем с несогласованностью меток, так как все данные соответствуют описанию в заголовках столбцов. \n", "\n", "**Датасет 2. Цены акций Starbucks**\n", "1. **Date**: Дата торгов\n", "2. **Open**: Цена открытия торгов\n", "3. **High**: Максимальная цена акции за день\n", "4. **Low**: Минимальная цена акции за день\n", "5. **Close**: Цена закрытия торгов в данный день\n", "6. **Adj Close**: Скоректированная цена закрытия.\n", "7. **Volume**: Объем торгов акциями в данный день.\n", "\n", "**Объект наблюдения**: Объектом наблюдения является торговый день на рынке акций компании Starbucks.\\\n", "**Связи между объектами**: Временная связь между днями торгов. Важна динамика изменений цен и объемов торгов в зависимости от времени.\\\n", "**Бизнес-цель**: Прогнозирование цен акций для управления портфелем акций.\\\n", "**Эффект для бизнеса**: Прогнозирование позволит трейдерам принимать более информированные решения, оптимизировать инвестиции и минимизировать риски.\\\n", "**Техническая цель**: Прогнозирование цены закрытия акций на основе временных рядов.\\\n", "* **Вход**: Временные ряды с историческими данными по ценам открытия, закрытия, объёмам.\\\n", "* **Целевой признак**: Цена закрытия на следующий день.\n", "\n", "**Датасет 3. Цены на золото**\n", "1. **Date**: Дата\n", "2. **Open**: Цена открытия торгов\n", "3. **High**: Максимальная цена за день\n", "4. **Low**: Минимальная цена за день\n", "5. **Close**: Цена закрытия торгов\n", "6. **Adjusted Close**: Скоректированная цена закрытия\n", "7. **Volume**: Объем торгов за день\n", "\n", "**Дополнительные столбцы (факторы, влияющие на цену золота):**\n", "\n", "8. **SP_open**, **SP_high**, **SP_low**, **SP_close**, **SP_Ajclose**, **SP_volume**: Данные индекса S&P 500.\n", "9. **DJ_open**, **DJ_high**, **DJ_low**, **DJ_close**, **DJ_Ajclose**, **DJ_volume**: Данные индекса Dow Jones.\n", "10. **EG_open**, **EG_high**, **EG_low**, **EG_close**, **EG_Ajclose**, **EG_volume**: Данные компании Eldorado Gold Corporation (EGO).\n", "11. **EU_Price**, **EU_open**, **EU_high**, **EU_low**, **EU_Trend**: Курс валютной пары EUR/USD.\n", "12. **OF_Price**, **OF_Open**, **OF_High**, **OF_Low**, **OF_Volume**, **OF_Trend**: Цена фьючерсов на нефть Brent.\n", "13. **OS_Price**, **OS_Open**, **OS_High**, **OS_Low**, **OS_Trend**: Цена нефти WTI.\n", "14. **SF_Price**, **SF_Open**, **SF_High**, **SF_Low**, **SF_Volume, SF_Trend**: Цена фьючерсов на серебро.\n", "15. **USB_Price**, **USB_Open**, **USB_High**, **USB_Low**, **USB_Trend**: Ставка по облигациям США.\n", "16. **PLT_Price**, **PLT_Open**, **PLT_High**, **PLT_Low**, **PLT_Trend**: Цена платины.\n", "17. **PLD_Price**, **PLD_Open**, **PLD_High**, **PLD_Low**, **PLD_Trend**: Цена палладия.\n", "18. **RHO_PRICE**: Цена родия.\n", "19. **USDI_Price**, **USDI_Open**, **USDI_High**, **USDI_Low**, **USDI_Volume**, **USDI_Trend**: Индекс доллара США.\n", "20. **GDX_Open**, **GDX_High**, **GDX_Low**, **GDX_Close**, **GDX_Adj Close**, **GDX_Volume**: Данные ETF на золотые шахты.\n", "21. **USO_Open**, **USO_High**, **USO_Low**, **USO_Close**, **USO_Adj Close**, **USO_Volume**: Данные ETF на нефть USO.\n", "\n", "**Объект наблюдения**: Объектом наблюдения является торговый день для цены золота с дополнительными факторами влияния.\\\n", "**Связи между объектами**: Взаимосвязь между движением цен на золото и другими экономическими показателями и активами (например, нефть, фондовые индексы). Золото часто коррелирует с другими активами в периоды нестабильности.\\\n", "**Бизнес-цель**: Управление инвестициями в золото и связанные активы (нефть, индексы).\\\n", "**Эффект для бизнеса**: Правильное прогнозирование цен на золото и связанных активов может помочь инвесторам защитить капитал.\\\n", "**Техническая цель**: Построение модели для анализа взаимосвязи между ценами на золото и дополнительными факторами (нефть, фондовые индексы, валютные курсы).\n", "* **Вход**: Данные по ценам на золото и дополнительным факторам (нефть, индексы, валюты).\\\n", "* **Целевой признак**: Цена закрытия золота." ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "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.12.5" } }, "nbformat": 4, "nbformat_minor": 2 }