1231/.ipynb_checkpoints/module B-checkpoint.ipynb

624 lines
401 KiB
Plaintext
Raw Normal View History

2025-02-23 18:54:44 +00:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 139,
"id": "e44db5d2-08ee-4982-bcc8-fe2bd435900a",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Rank</th>\n",
" <th>Image Link</th>\n",
" <th>Title</th>\n",
" <th>Current</th>\n",
" <th>24h Peak</th>\n",
" <th>All-Time Peak</th>\n",
" <th>Genre</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1.0</td>\n",
" <td>https://shared.cloudflare.steamstatic.com/stor...</td>\n",
" <td>counter-strike 2</td>\n",
" <td>1015721</td>\n",
" <td>1276702</td>\n",
" <td>1818773</td>\n",
" <td>first-person shooter</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2.0</td>\n",
" <td>https://shared.cloudflare.steamstatic.com/stor...</td>\n",
" <td>dota 2</td>\n",
" <td>702487</td>\n",
" <td>805624</td>\n",
" <td>1295114</td>\n",
" <td>moba (multiplayer online battle arena)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3.0</td>\n",
" <td>https://shared.cloudflare.steamstatic.com/stor...</td>\n",
" <td>banana</td>\n",
" <td>409758</td>\n",
" <td>428540</td>\n",
" <td>917272</td>\n",
" <td>unknown</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4.0</td>\n",
" <td>https://shared.cloudflare.steamstatic.com/stor...</td>\n",
" <td>pubg: battlegrounds</td>\n",
" <td>371000</td>\n",
" <td>688475</td>\n",
" <td>3257248</td>\n",
" <td>battle royale</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5.0</td>\n",
" <td>https://shared.cloudflare.steamstatic.com/stor...</td>\n",
" <td>elden ring</td>\n",
" <td>294359</td>\n",
" <td>319707</td>\n",
" <td>953426</td>\n",
" <td>action rpg</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>95</th>\n",
" <td>96.0</td>\n",
" <td>https://shared.cloudflare.steamstatic.com/stor...</td>\n",
" <td>soundpad</td>\n",
" <td>16028</td>\n",
" <td>17064</td>\n",
" <td>21920</td>\n",
" <td>simulation / tycoon</td>\n",
" </tr>\n",
" <tr>\n",
" <th>96</th>\n",
" <td>97.0</td>\n",
" <td>https://shared.cloudflare.steamstatic.com/stor...</td>\n",
" <td>supermarket simulator</td>\n",
" <td>15817</td>\n",
" <td>15875</td>\n",
" <td>51363</td>\n",
" <td>vampire / open world</td>\n",
" </tr>\n",
" <tr>\n",
" <th>97</th>\n",
" <td>98.0</td>\n",
" <td>https://shared.cloudflare.steamstatic.com/stor...</td>\n",
" <td>v rising</td>\n",
" <td>15803</td>\n",
" <td>16275</td>\n",
" <td>150645</td>\n",
" <td>tactical shooter</td>\n",
" </tr>\n",
" <tr>\n",
" <th>98</th>\n",
" <td>99.0</td>\n",
" <td>https://shared.cloudflare.steamstatic.com/stor...</td>\n",
" <td>squad</td>\n",
" <td>15729</td>\n",
" <td>19288</td>\n",
" <td>35151</td>\n",
" <td>grand strategy</td>\n",
" </tr>\n",
" <tr>\n",
" <th>99</th>\n",
" <td>100.0</td>\n",
" <td>https://shared.cloudflare.steamstatic.com/stor...</td>\n",
" <td>victoria 3</td>\n",
" <td>15609</td>\n",
" <td>17598</td>\n",
" <td>70100</td>\n",
" <td>unknown</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>100 rows × 7 columns</p>\n",
"</div>"
],
"text/plain": [
" Rank Image Link \\\n",
"0 1.0 https://shared.cloudflare.steamstatic.com/stor... \n",
"1 2.0 https://shared.cloudflare.steamstatic.com/stor... \n",
"2 3.0 https://shared.cloudflare.steamstatic.com/stor... \n",
"3 4.0 https://shared.cloudflare.steamstatic.com/stor... \n",
"4 5.0 https://shared.cloudflare.steamstatic.com/stor... \n",
".. ... ... \n",
"95 96.0 https://shared.cloudflare.steamstatic.com/stor... \n",
"96 97.0 https://shared.cloudflare.steamstatic.com/stor... \n",
"97 98.0 https://shared.cloudflare.steamstatic.com/stor... \n",
"98 99.0 https://shared.cloudflare.steamstatic.com/stor... \n",
"99 100.0 https://shared.cloudflare.steamstatic.com/stor... \n",
"\n",
" Title Current 24h Peak All-Time Peak \\\n",
"0 counter-strike 2 1015721 1276702 1818773 \n",
"1 dota 2 702487 805624 1295114 \n",
"2 banana 409758 428540 917272 \n",
"3 pubg: battlegrounds 371000 688475 3257248 \n",
"4 elden ring 294359 319707 953426 \n",
".. ... ... ... ... \n",
"95 soundpad 16028 17064 21920 \n",
"96 supermarket simulator 15817 15875 51363 \n",
"97 v rising 15803 16275 150645 \n",
"98 squad 15729 19288 35151 \n",
"99 victoria 3 15609 17598 70100 \n",
"\n",
" Genre \n",
"0 first-person shooter \n",
"1 moba (multiplayer online battle arena) \n",
"2 unknown \n",
"3 battle royale \n",
"4 action rpg \n",
".. ... \n",
"95 simulation / tycoon \n",
"96 vampire / open world \n",
"97 tactical shooter \n",
"98 grand strategy \n",
"99 unknown \n",
"\n",
"[100 rows x 7 columns]"
]
},
"execution_count": 139,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"from sklearn.linear_model import LinearRegression\n",
"import numpy as np\n",
"from scipy import stats\n",
"import warnings\n",
"warnings.filterwarnings('ignore')\n",
"\n",
"df = pd.read_csv('module_a.csv')\n",
"\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 141,
"id": "a7a25c54-121f-4614-ba10-dccdec0f24f1",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"RangeIndex: 100 entries, 0 to 99\n",
"Data columns (total 7 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 Rank 100 non-null float64\n",
" 1 Image Link 100 non-null object \n",
" 2 Title 100 non-null object \n",
" 3 Current 100 non-null int64 \n",
" 4 24h Peak 100 non-null int64 \n",
" 5 All-Time Peak 100 non-null int64 \n",
" 6 Genre 100 non-null object \n",
"dtypes: float64(1), int64(3), object(3)\n",
"memory usage: 5.6+ KB\n"
]
}
],
"source": [
"df.info()"
]
},
{
"cell_type": "code",
"execution_count": 143,
"id": "22efb72d-de48-45fe-8e7e-329b518acb90",
"metadata": {},
"outputs": [],
"source": [
"# Создание численной переменной для дальнейших работ\n",
"nums = df.select_dtypes('int64')"
]
},
{
"cell_type": "code",
"execution_count": 145,
"id": "4dc11b15-0d86-41d1-8c8f-8b6eddf9ec9c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" Средние значения \n",
" Current 70578.93\n",
"24h Peak 85990.56\n",
"All-Time Peak 276282.68\n",
"dtype: float64\n",
"\n",
" Медиана (центральные значения) \n",
" Current 30677.0\n",
"24h Peak 37379.5\n",
"All-Time Peak 104201.0\n",
"dtype: float64\n",
"\n",
" Минимальные значения \n",
" Current 15609\n",
"24h Peak 15875\n",
"All-Time Peak 21920\n",
"dtype: int64\n",
"\n",
" Максимальные значения \n",
" Current 1015721\n",
"24h Peak 1276702\n",
"All-Time Peak 3257248\n",
"dtype: int64\n",
"\n",
" Квантили (25%, 50% и 75%) \n",
" Current 24h Peak All-Time Peak\n",
"0.25 20386.25 22942.75 69868.00\n",
"0.50 30677.00 37379.50 104201.00\n",
"0.75 62550.50 65821.50 248263.25\n"
]
}
],
"source": [
"# Расчет основных статистических характеристик данных\n",
"mean = nums.mean() # Средние значения\n",
"median = nums.median() # Медиана (центральные значения)\n",
"min_values = nums.min() # Минимальные значения\n",
"max_values = nums.max() # Максимальные значения\n",
"quantiles = nums.quantile([0.25, 0.5, 0.75]) # Квантили (25%, 50% и 75%)\n",
"\n",
"print('\\n Средние значения \\n', mean)\n",
"print('\\n Медиана (центральные значения) \\n', median)\n",
"print('\\n Минимальные значения \\n', min_values)\n",
"print('\\n Максимальные значения \\n', max_values)\n",
"print('\\n Квантили (25%, 50% и 75%) \\n', quantiles)"
]
},
{
"cell_type": "code",
"execution_count": 147,
"id": "faa8a3ef-09d4-4009-9758-620bf46a6028",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1500x1000 with 3 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Построены графики распределения данных\n",
"plt.figure(figsize=(15, 10))\n",
"for i, col in enumerate(nums, 1):\n",
" plt.subplot(2, 2, i)\n",
" sns.scatterplot(df[col], color=\"r\")\n",
" plt.title(f\"KDE для {col}\")\n",
" plt.xlabel(\"Значение\")\n",
" plt.ylabel(\"Плотность\")\n",
"plt.tight_layout()\n",
"plt.show()\n",
"# закомментить каждую строку желательно"
]
},
{
"cell_type": "markdown",
"id": "155bb054-8770-498e-be3a-a9f15503b153",
"metadata": {},
"source": [
"На этих графиках можно увидеть, что данные распределены более-менее нормально"
]
},
{
"cell_type": "code",
"execution_count": 149,
"id": "7949b4e5-1634-487e-98b4-3afc733fdd57",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Корреляционный анализ\n",
"corr_matr = nums.corr() # создание переменной для построения матрицы из чисел\n",
"\n",
"sns.heatmap(corr_matr, annot=True) # ввод данных\n",
"plt.title('Корреляционная матрица \\n', fontsize=14)\n",
"plt.tight_layout()\n",
"plt.show() # вывод матрицы"
]
},
{
"cell_type": "markdown",
"id": "e370fad0-d937-4e72-9e71-a423327490ab",
"metadata": {},
"source": [
"Был выполнен корреляционный анализ между параметрами Current (текущее количество пользователей), 24h Peak (количество пользователей за последние 24 часа) и All-Time Peak (количество пользователей за все время)\n",
"\n",
"на данной матрице можно увидеть, что у параметров Current и 24h Peak хорошая взаимосвязь\n"
]
},
{
"cell_type": "markdown",
"id": "c5ae17f3-ffd8-4c4a-ba96-44b901c55f9d",
"metadata": {},
"source": [
"Тенденции по жанрам:"
]
},
{
"cell_type": "code",
"execution_count": 154,
"id": "463217e5-d96c-4f05-8d40-0a79640b86a1",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABWwAAASfCAYAAACZeLQrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeViU9f7/8dcAskgyUSqKue9GtuCSWmIumLlmacqJRHMpLCMtUzulkLnnkqanxcTSojLRzNxzydxNS7Q0txQRsQ6CGoHC/fvDH/NtZFHLmfs++Xxc11wH7s975n7PAp3r5Yf3bTMMwxAAAAAAAAAAwHQeZjcAAAAAAAAAALiEwBYAAAAAAAAALILAFgAAAAAAAAAsgsAWAAAAAAAAACyCwBYAAAAAAAAALILAFgAAAAAAAAAsgsAWAAAAAAAAACyCwBYAAAAAAAAALILAFgAAAIClnT9/XqNGjdL58+cdx37//fcCxwAAAP4JCGwBAMBVsdls13SrUqWK2S0X8OWXX2rEiBFq3bq17Ha7bDabHnzwwSve748//tDIkSNVq1Yt+fr6Kjg4WH369FFycrIbugbg6+urMWPG6NNPP3Uc++STTzRmzBj5+vqa2BkAAMD152V2AwAA4H9Dr169ChzbuHGjDh06pDvvvFN33XWX01rp0qXd1NnVe/zxx5WRkXFN9/njjz/UqlUrbdq0SeXLl1fnzp119OhRzZkzR19++aU2b96s6tWru6hjAJLk6emprl27ql+/flqwYIEkacWKFXr00Ufl6elpcncAAADXF4EtAAC4KvHx8QWORUVF6dChQ+rSpYtGjRrl9p6u1SOPPKK6deuqYcOGOnv2rDp27HjF+4wZM0abNm1SkyZNtHLlSt10002SpMmTJ2vIkCHq06eP1q9f7+rWgRveW2+9JS8vL61YsUKS1KNHD02bNs3krgAAAK4/AlsAAHDDmD17tuPrdevWXbH+woULmj59uqRLYVF+WCtJgwcP1ty5c7Vhwwbt3LlToaGh171fAP/n1ltv1bx588xuAwAAwOWYYQsAANziq6++Ups2bRQYGChfX1/Vrl1bw4YN05kzZwrUjho16qrm5Ba26/d62rhxo86cOaPq1avr7rvvLrD+6KOPSpKWLFlyVY+XkJAgDw8PNWjQoMCFkqKiomSz2QoEyevXr5ePj4+qVaumU6dOOY7/8ccfmj17tjp37qxq1arJz89PN998s5o3b66EhIRCz1/UOa60nj+TOCcnRyNHjlT16tXl6+uratWq6dVXX9Uff/xR6OP99ttvevHFF1WzZk35+vrqlltu0YMPPqiVK1cWWn/5+1uiRAlVrlxZ3bp1086dOwu9T2GOHj16VZ+fFi1aFLjvxYsXNX36dIWGhuqmm27STTfdpEaNGmnWrFnKzc29qvPHx8df9azny3emnz59Wi+88IJq164tX19fBQYGql27dtqwYUOB86xbt042m01RUVEF1mJiYmSz2fTQQw/pwoULkqT27dvLZrNp1apVhfZ9/vx5BQQEyG63Oz6fxZ0j/+e0sJ/DKlWqyGazFXoewzA0d+5cNW/eXDfffLP8/PxUv359TZo0ydHr1TxWXl6e7rzzzmuemd2iRYurem+OHj1a4L6bN29W586dVaZMGfn4+KhKlSqKjo5WSkpKgdqr/Rz8+TMQEhIim82mAwcOFNr70aNH5eHhoZo1a8owjGs6X2Hv04cffqj77rtPdrtdHh4exc4h//P7vXXrVrVt21Y333yzAgIC1KZNG23ZsqXA4xf3+bnS+u+//67XXntNISEh8vPzk91uL/b3m3TpMzx27Fjdc889KlWqlG666SbVq1dPMTEx+uWXXyRd/fv/589A/mtb2F+SfPbZZ277bxIA4MbBDlsAAOByY8eO1YgRI+Tl5aWwsDCVLl1a3377rcaPH6/ExERt2LBBQUFBBe7XrFkz1ahRo8Dx3bt36/vvv3d53/nnuOeeewpdzz9+tb306NFDycnJevHFF9W9e3ctXrxYXl5F/9+xffv2qUuXLipVqpSWLVvm9BodPXpUffv2VVBQkOrUqaNGjRopNTVVmzZt0jfffKOffvrpuo6pMAxDjz76qFavXq1WrVrprrvu0po1a/Taa69p06ZNWrFihdMs0RMnTqh58+Y6fPiwKlWqpC5duuj06dNavXq1VqxYocmTJ+v5558vcB5/f39HEJ6Tk6MffvhBCxYs0BdffKHNmzcX+V4UJigoqNCLyp07d06ff/55geO5ubnq3LmzvvrqKwUEBKh169aSpK+//lrR0dFatWqVFixYIA+P4vc81KhRo8DM5wULFuj8+fMFjv959vNPP/2k1q1b68SJE6pevboeeugh/fbbb/r666+1cuVKffjhh4qIiLji8x41apSmTZum5s2b6/PPP1eJEiUkSU899ZS++uorvfvuu2rTpk2B+yUkJOjs2bN66qmn5O/vf8Xz/BV5eXnq0aOHPvvsMwUEBKhhw4a66aabtHXrVr344otau3atlixZcsXXWJLee+89/fDDD3+5l0ceecRp13y+5cuXO/3jSL558+YpKipKeXl5atq0qSpWrKjvvvtOs2bN0sKFC7Vu3TrVqVOnwP0Km/EtSQcPHtS3337rdGzAgAEaNGiQ3nvvPU2YMKHAfWbPni3DMNS3b98iA/HLz1fU78tp06Y5gv1mzZqpSpUqjp/huXPnFvrYkrRp0yYNGDBANWrUULt27XTw4EGtXr1aGzZs0JdfflnoZ+tanT17Vg888IB27typMmXKqEOHDjp//ry+/vprffPNN9qyZYumTp3qdJ+TJ0+qdevW2rdvn2655Ra1bNlSJUqU0MGDB/Xmm2/qrrvuUlRUlB588EGnMDo1NVUrVqxQ9erVdd999zk9ZmGfjz/Lzs7WSy+99LefLwAABRgAAAB/Ua9evQxJxsiRI4us2bZtm+Hh4WGUKlXK2Lp1q+P4H3/8YXTr1s2QZHTr1s3pPiNHjjQkGXPmzCn0Ma+0fjXWrl1rSDLatm1bZM3zzz9vSDKef/75Qtd3795tSDLuueeeazr3s88+a0gy+vbt6ziW/1quXbvWMAzDOHHihFGpUiXD19fX+Pbbbws8xq+//mqsWLHCyM3NdTp++PBho0qVKoaHh4dx5MgRp7XLz3G5otYlGZKM2267zTh06JDjeFpamhESEmJIMqZNm+Z0nw4dOhiSjMjISCMnJ8dx/JtvvjFKlixpeHp6Gt9//32B81SuXLlAXzExMcW+D5c7cuSIIckICwu7pvVJkyYZkow77rjDOHXqlON4SkqKUbt2bUOS8dZbb11VD5erXLmyUdz/9b548aLTa5mXl+dY++6774xbb73V8Pf3d+or/zPcq1cvx7GpU6cakozQ0FAjIyOjwDkqVqxoeHt7G2lpaQV6aNy4sSHJ2LlzZ7HnyFfcz2FRz3f8+PGGJKNNmzZOPZw7d87o2LGjIcmYMWPGFR8rIyPDKFu2rHHbbbcV+bkpSlhYmCGpwM9HcevHjh0z/Pz8DC8vL2PJkiWO47m5uY7PZ8OGDZ0eZ86cOcX+fixs/cyZM0bJkiWNsmXLOv3cGMal969ChQqGl5eXkZqaWuDx3nvvPUOSMWrUKKfjRb1PVapUMSQZCxYsKPBYhb2m+Y8jyRgxYoTTZ3TmzJmGJCM4ONjIyspyHC/u81Pc+jPPPGNIMlq3bm2cPXvWcfzHH380ypYta0gyli5d6nSfVq1aGZKMnj17GufOnXNaO3DggPHjjz9eUw9/VtR7OW7cOMfvxr/73yQAAP6MkQgAAMClZsyYoby8PMXExKhRo0aO4z4+PpoxY4b8/Pz0+eef68SJEyZ2Wbhz585JkkqWLFnoev4uxPy6qzV16lR17dpV7733nl577bUC62fPnlX79u2VnJysjz76SE2bNi1Qc+uttyo8PLzATsSqVavq5ZdfVl5e3lWParhar776qqpVq+b4vkyZMpo4caKkSzN+8x0+fFhffvmlAgIC9Oabbzp2eErSfffdp6eeekq5ubmaOXPmVZ23efPmklTgT8CvtzfffFPSpfenbNm
"text/plain": [
"<Figure size 1600x1000 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Среднее отношение текущей популярности к историческому пику: 37.14%\n",
"Среднее отношение текущей популярности к пику за 24 часа: 87.06%\n"
]
}
],
"source": [
"# Группируем данные по жанрам и анализируем средние показатели:\n",
"genre_stats = df.groupby('Genre').agg({\n",
" 'Current': 'mean',\n",
" '24h Peak': 'mean',\n",
" 'All-Time Peak': 'mean'\n",
"}).sort_values(by='Current', ascending=False)\n",
"\n",
"# Визуализация\n",
"plt.figure(figsize=(16, 10))\n",
"sns.barplot(x=genre_stats.head(10).index, y=genre_stats.head(10)['Current'], color='gray')\n",
"plt.title('Топ-10 жанров по текущей популярности \\n ', fontsize = 15)\n",
"plt.xlabel('\\n Жанр игры \\n', fontsize=13)\n",
"plt.ylabel('\\n Количество пользователей на текущий момент \\n', fontsize=13)\n",
"plt.xticks(rotation=90)\n",
"plt.show()\n",
"\n",
"df['Current/All-Time Ratio'] = df['Current'] / df['All-Time Peak']\n",
"df['Current/24h Peak Ratio'] = df['Current'] / df['24h Peak']\n",
"\n",
"# Средние значения\n",
"mean_all_time_ratio = df['Current/All-Time Ratio'].mean()\n",
"mean_24h_ratio = df['Current/24h Peak Ratio'].mean()\n",
"print(f\"Среднее отношение текущей популярности к историческому пику: {mean_all_time_ratio:.2%}\")\n",
"print(f\"Среднее отношение текущей популярности к пику за 24 часа: {mean_24h_ratio:.2%}\")"
]
},
{
"cell_type": "markdown",
"id": "a4039d35-1408-44ce-a607-add957d22449",
"metadata": {},
"source": [
"\n",
"Прогнозирование текущей популярности:"
]
},
{
"cell_type": "code",
"execution_count": 157,
"id": "ba69c5e8-0dea-43e2-821c-1c884989d653",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"R² (точность модели): 96.98%\n"
]
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1000x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Построение модели линейной регрессии для предсказания текущей популярности на основе пиковых значений\n",
"X = df[['24h Peak', 'All-Time Peak']]\n",
"y = df['Current']\n",
"\n",
"model = LinearRegression()\n",
"model.fit(X, y)\n",
"y_pred = model.predict(X)\n",
"\n",
"# Оценка точности\n",
"r_squared = model.score(X, y)\n",
"print(f\"R² (точность модели): {r_squared:.2%}\")\n",
"\n",
"plt.figure(figsize=(10, 6))\n",
"sns.scatterplot(x=y, y=y_pred)\n",
"sns.lineplot(x=[y.min(), y.max()], y=[y.min(), y.max()], color='red', linestyle='--')\n",
"plt.xlabel('Фактическая популярность')\n",
"plt.ylabel('Прогнозируемая популярность')\n",
"plt.title('Точность прогноза текущей популярности')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 173,
"id": "e5943c9a-05de-4831-ab28-cfe747a27e9a",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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r1691KpVK6sERaNGjSSZb9ReffVVPfbYYwoLC9PZs2cVGhqqdu3aaceOHapbt67lGE9PT61fv94qlowf3nFxcXr00Uc1ZswYTZo0Sd99953eeOMNnT9/XjNmzLD0O3r0qJ555hlVr15dknk+iOeff14xMTE2lT0VKlTQwoULFRYWprJly0qS9u3bpy1btli2M6pQoYJmzJihhQsXWtpmzZql8uXL6+zZs1Z9jx49qvr16+vRRx9VhQoVFBsbq9mzZ6t169bav3+/KlWqlOlzZCb9MM2XX35Z0dHRWfYdPHiwhgwZIkmW65TewIEDtWXLFk2ZMkXNmzeXi4uLFi9erPfffz/bGCIjI3Xu3Dk99dRTBZKsSUxM1IMPPqhnnnlGY8aMsbox/+qrr7R582aNHz9evr6+qlKlivbv36/27durevXqevfdd+Xr66u1a9fqhRde0JkzZzRhwgSr87/66qvq0KGD5s2bp/j4eP3f//2fevTooQMHDsjZ2VmzZs3S008/rSNHjhTZUnoAwO1JSUnRhg0bFBwcLH9//0z7BAQEKCgoSD/88INSU1Pl5JT9394jIiLk7OysHj16ZLrfZDLpwQcf1NSpU7Vr165bVl/16dNHL730klVbxlhnzJihGjVqKDw8XKmpqZo6daq6deumTZs2qV27dpKkkydPqmLFinrrrbdUuXJlnTt3Tp988onatm2rXbt2qX79+pKkmJgY3X///WrRooWWLVumPXv26K233pIkjRs3Tm+++aYuXryo0aNHq2/fvtq0aVOWsR87dkxhYWFydnbO9jUeOXJEnTp1Us2aNfX999+rdOnS2fZP7/nnn1e/fv0k6Zb3Ny1btrQkGWNjY9W7d2+r/VOnTtXEiRM1atQoPfDAA/L09NTBgwf15JNPZhtDSkqK1q9fr6CgIAUEBOQ49twYNGiQ7r//fn366ae6cuWKXF1dLa/jP//5j0aPHq3JkyfLyclJV69eVceOHRUdHa1XX31VzZo10759+zR+/Hjt2bNHP/zwg9W93XfffacdO3Zo0qRJKl26tKZOnapevXrp0KFDqlWrloYMGaJz587p/fff14oVKyzThqT9HgAUWgaAfDN//nxDkrFjx44c9YuKijIMwzCio6ON0qVLGy+88IIhyZg/f76lb+3atY3atWsb165dy1EMNWrUMAYOHGjTfv78ecPT09Po3r27Vfvx48cNd3d3o1+/fpa2gQMHGqVKlcr2eTp27GhIMr7++mur9qeeespwcnIyjh07lulxKSkpRlJSkjFp0iSjYsWKRmpqqlXs999/v9GoUSNj+vTplvahQ4caffv2texPs2HDBkOSMXr0aMPd3d04ffq0YRiGcfXqVaNChQrG6NGjDUnGsmXLsnwdycnJxuXLl41SpUpZPWd25syZY0gyfvvtN0vb/fffb9SoUcOmb0JCgiHJeP311y1tGd9/wzCMUqVKGf3797c69u2337bpl9Hnn39uSDLmzJmTo9jTrtmGDRus2qOiomx+9gYOHGhIMj7++GOb80gyvL29jXPnzlm133vvvYa/v79x8eJFq/bhw4cbHh4elv5pcWT8efziiy8MSca2bdssbVldWwBAyRAXF2dIMh599NFs+z3yyCOGJOOff/655TkbNGhg+Pr6Zttn9uzZt7yPMAzzZ+J
"text/plain": [
"<Figure size 1200x400 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1200x400 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1200x400 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"for col in nums:\n",
" plt.figure(figsize=(12, 4))\n",
" \n",
" # Гистограмма с ядерной оценкой плотности (KDE)\n",
" plt.subplot(1, 2, 1)\n",
" sns.histplot(df[col], kde=True)\n",
" plt.title(f'Гистограмма для {col}')\n",
" \n",
" # Q-Q график\n",
" plt.subplot(1, 2, 2)\n",
" stats.probplot(df[col], dist=\"norm\", plot=plt)\n",
" plt.title(f'Q-Q график для {col}')\n",
" \n",
" plt.tight_layout()\n",
" plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 175,
"id": "180d3756-cba2-4d72-aae1-d8c8e5cadf68",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Переменная: Current\n",
"Статистика: 0.407, p-value: 2.994e-18\n",
"Вывод: Распределение отличается от нормального (p < 0.05)\n",
"---\n",
"Переменная: 24h Peak\n",
"Статистика: 0.404, p-value: 2.751e-18\n",
"Вывод: Распределение отличается от нормального (p < 0.05)\n",
"---\n",
"Переменная: All-Time Peak\n",
"Статистика: 0.518, p-value: 1.507e-16\n",
"Вывод: Распределение отличается от нормального (p < 0.05)\n",
"---\n"
]
}
],
"source": [
"for col in nums:\n",
" stat, p = stats.shapiro(df[col])\n",
" print(f'Переменная: {col}')\n",
" print(f'Статистика: {stat:.3f}, p-value: {p:.3e}')\n",
" if p > 0.05:\n",
" print('Вывод: Распределение не отличается от нормального (p > 0.05)')\n",
" else:\n",
" print('Вывод: Распределение отличается от нормального (p < 0.05)')\n",
" print('---')"
]
}
],
"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.12.4"
}
},
"nbformat": 4,
"nbformat_minor": 5
}