MII/mai/lab2.ipynb

573 lines
92 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",
"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": 7,
"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",
"Выбросы в столбце '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"
]
},
{
"data": {
"image/png": "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MjJMdHS0adCggTlz5ox7+meffWYkmfHjx2fZpieffDJf6xs0aJCx2+0e63NxOp3GGGPOnj1rMjMzPZ7bt2+fCQ4ONpMmTXJP+/bbb40kU7NmTXP69GmP+fPbxvr1640kM3v27HzFDwAu5JPs+6M45ZOEhAST3cdBV6z79u1zT6tfv75p165dvtYNABcjH2TfH8UpHzz00ENGkvm///s/93NpaWkmLi7O1KhRw/29Yd++fVm+GzRu3NhER0ebP//80z3tp59+Mna73QwaNMg9zZVz7rzzznzFjZKPU/aQo2nTpmnFihVasWKF5s6dqw4dOmjYsGH69NNP3fN88cUXCggI0AMPPOCx7KOPPipjjMddMyZMmKD69etr8ODBGjlypNq1a5dlOZfRo0e7/2+z2TR69GhlZGToq6++ynb+zMxMLV++XL1791bNmjXd02NiYnTXXXfpu+++U2pqaqH6ITsbNmzQ0aNHNXLkSIWEhLind+/eXfHx8dke2jpixIg823U6nVq0aJF69uzpcX69i+u0iuDgYPc1oDIzM/Xnn38qLCxMdevW1aZNm7IsN3jwYIWGhnpMK2gbAFBY5JOc+TqfAICVyAc583U++OKLL9S8eXOPU+jCwsI0fPhw7d+/Xzt27Mi2/cOHDysxMVFDhgxR+fLl3dMbNmyom266SV988UWWZe67774840bpQEEKOWrevLk6deqkTp06acCAAfr888919dVXuwdvSTpw4IBiY2MVHh7usazrENUDBw64pzkcDr3zzjvat2+f0tLSNHv27Gw/ENvtdo9BX5Lq1KkjSTneSvXYsWM6ffq06tatm+W5evXqyel06vfff8//xufBtV3ZrS8+Pt5juyUpMDBQV155ZZ7tHjt2TKmpqWrQoEGu8zmdTr366quqXbu2goODVbFiRVWqVElbtmxRSkpKlvnj4uIuuw0AKCzySc58nU8AwErkg5z5Oh8cOHAgx229OL6CxF2vXj0dP35cp06d8pie3XcTlE4UpJBvdrtdHTp00OHDh7Vnz55CtfHll19KunCnt8K24Y8uPhrJG5577jk98sgjatu2rebOnasvv/xSK1asUP369eV0OrPMf+nRUYVpAwC8hXxSeN7OJzkdKeW6GDAAFCXyQeF5Ox9YKbvvJiid/PMdDJ85f/68JOnkyZOSpOrVq+vQoUNKS0vzmG/nzp3u5122bNmiSZMm6Z577lGTJk00bNiwbI/EcTqd+vXXXz2m7d69W5KyXBDPpVKlSipTpox27dqV5bmdO3fKbreratWqkrxzmoJru7Jb365duzy2uyAqVaqkiIgIbdu2Ldf5Pv74Y3Xo0EH//ve/dccdd6hz587q1KmTkpOT872u/LbBaR0AigL55AJf55Ny5cpJUpaxP7tfwskHAIoC+eACX+eD6tWr57itF8eX3XKuGLNbtmLFiipbtmxBw0YpQUEK+Xbu3DktX75cDofDfejmzTffrMzMTL3xxhse87766quy2Wzq1q2be9khQ4YoNjZWU6dO1Zw5c5SUlKSHH34423Vd3J4xRm+88YaCgoLUsWPHbOcPCAhQ586dtXjxYo/DbpOSkvT++++rTZs2ioiIkCT3gFiQ4s2lrrvuOkVHR2vGjBlKT093T1+6dKl+/vlnde/evVDt2u129e7dW0uWLNGGDRuyPG/+/10oAgICstyRYsGCBVluCZub/Lbhjf4CgIuRT/7H1/nEdWen1atXu587deqU3n333SzLlC1bllwAwKvIB//j63xw880368cff9SaNWvcz506dUozZ85UjRo1dPXVV2fbfkxMjBo3bqx3333XY/u3bdum5cuX6+abby5U3CgdAn0dAIqvpUuXuiviR48e1fvvv689e/boySefdA++PXv2VIcOHTR27Fjt379fjRo10vLly7V48WI99NBD7g+6kydPVmJior7++muFh4erYcOGGj9+vJ5++mndfvvtHgNVSEiIli1bpsGDB6tFixZaunSpPv/8cz311FOqVKlSjvFOnjxZK1asUJs2bTRy5EgFBgbqrbfeUnp6ul544QX3fI0bN1ZAQICef/55paSkKDg4WDfeeKOio6Pz3TdBQUF6/vnndc8996hdu3a688473bdlrVGjRo6JMD+ee+45LV++XO3atdPw4cNVr149HT58WAsWLNB3332nqKgo9ejRw/1rUKtWrbR161bNmzcvy7nxuclvG7Vq1VJUVJRmzJih8PBwlS1bVi1atODcbwD5Rj7Jma/zSefOnVWtWjUNHTpUjz/+uAICAvTOO++oUqVK+u233zzaa9q0qaZPn67JkyfrqquuUnR0tG688cZCxweg9CEf5MzX+eDJJ5/UBx98oG7duumBBx5Q+fLl9e6772rfvn365JNPcj09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t25dzZw50304ca1atSRdSDT33HOPmjVrpilTpigpKUlTp07V999/r82bN3v8unH+/Hl16dJFbdq00UsvvaQyZcrkuB2HDh1S8+bNlZycrOHDhys+Pl4HDx7Uxx9/rNOnT8vhcGS73IIFC3T69GmNGDFCFSpU0I8//qjXX39df/zxhxYsWOAxb37iqVSpkqZPn64RI0bo1ltvVZ8+fSRJDRs2VFxcnEaNGqV58+apSZMmHsvNmzdP7du31xVXXJHjNgIomcgbvskbW7duVefOnVWpUiVNmDBB58+fV0JCgipXrpxl3meffVbjxo1Tv379NGzYMB07dkyvv/662rZtmyWGEydO6Oabb1a/fv1055136qOPPtKIESPkcDh07733ql69epo0aZLGjx+v4cOH64YbbpAktWrVyqONrl27qk+fPurXr58+/vhjPfHEE7rmmmvUrVu3HLcJQOlB7rA+d/Tp00e7d+/WBx98oFdffVUVK1aUJPeP0dOnT1f9+vV1yy23KDAwUEuWLNHIkSPldDo1atQoj7b27Nmj/v3767777tPgwYM1e/Zs9e3bV8uWLdNNN92UYz9+88036tatm5o2baqEhATZ7XZ3Iez//u//1Lx58xyXRQlnUKrNnj3bSMryFxwcbObMmeMx76JFi4wkM3nyZI/pt99+u7HZbOaXX35xTxszZoyx2+1m9erVZsGCBUaSee211zyWGzx4sJFk7r//fvc0p9NpunfvbhwOhzl27Jh7uiSTkJDgfty7d2/jcDjM3r173dMOHTpkwsPDTdu2bd3TXOv+9ttvC9Qf69evd0/LyMgw0dHRpkGDBubMmTPu6Z999pmRZMaPH59lm5588sl8rW/QoEHGbrd7rM/F6XQaY4z59ttvs2zD6dOns8w/ZcoUY7PZzIEDB/IVz+DBg0316tXdj48dO5aln13uvPNOExsbazIzM93TNm3aZCSZ2bNn52NLAZQU5I3s+8OqvNG7d28TEhLiMdbv2LHDBAQEmIs/1u3fv98EBASYZ5991mP5rVu3msDAQI/p7dq1M5LMyy+/7J6Wnp5uGjdubKKjo01GRoYxxpj169fnOO672vjPf/7j0UaVKlXMbbfdlq9tA1BykTuy7w+rcseLL75oJJl9+/ZleS677xVdunQxNWvW9JhWvXp1I8l88skn7mkpKSkmJibGNGnSxD3t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2bRw4cIsz73//vuy2Wxas2ZNnv0AZMsAl5g9e7aRZL766itz7Ngxc/ToUbNt2zbz97//3djtdrN8+XL3vE6n09x4443GZrOZYcOGmTfeeMP07NnTSDIPPfSQe761a9eagIAA8/DDD7un3XHHHSY0NNTs2rXLPW3w4MEmJCTE1K5d29x9993mjTfeMD169DCSzLhx4zzilGQSEhLcj7dt22bKli1rYmJizDPPPGP++c9/mri4OBMcHGzWrl1rjDFm79695oEHHjCSzFNPPWXee+89895775kjR45k2xfLly83w4cPN5LMpEmTzHvvvWd++OEHj35q1qyZefXVV82TTz5pQkNDTY0aNcyJEyc8tik4ONjUqlXLDB482MyYMcP85z//ybH/ExISjCRzzTXXmJ49e5o33njDDBw40Egyd999d5Y+qFevnqlUqZKZOHGimTZtmtm8eXO2/XPw4EETGxtrypQpYx566CEzY8YMM27cOFOvXj13vKdOnTINGzY0FSpUME899ZSZMWOGGTRokLHZbObBBx/MMWYAKAzyzf/4It/kt68AwNfIF/9jdb5wOp2matWq5rbbbsvy3M0332xq1aqV7XJAflCQQhaugezSv+DgYDNnzhyPeRctWmQkmcmTJ3tMv/32243NZjO//PKLe9qYMWOM3W43q1evNgsWLDCSzGuvveax3ODBg40kc//997unOZ1O0717d+NwOMyxY8fc0y8d8Hv37m0cDofZu3eve9qhQ4dMeHi4adu2rXuaa93ffvttgfpj/fr17mkZGRkmOjraNGjQwJw5c8Y9/bPPPjOSzPjx47Ns05NPPpmv9bkKUrfccovH9JEjRxpJ5qeffnJPk2TsdrvZvn17lnYu7Z9BgwYZu93usR0uTqfTGGPMM888Y8qWLWt2797t8fyTTz5pAgICzG+//ZavbQCA/CDfZN8fVuUbY/LXVwDga+SL7PvDqnwxZswYExwcbJKTk93Tjh49agIDAz22FygoTtlDjqZNm6YVK1ZoxYoVmjt3rjp06KBhw4bp008/dc/zxRdfKCAgQA888IDHso8++qiMMR53vZgwYYLq16+vwYMHa+TIkWrXrl2W5VxGjx7t/r/rtLSMjAx99dVX2c6fmZmp5cuXq3fv3qpZs6Z7ekxMjO666y599913Sk1NLVQ/ZGfDhg06evSoRo4c6XGtpu7duys+Pl6ff/55lmVGjBhRoHWMGjXK4/H9998v6UKfX6xdu3a6+uqrc23L6XRq0aJF6tmzp8d59y42m03ShUN8b7jhBpUrV07Hjx93/3Xq1EmZmZlavXp1gbYBAPKDfJOzos43BekrAPA18kXOijJfDBo0SOnp6fr444/d0z788EOdP39eAwcOvPzgUWpxUXPkqHnz5h7FizvvvFNNmjTR6NGj1aNHDzkcDh04cECxsbEKDw/3WLZevXqSpAMHDrinORwOvfPOO2rWrJlCQkI0e/ZsdyHkYna73WPQlqQ6depIUo63Qj127JhOnz6tunXrZnmuXr16cjqd+v3331W/fv38bXweXNuV3fri4+P13XffeUwLDAzUlVdeWaB11K5d2+NxrVq1ZLfbs/RBXFxcnm0dO3ZMqampatCgQa7z7dmzR1u2bFGlSpWyfd51AUUA8CbyTc6KOt/kt68AoDggX+SsKPNFfHy8mjVrpnnz5mno0KGSpHnz5un666/XVVdddZmRozTjCCnkm91uV4cOHXT48GHt2bOnUG18+eWXkqSzZ88Wug1/FBwcLLv98na3nL4ghIaGXla7F3M6nbrpppvcvzxd+nfbbbd5bV0AkBPyTeEVJt+U1r4C4P/IF4VX0HwxaNAgrVq1Sn/88Yf27t2rtWvXcnQULhsFKRTI+fPnJUknT56UJFWvXl2HDh1SWlqax3w7d+50P++yZcsWTZo0Sffcc4+aNGmiYcOGKSUlJcs6nE6nfv31V49pu3fvliTVqFEj27gqVaqkMmXKaNeuXVme27lzp+x2u6pWrSop58JOQbi2K7v17dq1y2O7C+vShPjLL7/I6XTm2Ae5qVSpkiIiIrRt27Zc56tVq5ZOnjypTp06ZftXrVq1Aq8bAAqDfHNBUeeb/PYVABRX5IsLijpf3HHHHQoICNAHH3ygefPmKSgoSP3797+sNgEKUsi3c+fOafny5XI4HO5DXm+++WZlZmbqjTfe8Jj31Vdflc1mU7du3dzLDhkyRLGxsZo6darmzJmjpKQkPfzww9mu6+L2jDF64403FBQUpI4dO2Y7f0BAgDp37qzFixd7HDablJSk999/X23atFFERIQkqWzZspKk5OTkQvWDJF133XWKjo7WjBkzlJ6e7p6+dOlS/fzzz+revXuh23aZNm2ax+PXX39dktx9WhB2u129e/fWkiVLtGHDhizPm/9/y9p+/fppzZo17l+KLpacnOxO+ABQlMg3/1OU+aagfQUAxQ354n+K+vtJxYoV1a1bN82dO1fz5s1T165dVbFixctqE+AaUsjR0qVL3b8kHD16VO+//7727NmjJ5980j149uzZUx06dNDYsWO1f/9+NWrUSMuXL9fixYv10EMPqVatWpKkyZMnKzExUV9//bXCw8PVsGFDjR8/Xk8//bRuv/123Xzzze71hoSEaNmyZRo8eLBatGihpUuX6vPPP9dTTz2V47WNXOtYsWKF2rRpo5EjRyowMFBvvfWW0tPT9cILL7jna9y4sQICAvT8888rJSVFwcHBuvHGGxUdHZ3vvgkKCtLzzz+ve+65R+3atdOdd96ppKQkTZ06VTVq1PDKh/l9+/bplltuUdeuXbVmzRrNnTtXd911lxo1alSo9p577jktX75c7dq10/Dhw1WvXj0dPnxYCxYs0HfffaeoqCg9/vjj+u9//6sePXpoyJAhatq0qU6dOqWtW7fq448/1v79+0k8ALyOfJOzosw3BekrACgOyBc5s+L7yaBBg3T77bdLkp555pnLbg+QD+/wh2Iqu9uqhoSEmMaNG5vp06cbp9PpMX9aWpp5+OGHTWxsrAkKCjK1a9c2L774onu+jRs3msDAQI9bpRpjzPnz502zZs1MbGysOXHihDHmwi1Iy5Yta/bu3Ws6d+5sypQpYypXrmwSEhJMZmamx/K65LaqxhizadMm06VLFxMWFmbKlCljOnToYH744Ycs2zhr1ixTs2ZNExAQkOctVrO7rarLhx9+aJo0aWKCg4NN+fLlzYABA8wff/zhMY9rm/IrISHBSDI7duwwt99+uwkPDzflypUzo0eP9riFq6sPRo0alW072fXPgQMHzKBBg0ylSpVMcHCwqVmzphk1apRJT093z5OWlmbGjBljrrrqKuNwOEzFihVNq1atzEsvvWQyMjLyvR0AkBfyTfb9YUW+KUhfAYCvkS+y7w+rvp+4pKenm3LlypnIyMgs30uAwrAZ8//P1QGKgSFDhujjjz92nwNeGk2YMEETJ07UsWPHOBoJAIoI+QYAkB/ki/85f/68YmNj1bNnT/373//2dTgoAbiGFAAAAAAAyNWiRYt07NgxDRo0yNehoITgGlIAAAAAACBb69at05YtW/TMM8+oSZMmateu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ZKS5//77zbFjx1zaLF++3LRv3944HA7TrFkz89prr1nRPdstX77cSCr3M2TIEGPMia+xHDdunImKijKBgYGme/fuZtOmTS6P8eeff5pBgwaZkJAQExYWZu644w5TVFTk0ua///2vufrqq01gYKC58MILzTPPPFOulvfee8+0aNHCOBwO07p1a/Ppp59WW7/tcKZtfejQIdOjRw/ToEEDExAQYOLi4sxdd91V7o0j2xreOI5UdNxI8prX6VN5SyBljDGffPKJadOmjQkMDDStWrUyc+fOtbskSxQWFpp7773XNGnSxAQFBZlmzZqZxx9/3Bw5csTu0qqFO96LoLzaNl54w/OkMuNdZT771GRDhw41cXFxxuFwmAYNGpju3bs7wyhjPL9/p3Pq2F0b+umOz+me4mzvR9z1+uNjjDHndk4VAAAAAAAAUHXVdg8pAAAAAAAAoCIEUgAAAAAAALAUgRQAAAAAAAAsRSAFAAAAAAAASxFIAQAAAAAAwFIEUgAAAAAAALAUgRQAAAAAAAAsRSAFAAAAAAAASxFIARXYtm2bfHx8lJ2dbXcpAAAAAADUOj7GGGN3EUBNU1JSor179yoyMlL+/v52lwMAAAAAQK1CIAWc4ujRo3I4HHaXAQAAAABArcUle6j1unbtqtGjR2v06NEKDw9XZGSkxo0bp7IstmnTpnryySf1j3/8Q2FhYRo+fHiFl+xt3LhR1113ncLCwhQaGqouXbpo69atzvmvvvqqLrnkEgUFBalVq1aaNWuW1V0FAFho7969io6O1tNPP+2c9s0338jhcGjZsmU2VgYAqEneeOMN1a9fX0eOHHGZ3r9/f9122202VQXYj0AKXuH111+Xv7+/vv32W7344ot64YUX9OqrrzrnP//882rXrp3Wrl2rcePGlVt+586dSk5OVmBgoL788kutWbNGQ4cO1fHjxyVJ8+bN0/jx4/XUU0/pp59+0tNPP61x48bp9ddft6yPAABrNWjQQP/+9781YcIEff/99yoqKtJtt92m0aNHq3v37naXBwCoIW6++WaVlJRo4cKFzml79uzRp59+qqFDh9pYGWAvLtlDrde1a1ft2bNHGzdulI+PjyTpkUce0cKFC/Xjjz+qadOm6tChgxYsWOBcZtu2bYqPj9fatWvVvn17PfbYY5o/f742bdqkgICAcuu4+OKL9eSTT2rQoEHOaZMnT9Znn32mb775pvo7CQCwTWpqqr744gt16tRJ69ev13fffafAwEC7ywIA1CCjRo3Stm3b9Nlnn0mSXnjhBc2cOVO//PKL8zMK4G04Qwpe4corr3R5oU9KStKWLVtUUlIiSerUqdMZl8/OzlaXLl0qDKMOHjyorVu3atiwYQoJCXH+TJ482eWSPgBA7fT888/r+PHjev/99zVv3jzCKABAOXfddZc+//xz7dy5U5KUnp6u22+/nTAKXo2vDwMk1a1b94zzg4ODTzvvwIEDkqRXXnlFiYmJLvP8/PzOvzgAQI22detW5ebmqrS0VNu2bVPbtm3tLgkAUMN06NBB7dq10xtvvKEePXpo48aN+vTTT+0uC7AVgRS8wurVq13+XrVqlZo3b17pwCghIUGvv/66jh07Vu4sqaioKMXGxurXX3/V4MGD3VYzAKDmO3r0qG699VYNGDBALVu21J133qn169erYcOGdpcGAKhh7rzzTk2bNk07d+5USkqKGjdubHdJgK24ZA9eYceOHRo7dqw2bdqkd955Ry+99JLuvffeSi8/evRoFRYWauDAgfr++++1ZcsWvfnmm9q0aZMkaeLEiZoyZYqmT5+uzZs3a/369Xrttdf0wgsvVFeXAAA1wOOPP66CggJNnz5dDz/8sFq0aMENagEAFbrlllv0+++/65VXXmGsAEQgBS/xj3/8Q4cPH9YVV1yh1NRU3XvvvRo+fHill69fv76+/PJLHThwQNdcc406duyoV155xXm21J133qlXX31Vr732mtq2batrrrlG6enpio+Pr64uAQBslpmZqWnTpunNN99UWFiYfH199eabb+o///mPZs+ebXd5AIAaJjw8XDfeeKNCQkLUv39/u8sBbMe37KHW69q1q9q3b69p06bZXQoAAAAAL9a9e3e1bt1a06dPt7sUwHbcQwoAAAAAgGq0f/9+ZWZmKjMzU7NmzbK7HKBGIJACAAAAAKAadejQQfv379ezzz6rli1b2l0OUCNwyR4AAAAAAAAsxU3NAQAAAAAAYCkCKQAAAAAAAFiKQAoAAAAAAACWIpACAAAAAACApQikAAAAAAAAYCkCKQAAAAAAAFiKQAoAAAAAAACWIpACAAAAAACApQikAAAAAAAAYCkCKQAAAAAAAFiKQAoAAAAAAACWIpACAAAAAACApQikAAAAAAAA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",
"text/plain": [
"<Figure size 1200x800 with 10 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Просачивание данных: Высокая корреляция (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",
"Пример оценки информативности для целевой переменной 'price'\n",
"id 8.136888\n",
"carat 1.961910\n",
"log_carat 1.961630\n",
"y 1.494661\n",
"x 1.481508\n",
"z 1.431517\n",
"clarity 0.364394\n",
"color 0.286463\n",
"cut 0.104701\n",
"table 0.052611\n",
"depth 0.034731\n",
"dtype: float64\n",
"Index(['carat', 'price', 'cut'], dtype='object')\n",
"Обучающая выборка: (32365, 3)\n",
"carat\n",
"0.30 1503\n",
"1.01 1363\n",
"0.31 1326\n",
"0.70 1191\n",
"0.32 1136\n",
" ... \n",
"2.55 1\n",
"0.22 1\n",
"1.92 1\n",
"2.74 1\n",
"3.67 1\n",
"Name: count, Length: 265, dtype: int64\n",
"Контрольная выборка: (10789, 3)\n",
"carat\n",
"0.30 555\n",
"0.31 456\n",
"0.70 438\n",
"1.01 417\n",
"0.32 380\n",
" ... \n",
"1.68 1\n",
"2.57 1\n",
"2.53 1\n",
"1.93 1\n",
"2.66 1\n",
"Name: count, Length: 231, dtype: int64\n",
"Тестовая выборка: (10789, 3)\n",
"carat\n",
"0.30 546\n",
"0.31 467\n",
"1.01 462\n",
"0.70 353\n",
"0.32 324\n",
" ... \n",
"2.53 1\n",
"1.81 1\n",
"2.55 1\n",
"3.05 1\n",
"1.45 1\n",
"Name: count, Length: 232, dtype: int64\n",
"Обучающая выборка после oversampling: (64069, 3)\n",
"carat\n",
"1.010000 1837\n",
"0.700000 1834\n",
"0.300000 1589\n",
"1.000000 1417\n",
"0.310000 1385\n",
" ... \n",
"1.335296 1\n",
"1.183497 1\n",
"1.296552 1\n",
"2.003477 1\n",
"0.780485 1\n",
"Name: count, Length: 28027, dtype: int64\n"
]
}
],
"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",
"from imblearn.under_sampling import RandomUnderSampler\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"\n",
"df = pd.read_csv(\"data/Diamonds.csv\")\n",
"print(df.columns)\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",
"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",
"for col in df.select_dtypes(include=['number']).columns:\n",
" if col == 'id':\n",
" continue\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",
"numeric_cols = df.select_dtypes(include=['number']).columns\n",
"numeric_cols = [col for col in numeric_cols if col != 'id']\n",
"\n",
"plt.figure(figsize=(12, 8))\n",
"\n",
"for i, col in enumerate(numeric_cols, 1):\n",
" plt.subplot(len(numeric_cols) // 3 + 1, 3, i) \n",
" sns.boxplot(data=df, x=col)\n",
" plt.title(f'Boxplot for {col}')\n",
"\n",
"plt.tight_layout()\n",
"plt.show()\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['log_carat'] = np.log(df['carat'] + 1)\n",
"\n",
"df['cut'] = df['cut'].fillna('unknown')\n",
"\n",
"df['carat'] = df['carat'].fillna(df['carat'].mean())\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",
" 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 \n",
" y = df_input[\n",
" [stratify_colname]\n",
" ] \n",
"\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",
" 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",
"print(df_train.columns) \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",
"X_resampled, y_resampled = ada.fit_resample(df_train, df_train[\"cut\"])\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"
]
},
{
"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": "Python 3",
"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
}