From d62f03a3a9c31d1754f8759b231239237913e989 Mon Sep 17 00:00:00 2001 From: Timourka Date: Fri, 4 Oct 2024 23:54:02 +0400 Subject: [PATCH] =?UTF-8?q?=D1=81=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20=D0=B0?= =?UTF-8?q?=D1=83=D0=B3=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=D1=86=D0=B8=D1=8E=20?= =?UTF-8?q?=D0=BE=D0=B2=D0=B5=D1=80=D1=81=D0=B5=D0=BC=D0=BF=D0=BB=D0=B8?= =?UTF-8?q?=D0=BD=D0=B3=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lab_2/laba2.ipynb | 324 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 319 insertions(+), 5 deletions(-) diff --git a/lab_2/laba2.ipynb b/lab_2/laba2.ipynb index 925cd79..bbccf58 100644 --- a/lab_2/laba2.ipynb +++ b/lab_2/laba2.ipynb @@ -18,7 +18,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -51,7 +51,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -119,7 +119,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -161,7 +161,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -245,7 +245,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -316,6 +316,320 @@ " plt.grid() # Добавление сетки для удобства восприятия\n", " plt.show() # Отображение графика" ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Создадим выборки данных. разбивать будем относительно параметра опасный, ведь это тот самый параметр по которому наша выборка разбивается на классы. И собственно его нам и надо будет предсказывать" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: scikit-learn in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (1.5.2)\n", + "Requirement already satisfied: numpy>=1.19.5 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from scikit-learn) (2.1.1)\n", + "Requirement already satisfied: scipy>=1.6.0 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from scikit-learn) (1.14.1)\n", + "Requirement already satisfied: joblib>=1.2.0 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from scikit-learn) (1.4.2)\n", + "Requirement already satisfied: threadpoolctl>=3.1.0 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from scikit-learn) (3.5.0)\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], + "source": [ + "pip install scikit-learn" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# Функция для создания выборок\n", + "from sklearn.model_selection import train_test_split\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", + " Splits a Pandas dataframe into three subsets (train, val, and test)\n", + " following fractional ratios provided by the user, where each subset is\n", + " stratified by the values in a specific column (that is, each subset has\n", + " the same relative frequency of the values in the column). It performs this\n", + " splitting by running train_test_split() twice.\n", + "\n", + " Parameters\n", + " ----------\n", + " df_input : Pandas dataframe\n", + " Input dataframe to be split.\n", + " stratify_colname : str\n", + " The name of the column that will be used for stratification. Usually\n", + " this column would be for the label.\n", + " frac_train : float\n", + " frac_val : float\n", + " frac_test : float\n", + " The ratios with which the dataframe will be split into train, val, and\n", + " test data. The values should be expressed as float fractions and should\n", + " sum to 1.0.\n", + " random_state : int, None, or RandomStateInstance\n", + " Value to be passed to train_test_split().\n", + "\n", + " Returns\n", + " -------\n", + " df_train, df_val, df_test :\n", + " Dataframes containing the three splits.\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" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "hazardous\n", + "False 81996\n", + "True 8840\n", + "Name: count, dtype: int64\n", + "\n", + "Обучающая выборка: (54501, 6)\n", + "hazardous\n", + "False 49197\n", + "True 5304\n", + "Name: count, dtype: int64\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Контрольная выборка: (18167, 6)\n", + "hazardous\n", + "False 16399\n", + "True 1768\n", + "Name: count, dtype: int64\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Тестовая выборка: (18168, 6)\n", + "hazardous\n", + "False 16400\n", + "True 1768\n", + "Name: count, dtype: int64\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Вывод распределения количества наблюдений по меткам (классам)\n", + "print(df.hazardous.value_counts())\n", + "print()\n", + "\n", + "\n", + "data = df[['est_diameter_min', 'est_diameter_max', 'relative_velocity', 'miss_distance', 'absolute_magnitude', 'hazardous']].copy()\n", + "\n", + "df_train, df_val, df_test = split_stratified_into_train_val_test(\n", + " data, stratify_colname=\"hazardous\", frac_train=0.60, frac_val=0.20, frac_test=0.20\n", + ")\n", + "\n", + "print(\"Обучающая выборка: \", df_train.shape)\n", + "print(df_train.hazardous.value_counts())\n", + "hazardous_counts = df_train['hazardous'].value_counts()\n", + "plt.figure(figsize=(2, 2))# Установка размера графика\n", + "plt.pie(hazardous_counts, labels=hazardous_counts.index, autopct='%1.1f%%', startangle=90)# Построение круговой диаграммы\n", + "plt.title('Распределение классов hazardous в обучающей выборке')# Добавление заголовка\n", + "plt.show()# Отображение графика\n", + "\n", + "print(\"Контрольная выборка: \", df_val.shape)\n", + "print(df_val.hazardous.value_counts())\n", + "hazardous_counts = df_val['hazardous'].value_counts()\n", + "plt.figure(figsize=(2, 2))\n", + "plt.pie(hazardous_counts, labels=hazardous_counts.index, autopct='%1.1f%%', startangle=90)\n", + "plt.title('Распределение классов hazardous в контрольной выборке')\n", + "plt.show()\n", + "\n", + "print(\"Тестовая выборка: \", df_test.shape)\n", + "print(df_test.hazardous.value_counts())\n", + "hazardous_counts = df_test['hazardous'].value_counts()\n", + "plt.figure(figsize=(2, 2))\n", + "plt.pie(hazardous_counts, labels=hazardous_counts.index, autopct='%1.1f%%', startangle=90)\n", + "plt.title('Распределение классов hazardous в тестовой выборке')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "распределение плохое, соотношение классов сильно смещено, это может привести к проблемам в обучении модели, так как модель будет обучаться в основном на одном классе. В таких случаях стоит рассмотреть методы аугментации данных." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "аугментация данных оверсемплингом(Этот метод увеличивает количество примеров меньшинства)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting imblearn\n", + " Downloading imblearn-0.0-py2.py3-none-any.whl.metadata (355 bytes)\n", + "Collecting imbalanced-learn (from imblearn)\n", + " Downloading imbalanced_learn-0.12.4-py3-none-any.whl.metadata (8.3 kB)\n", + "Requirement already satisfied: numpy>=1.17.3 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from imbalanced-learn->imblearn) (2.1.1)\n", + "Requirement already satisfied: scipy>=1.5.0 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from imbalanced-learn->imblearn) (1.14.1)\n", + "Requirement already satisfied: scikit-learn>=1.0.2 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from imbalanced-learn->imblearn) (1.5.2)\n", + "Requirement already satisfied: joblib>=1.1.1 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from imbalanced-learn->imblearn) (1.4.2)\n", + "Requirement already satisfied: threadpoolctl>=2.0.0 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from imbalanced-learn->imblearn) (3.5.0)\n", + "Downloading imblearn-0.0-py2.py3-none-any.whl (1.9 kB)\n", + "Downloading imbalanced_learn-0.12.4-py3-none-any.whl (258 kB)\n", + "Installing collected packages: imbalanced-learn, imblearn\n", + "Successfully installed imbalanced-learn-0.12.4 imblearn-0.0\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], + "source": [ + "pip install imblearn" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Обучающая выборка после oversampling: (100447, 6)\n", + "hazardous\n", + "True 51250\n", + "False 49197\n", + "Name: count, dtype: int64\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from imblearn.over_sampling import ADASYN\n", + "\n", + "# Создание экземпляра ADASYN\n", + "ada = ADASYN()\n", + "\n", + "# Применение ADASYN\n", + "X_resampled, y_resampled = ada.fit_resample(df_train.drop(columns=['hazardous']), df_train['hazardous'])\n", + "\n", + "# Создание нового DataFrame\n", + "df_train_adasyn = pd.DataFrame(X_resampled)\n", + "df_train_adasyn['hazardous'] = y_resampled # Добавление целевой переменной\n", + "\n", + "# Вывод информации о новой выборке\n", + "print(\"Обучающая выборка после oversampling: \", df_train_adasyn.shape)\n", + "print(df_train_adasyn['hazardous'].value_counts())\n", + "hazardous_counts = df_train_adasyn['hazardous'].value_counts()\n", + "plt.figure(figsize=(2, 2))\n", + "plt.pie(hazardous_counts, labels=hazardous_counts.index, autopct='%1.1f%%', startangle=90)\n", + "plt.title('Распределение классов hazardous в тренировачной выборке почле ADASYN')\n", + "plt.show()" + ] } ], "metadata": {