From 998128cb0f9abf56674cbc9994db63a701cca5c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9=20=D0=9A=D1=80?= =?UTF-8?q?=D1=8E=D0=BA=D0=BE=D0=B2?= Date: Sat, 30 Nov 2024 13:59:12 +0400 Subject: [PATCH] =?UTF-8?q?=D0=BD=D0=B5=D0=B1=D0=BE=D0=BB=D1=8C=D1=88?= =?UTF-8?q?=D0=B0=D1=8F=20=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B0=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BC=D0=B5=D0=BD=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Lab_3/lab3.ipynb | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/Lab_3/lab3.ipynb b/Lab_3/lab3.ipynb index cb9478f..e063140 100644 --- a/Lab_3/lab3.ipynb +++ b/Lab_3/lab3.ipynb @@ -86,7 +86,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -107,8 +107,8 @@ ], "source": [ "# 3. Проверим датасет на наличие пропусков и удалим строки с недостающими данными\n", - "print(data.isnull().sum()) # Суммируем пропуски по каждому столбцу\n", - "data.dropna(inplace=True) # Удаляем строки с пропусками\n", + "print(data.isnull().sum()) \n", + "data.dropna(inplace=True) \n", "print(\"Данные после очистки:\", data.shape)\n" ] }, @@ -124,7 +124,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -144,8 +144,8 @@ } ], "source": [ - "print(data.isnull().sum()) # Вывод количества пропусков\n", - "data.dropna(inplace=True) # Удаление строк с пропущенными значениями\n", + "print(data.isnull().sum()) \n", + "data.dropna(inplace=True) \n", "print(f\"Количество строк после удаления пропусков: {data.shape[0]}\")\n" ] }, @@ -215,7 +215,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -232,7 +232,7 @@ "from sklearn.model_selection import train_test_split\n", "\n", "X = data[scaled_columns]\n", - "y = data['Close'] # Заменить на целевую переменную, если другая\n", + "y = data['Close']\n", "X_train, X_temp, y_train, y_temp = train_test_split(X, y, test_size=0.4, random_state=42)\n", "X_val, X_test, y_val, y_test = train_test_split(X_temp, y_temp, test_size=0.5, random_state=42)\n", "\n", @@ -573,7 +573,6 @@ " dataframe_name=\"stock_data\",\n", " dataframe=data,\n", " index=\"datetime\", \n", - " # Убираем time_index, так как datetime уже используется как индекс\n", " logical_types={\n", " \"open\": ww.logical_types.Double, \n", " \"high\": ww.logical_types.Double,\n", @@ -594,13 +593,10 @@ "# Выводим имена столбцов в feature_matrix, чтобы убедиться, какие признаки были сгенерированы\n", "print(\"Generated feature columns:\", feature_matrix.columns)\n", "\n", - "# Объединяем новые признаки с исходными данными, добавив суффиксы для дублирующихся столбцов\n", "data_featuretools = data.join(feature_matrix, lsuffix='_orig', rsuffix='_feature')\n", "\n", - "# Масштабирование данных\n", "scaler = StandardScaler()\n", "\n", - "# Используем правильные имена столбцов для масштабирования\n", "scaled_columns = ['open_orig', 'high_orig', 'low_orig', 'close_orig', 'volume_orig']\n", "\n", "data_featuretools[scaled_columns] = scaler.fit_transform(data_featuretools[scaled_columns])\n", @@ -609,7 +605,7 @@ "\n", "feature_columns = [col for col in feature_matrix.columns if 'feature' in col]\n", "X = data_featuretools[scaled_columns + feature_columns]\n", - "y = data_featuretools['close_orig'] # Целевая переменная\n", + "y = data_featuretools['close_orig'] \n", "\n", "X_train, X_temp, y_train, y_temp = train_test_split(X, y, test_size=0.4, random_state=42)\n", "X_val, X_test, y_val, y_test = train_test_split(X_temp, y_temp, test_size=0.5, random_state=42)\n",