{ "cells": [ { "cell_type": "markdown", "id": "7f6cada9", "metadata": {}, "source": [ "# Manual Feature Engineering\n", "\n", "매뉴얼 feature engineering은 지루한 프로세스일 수 있으며(이 때문에 기능 툴과 함께 자동화된 feature engineering을 사용하는 것입니다!) 종종 도메인 전문지식에 의존합니다.
\n", "저는 대출에 대한 도메인 지식이 제한되어 있고 무엇이 사람을 채무 불이행하게 만드는지 알기 때문에, 대신 저는 최대한 많은 정보를 최종 교육 자료로 가져오는데 집중할 것입니다.
\n", "모델은 우리가 결정할 필요 없이 어떤 feature이 중요한지 선택할 것입니다.
\n", "기본적으로, 우리의 접근 방식은 최대한 많은 feature을 만든 다음 사용할 수 있도록 모든 feature을 모델에 제공하는 것입니다.
\n", "나중에 모델에서 가져온 feature이나 PCA와 같은 다른 기술을 사용하여 feature 축소를 수행할 수 있습니다.\n", "\n", "매뉴얼 feature engineering 프로세스에는 많은 pandas 코드, 약간의 인내심, 그리고 많은 훌륭히 조작한 데이터가 필요합니다. \n", "자동화된 feature engineering 도구를 사용할 수 있게 되었지만, feature engineering은 좀 더 오랜 시간 동안 많은 데이터를 사용하여 수행해야 합니다.\n" ] }, { "cell_type": "code", "execution_count": 2, "id": "e2515f02", "metadata": {}, "outputs": [], "source": [ "# pandas and numpy for data manipulation\n", "import pandas as pd\n", "import numpy as np\n", "\n", "# matplotlib and seaborn for plotting\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "# Suppress warnings from pandas\n", "import warnings\n", "warnings.filterwarnings('ignore')\n", "\n", "plt.style.use('fivethirtyeight')" ] }, { "cell_type": "code", "execution_count": 3, "id": "010a5020", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(1716428, 17)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Read in bureau\n", "bureau = pd.read_csv('./input/bureau.csv')\n", "bureau.head()\n", "bureau.shape" ] }, { "cell_type": "code", "execution_count": 4, "id": "96078687", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SK_ID_CURRprevious_loan_counts
01000017
11000028
21000034
31000042
41000053
\n", "
" ], "text/plain": [ " SK_ID_CURR previous_loan_counts\n", "0 100001 7\n", "1 100002 8\n", "2 100003 4\n", "3 100004 2\n", "4 100005 3" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Groupby the client id (SK_ID_CURR), count the number of previous loans, and rename the column\n", "previous_loan_counts = bureau.groupby('SK_ID_CURR', as_index=False)['SK_ID_BUREAU'].count().rename(columns = {'SK_ID_BUREAU': 'previous_loan_counts'})\n", "previous_loan_counts.head()\n", "#previous_loan_counts.shape" ] }, { "cell_type": "code", "execution_count": 68, "id": "ee9ef540", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 0.139376\n", "1 NaN\n", "2 0.729567\n", "3 NaN\n", "4 NaN\n", "Name: EXT_SOURCE_3, dtype: float64" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Join to the training dataframe\n", "train = pd.read_csv('./input/application_train.csv')\n", "train = train.merge(previous_loan_counts, on = 'SK_ID_CURR', how = 'left')\n", "\n", "# Fill the missing values with 0 \n", "train['previous_loan_counts'] = train['previous_loan_counts'].fillna(0)\n", "train.head()" ] }, { "cell_type": "markdown", "id": "577af56f", "metadata": {}, "source": [ "## Assessing Usefulness of New Variable with r value\n", "새 변수가 유용한지 확인하기 위해 이 변수와 목표값 사이의 Pearson 상관 계수(r-값)를 계산할 수 있습니다. 이 값은 두 변수 사이의 선형 관계의 강도를 측정하고 범위는 -1(완벽하게 음수 선형)에서 +1(완벽하게 양의 선형) 사이입니다. r-값은 새 변수의 \"유용성\"에 대한 가장 좋은 척도는 아니지만 변수가 기계 학습 모델에 도움이 되는지 여부에 대한 첫 번째 근사치를 제공할 수 있습니다. 목표값에 대한 변수의 r-값이 클수록 이 변수의 변화가 목표값에 더 많은 영향을 미칠 수 있습니다. 따라서 목표값에 비해 절대값 r-값이 가장 큰 변수를 찾습니다.\n", "\n", "### Kernel Density Estimate Plots\n", "\n", "커널 밀도 추정치 그림에서는 단일 변수의 분포를 보여 줍니다(평활 히스토그램으로 생각). 범주형 변수의 값에 따른 분포의 차이를 확인하기 위해 범주에 따라 분포의 색상을 다르게 지정할 수 있습니다. 예를 들어, TARGET = 1인지 0인지에 따라 색상이 지정된 이전_target_count의 커널 밀도 추정치를 표시할 수 있습니다. 그 결과 KDE는 대출금을 갚지 않은 사람(목표값 == 1)과 갚지 않은 사람(목표값 == 0) 사이의 변수 분포에서 유의한 차이를 보여줍니다. 이는 변수가 기계 학습 모델과 '관련성'이 있는지 여부를 나타내는 지표 역할을 할 수 있습니다.\n" ] }, { "cell_type": "code", "execution_count": 6, "id": "0209f335", "metadata": {}, "outputs": [], "source": [ "# Plots the disribution of a variable colored by value of the target\n", "def kde_target(var_name, df):\n", " \n", " # Calculate the correlation coefficient between the new variable and the target\n", " corr = df['TARGET'].corr(df[var_name])\n", " \n", " # Calculate medians for repaid vs not repaid\n", " avg_repaid = df.loc[df['TARGET'] == 0, var_name].median()\n", " avg_not_repaid = df.loc[df['TARGET'] == 1, var_name].median()\n", " \n", " plt.figure(figsize = (12, 6))\n", " \n", " # Plot the distribution for target == 0 and target == 1\n", " sns.kdeplot(df.loc[df['TARGET'] == 0, var_name], label = 'TARGET == 0')\n", " sns.kdeplot(df.loc[df['TARGET'] == 1, var_name], label = 'TARGET == 1')\n", " \n", " # label the plot\n", " plt.xlabel(var_name); plt.ylabel('Density'); plt.title('%s Distribution' % var_name)\n", " plt.legend();\n", " \n", " # print out the correlation\n", " print('The correlation between %s and the TARGET is %0.4f' % (var_name, corr))\n", " # Print out average values\n", " print('Median value for loan that was not repaid = %0.4f' % avg_not_repaid)\n", " print('Median value for loan that was repaid = %0.4f' % avg_repaid)" ] }, { "cell_type": "markdown", "id": "fdd751ea", "metadata": {}, "source": [ "랜덤 포레스트 및 그라데이션 부스팅 머신에 따라 가장 중요한 변수 중 하나인 EXT_SOURCE_3 변수를 사용하여 이 함수를 테스트할 수 있습니다.\n" ] }, { "cell_type": "code", "execution_count": 7, "id": "250b3e6b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The correlation between EXT_SOURCE_3 and the TARGET is -0.1789\n", "Median value for loan that was not repaid = 0.3791\n", "Median value for loan that was repaid = 0.5460\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "kde_target('EXT_SOURCE_3', train)" ] }, { "cell_type": "markdown", "id": "4f57ac37", "metadata": {}, "source": [ "방금 만든 새로운 변수인데요, 다른 기관의 이전 대출 건수입니다.\n" ] }, { "cell_type": "code", "execution_count": 8, "id": "8ba7d9cd", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The correlation between previous_loan_counts and the TARGET is -0.0100\n", "Median value for loan that was not repaid = 3.0000\n", "Median value for loan that was repaid = 4.0000\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "kde_target('previous_loan_counts', train)" ] }, { "cell_type": "markdown", "id": "d45be884", "metadata": {}, "source": [ "이것만으로 이 변수가 중요한지 알 수 없습니다. 상관 계수가 매우 약하고 분포에서 눈에 띄는 차이가 거의 없습니다.\n", "\n", "FBI 데이터 프레임에서 몇 가지 변수를 더 만들어 보겠습니다. 정보국 데이터 프레임에 있는 모든 숫자 열의 평균, 최소 및 최대값을 구하겠습니다.\n" ] }, { "cell_type": "markdown", "id": "9a7c08ba", "metadata": {}, "source": [ "### Aggregating Numeric Columns\n", "\n", "정보국 데이터 프레임의 숫자 정보를 설명하기 위해 모든 숫자 열에 대한 통계를 계산할 수 있습니다. 이를 위해 클라이언트 ID별로 그룹화하고 그룹화된 데이터 프레임을 집계한 후 결과를 교육 데이터에 다시 병합합니다. agg 함수는 연산이 유효한 것으로 간주되는 숫자 열의 값만 계산합니다. 우리는 'mean', 'max', 'min', 'sum'을 사용하겠지만 어떤 함수도 여기에 전달될 수 있습니다. 우리가 직접 함수를 작성하여 애그콜에 사용할 수도 있습니다.\n" ] }, { "cell_type": "code", "execution_count": 69, "id": "8e77b071", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SK_ID_CURRDAYS_CREDITCREDIT_DAY_OVERDUE...DAYS_CREDIT_UPDATEAMT_ANNUITY
countmeanmaxminsumcountmeanmaxmin...countmeanmaxminsumcountmeanmaxminsum
01000017-735.000000-49-1572-514570.000...7-93.142857-6-155-65273545.35714310822.50.024817.5
11000028-874.000000-103-1437-699280.000...8-499.875000-7-1185-399970.0000000.00.00.0
21000034-1400.750000-606-2586-560340.000...4-816.000000-43-2131-32640NaNNaNNaN0.0
31000042-867.000000-408-1326-173420.000...2-532.000000-382-682-10640NaNNaNNaN0.0
41000053-190.666667-62-373-57230.000...3-54.333333-11-121-16331420.5000004261.50.04261.5
\n", "

5 rows × 61 columns

\n", "
" ], "text/plain": [ " SK_ID_CURR DAYS_CREDIT CREDIT_DAY_OVERDUE \\\n", " count mean max min sum count \n", "0 100001 7 -735.000000 -49 -1572 -5145 7 \n", "1 100002 8 -874.000000 -103 -1437 -6992 8 \n", "2 100003 4 -1400.750000 -606 -2586 -5603 4 \n", "3 100004 2 -867.000000 -408 -1326 -1734 2 \n", "4 100005 3 -190.666667 -62 -373 -572 3 \n", "\n", " ... DAYS_CREDIT_UPDATE \\\n", " mean max min ... count mean max min sum \n", "0 0.0 0 0 ... 7 -93.142857 -6 -155 -652 \n", "1 0.0 0 0 ... 8 -499.875000 -7 -1185 -3999 \n", "2 0.0 0 0 ... 4 -816.000000 -43 -2131 -3264 \n", "3 0.0 0 0 ... 2 -532.000000 -382 -682 -1064 \n", "4 0.0 0 0 ... 3 -54.333333 -11 -121 -163 \n", "\n", " AMT_ANNUITY \n", " count mean max min sum \n", "0 7 3545.357143 10822.5 0.0 24817.5 \n", "1 7 0.000000 0.0 0.0 0.0 \n", "2 0 NaN NaN NaN 0.0 \n", "3 0 NaN NaN NaN 0.0 \n", "4 3 1420.500000 4261.5 0.0 4261.5 \n", "\n", "[5 rows x 61 columns]" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Group by the client id, calculate aggregation statistics\n", "bureau_agg = bureau.drop(columns = ['SK_ID_BUREAU']).groupby('SK_ID_CURR', as_index = False).agg(['count', 'mean', 'max', 'min', 'sum']).reset_index()\n", "bureau_agg.head()" ] }, { "cell_type": "code", "execution_count": 71, "id": "fddfbaee", "metadata": {}, "outputs": [], "source": [ "# List of column names\n", "columns = ['SK_ID_CURR']\n", "\n", "# Iterate through the variables names\n", "for var in bureau_agg.columns.levels[0]:\n", " # Skip the id name\n", " if var != 'SK_ID_CURR':\n", " \n", " # Iterate through the stat names\n", " for stat in bureau_agg.columns.levels[1][:-1]:\n", " # Make a new column name for the variable and stat\n", " columns.append('bureau_%s_%s' % (var, stat))" ] }, { "cell_type": "code", "execution_count": null, "id": "86eb2560", "metadata": {}, "outputs": [], "source": [ "train = pd.read_csv\n", "train_agg = train.group_by('id').agg(['min']).reset_index()\n", "\n", "columns = ['id']\n", "for i in train_agg.columns.levels[0]:\n", " for j in train_agg.columns.levels[1][:-1]:\n", " columns.append(\"brue_%s_%s\"% (i, j))\n", "train_agg.columns = columns\n", "train_agg" ] }, { "cell_type": "code", "execution_count": 11, "id": "de0c50aa", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "FrozenList([['DAYS_CREDIT', 'CREDIT_DAY_OVERDUE', 'DAYS_CREDIT_ENDDATE', 'DAYS_ENDDATE_FACT', 'AMT_CREDIT_MAX_OVERDUE', 'CNT_CREDIT_PROLONG', 'AMT_CREDIT_SUM', 'AMT_CREDIT_SUM_DEBT', 'AMT_CREDIT_SUM_LIMIT', 'AMT_CREDIT_SUM_OVERDUE', 'DAYS_CREDIT_UPDATE', 'AMT_ANNUITY', 'SK_ID_CURR'], ['count', 'mean', 'max', 'min', 'sum', '']])" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bureau_agg.columns.levels" ] }, { "cell_type": "code", "execution_count": 12, "id": "7a05a77d", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SK_ID_CURRbureau_DAYS_CREDIT_countbureau_DAYS_CREDIT_meanbureau_DAYS_CREDIT_maxbureau_DAYS_CREDIT_minbureau_DAYS_CREDIT_sumbureau_CREDIT_DAY_OVERDUE_countbureau_CREDIT_DAY_OVERDUE_meanbureau_CREDIT_DAY_OVERDUE_maxbureau_CREDIT_DAY_OVERDUE_min...bureau_DAYS_CREDIT_UPDATE_countbureau_DAYS_CREDIT_UPDATE_meanbureau_DAYS_CREDIT_UPDATE_maxbureau_DAYS_CREDIT_UPDATE_minbureau_DAYS_CREDIT_UPDATE_sumbureau_AMT_ANNUITY_countbureau_AMT_ANNUITY_meanbureau_AMT_ANNUITY_maxbureau_AMT_ANNUITY_minbureau_AMT_ANNUITY_sum
01000017-735.000000-49-1572-514570.000...7-93.142857-6-155-65273545.35714310822.50.024817.5
11000028-874.000000-103-1437-699280.000...8-499.875000-7-1185-399970.0000000.00.00.0
21000034-1400.750000-606-2586-560340.000...4-816.000000-43-2131-32640NaNNaNNaN0.0
31000042-867.000000-408-1326-173420.000...2-532.000000-382-682-10640NaNNaNNaN0.0
41000053-190.666667-62-373-57230.000...3-54.333333-11-121-16331420.5000004261.50.04261.5
\n", "

5 rows × 61 columns

\n", "
" ], "text/plain": [ " SK_ID_CURR bureau_DAYS_CREDIT_count bureau_DAYS_CREDIT_mean \\\n", "0 100001 7 -735.000000 \n", "1 100002 8 -874.000000 \n", "2 100003 4 -1400.750000 \n", "3 100004 2 -867.000000 \n", "4 100005 3 -190.666667 \n", "\n", " bureau_DAYS_CREDIT_max bureau_DAYS_CREDIT_min bureau_DAYS_CREDIT_sum \\\n", "0 -49 -1572 -5145 \n", "1 -103 -1437 -6992 \n", "2 -606 -2586 -5603 \n", "3 -408 -1326 -1734 \n", "4 -62 -373 -572 \n", "\n", " bureau_CREDIT_DAY_OVERDUE_count bureau_CREDIT_DAY_OVERDUE_mean \\\n", "0 7 0.0 \n", "1 8 0.0 \n", "2 4 0.0 \n", "3 2 0.0 \n", "4 3 0.0 \n", "\n", " bureau_CREDIT_DAY_OVERDUE_max bureau_CREDIT_DAY_OVERDUE_min ... \\\n", "0 0 0 ... \n", "1 0 0 ... \n", "2 0 0 ... \n", "3 0 0 ... \n", "4 0 0 ... \n", "\n", " bureau_DAYS_CREDIT_UPDATE_count bureau_DAYS_CREDIT_UPDATE_mean \\\n", "0 7 -93.142857 \n", "1 8 -499.875000 \n", "2 4 -816.000000 \n", "3 2 -532.000000 \n", "4 3 -54.333333 \n", "\n", " bureau_DAYS_CREDIT_UPDATE_max bureau_DAYS_CREDIT_UPDATE_min \\\n", "0 -6 -155 \n", "1 -7 -1185 \n", "2 -43 -2131 \n", "3 -382 -682 \n", "4 -11 -121 \n", "\n", " bureau_DAYS_CREDIT_UPDATE_sum bureau_AMT_ANNUITY_count \\\n", "0 -652 7 \n", "1 -3999 7 \n", "2 -3264 0 \n", "3 -1064 0 \n", "4 -163 3 \n", "\n", " bureau_AMT_ANNUITY_mean bureau_AMT_ANNUITY_max bureau_AMT_ANNUITY_min \\\n", "0 3545.357143 10822.5 0.0 \n", "1 0.000000 0.0 0.0 \n", "2 NaN NaN NaN \n", "3 NaN NaN NaN \n", "4 1420.500000 4261.5 0.0 \n", "\n", " bureau_AMT_ANNUITY_sum \n", "0 24817.5 \n", "1 0.0 \n", "2 0.0 \n", "3 0.0 \n", "4 4261.5 \n", "\n", "[5 rows x 61 columns]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Assign the list of columns names as the dataframe column names\n", "bureau_agg.columns = columns\n", "bureau_agg.head()" ] }, { "cell_type": "markdown", "id": "8e284469", "metadata": {}, "source": [ "이제 이전과 같이 교육 데이터와 병합하면 됩니다.\n" ] }, { "cell_type": "code", "execution_count": 13, "id": "02b0eabc", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SK_ID_CURRTARGETNAME_CONTRACT_TYPECODE_GENDERFLAG_OWN_CARFLAG_OWN_REALTYCNT_CHILDRENAMT_INCOME_TOTALAMT_CREDITAMT_ANNUITY...bureau_DAYS_CREDIT_UPDATE_countbureau_DAYS_CREDIT_UPDATE_meanbureau_DAYS_CREDIT_UPDATE_maxbureau_DAYS_CREDIT_UPDATE_minbureau_DAYS_CREDIT_UPDATE_sumbureau_AMT_ANNUITY_countbureau_AMT_ANNUITY_meanbureau_AMT_ANNUITY_maxbureau_AMT_ANNUITY_minbureau_AMT_ANNUITY_sum
01000021Cash loansMNY0202500.0406597.524700.5...8.0-499.875-7.0-1185.0-3999.07.00.00.00.00.0
11000030Cash loansFNN0270000.01293502.535698.5...4.0-816.000-43.0-2131.0-3264.00.0NaNNaNNaN0.0
21000040Revolving loansMYY067500.0135000.06750.0...2.0-532.000-382.0-682.0-1064.00.0NaNNaNNaN0.0
31000060Cash loansFNY0135000.0312682.529686.5...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
41000070Cash loansMNY0121500.0513000.021865.5...1.0-783.000-783.0-783.0-783.00.0NaNNaNNaN0.0
\n", "

5 rows × 183 columns

\n", "
" ], "text/plain": [ " SK_ID_CURR TARGET NAME_CONTRACT_TYPE CODE_GENDER FLAG_OWN_CAR \\\n", "0 100002 1 Cash loans M N \n", "1 100003 0 Cash loans F N \n", "2 100004 0 Revolving loans M Y \n", "3 100006 0 Cash loans F N \n", "4 100007 0 Cash loans M N \n", "\n", " FLAG_OWN_REALTY CNT_CHILDREN AMT_INCOME_TOTAL AMT_CREDIT AMT_ANNUITY \\\n", "0 Y 0 202500.0 406597.5 24700.5 \n", "1 N 0 270000.0 1293502.5 35698.5 \n", "2 Y 0 67500.0 135000.0 6750.0 \n", "3 Y 0 135000.0 312682.5 29686.5 \n", "4 Y 0 121500.0 513000.0 21865.5 \n", "\n", " ... bureau_DAYS_CREDIT_UPDATE_count bureau_DAYS_CREDIT_UPDATE_mean \\\n", "0 ... 8.0 -499.875 \n", "1 ... 4.0 -816.000 \n", "2 ... 2.0 -532.000 \n", "3 ... NaN NaN \n", "4 ... 1.0 -783.000 \n", "\n", " bureau_DAYS_CREDIT_UPDATE_max bureau_DAYS_CREDIT_UPDATE_min \\\n", "0 -7.0 -1185.0 \n", "1 -43.0 -2131.0 \n", "2 -382.0 -682.0 \n", "3 NaN NaN \n", "4 -783.0 -783.0 \n", "\n", " bureau_DAYS_CREDIT_UPDATE_sum bureau_AMT_ANNUITY_count \\\n", "0 -3999.0 7.0 \n", "1 -3264.0 0.0 \n", "2 -1064.0 0.0 \n", "3 NaN NaN \n", "4 -783.0 0.0 \n", "\n", " bureau_AMT_ANNUITY_mean bureau_AMT_ANNUITY_max bureau_AMT_ANNUITY_min \\\n", "0 0.0 0.0 0.0 \n", "1 NaN NaN NaN \n", "2 NaN NaN NaN \n", "3 NaN NaN NaN \n", "4 NaN NaN NaN \n", "\n", " bureau_AMT_ANNUITY_sum \n", "0 0.0 \n", "1 0.0 \n", "2 0.0 \n", "3 NaN \n", "4 0.0 \n", "\n", "[5 rows x 183 columns]" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Merge with the training data\n", "train = train.merge(bureau_agg, on = 'SK_ID_CURR', how = 'left')\n", "train.head()" ] }, { "cell_type": "markdown", "id": "484fa2af", "metadata": {}, "source": [ "### Correlations of Aggregated Values with Target\n", "\n", "우리는 모든 새로운 값과 목표값의 상관관계를 계산할 수 있습니다. 다시 말해, 모델링에 중요한 변수의 근사치로 사용할 수 있습니다.\n", "\n" ] }, { "cell_type": "code", "execution_count": 14, "id": "5ab2663d", "metadata": {}, "outputs": [], "source": [ "# List of new correlations\n", "new_corrs = []\n", "\n", "for col in columns:\n", " corr = train['TARGET'].corr(train[col])\n", " new_corrs.append((col, corr))" ] }, { "cell_type": "markdown", "id": "7425a254", "metadata": {}, "source": [ "아래 코드에서는 정렬된 파이썬 함수를 사용하여 크기(절대값)별로 상관관계를 정렬합니다. 또한 또 다른 중요한 파이썬 연산인 익명 람다 함수를 사용합니다.\n" ] }, { "cell_type": "code", "execution_count": 15, "id": "166b1e0b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[('bureau_DAYS_CREDIT_mean', 0.08972896721998116),\n", " ('bureau_DAYS_CREDIT_min', 0.0752482510301037),\n", " ('bureau_DAYS_CREDIT_UPDATE_mean', 0.06892735266968673),\n", " ('bureau_DAYS_ENDDATE_FACT_min', 0.05588737984392085),\n", " ('bureau_DAYS_CREDIT_ENDDATE_sum', 0.053734895601020544),\n", " ('bureau_DAYS_ENDDATE_FACT_mean', 0.053199625857586336),\n", " ('bureau_DAYS_CREDIT_max', 0.049782054639973074),\n", " ('bureau_DAYS_ENDDATE_FACT_sum', 0.04885350261111597),\n", " ('bureau_DAYS_CREDIT_ENDDATE_mean', 0.046982754334835404),\n", " ('bureau_DAYS_CREDIT_UPDATE_min', 0.042863922470730204),\n", " ('bureau_DAYS_CREDIT_sum', 0.041999824814846765),\n", " ('bureau_DAYS_CREDIT_UPDATE_sum', 0.04140363535306015),\n", " ('bureau_DAYS_CREDIT_ENDDATE_max', 0.03658963469632896),\n", " ('bureau_DAYS_CREDIT_ENDDATE_min', 0.034281109921615996),\n", " ('bureau_DAYS_ENDDATE_FACT_count', -0.03049230665332553)]" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Sort the correlations by the absolute value\n", "# Make sure to reverse to put the largest values at the front of list\n", "new_corrs = sorted(new_corrs, key = lambda x: abs(x[1]), reverse = True)\n", "new_corrs[:15]" ] }, { "cell_type": "markdown", "id": "5c0d7a70", "metadata": {}, "source": [ "목표값과 유의한 상관 관계가 있는 새 변수가 없습니다. 상관 관계가 가장 높은 변수 bro_의 KDE 그림을 볼 수 있습니다.절대 크기 상관 관계 측면에서 목표값이 있는 DAYS_Credit_mean입니다.\n" ] }, { "cell_type": "code", "execution_count": 16, "id": "3d3ff340", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The correlation between bureau_DAYS_CREDIT_mean and the TARGET is 0.0897\n", "Median value for loan that was not repaid = -835.3333\n", "Median value for loan that was repaid = -1067.0000\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAAGpCAYAAAC3YBbVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAADb+klEQVR4nOzdd1gUVxcH4N9spVcpoiIWQMSGjWhUrDFRo9GIiSW22HsUSyyJJibGYIyJBWMUY4+az5qo0SgK9hKxi1jABii9bp35/iAsDLsgKDC7cN7n8Unm7p3dswzs7tl777lMamoqB0IIIYQQQgghEAkdACGEEEIIIYQYC0qQCCGEEEIIIeQ/lCARQgghhBBCyH8oQSKEEEIIIYSQ/1CCRAghhBBCCCH/oQSJEEIIIYQQQv5DCRIhVUxsbCzs7OzQs2dPoUMhhJA3lveaNn78eMFiaNy4MRo3bsxr27ZtG+zs7LBkyRKBosrVs2dP2NnZCRoDIaaGEiRCCHkNeR9+Cv5zc3ODj48P3n//fSxatAh37twp0X3NmTMHdnZ2cHR0RFxcnK6d4zh8+OGHsLOzw/r164s8//r163B2doaPjw+Sk5N17adOncInn3wCHx8fODk5wd3dHc2bN8fgwYOxcuVKKJXK1/8BAMjOzsa6devwwQcfwMvLC05OTqhVqxbat2+PuXPn4vbt27z+S5Ys0fuZOTs7o3Hjxhg7dqxe/+LOK/yvXbt2vHPyPhTm/XN0dETt2rXRokULDB06FKGhoUhNTTX4eHkfuPM+8OYdl+ZfRETEG/1sq5rx48fzfn4ODg5wd3dH06ZN8fHHH2PlypV48eJFuTx2RESE4AnWm8j7XY+NjRU6FEIqDYnQARBCiClr1KiRbjROpVLh5cuXiIyMxI8//ogff/wRgwcPRnBwMCwsLAyer1AosHPnTjAMA61Wiy1btmDWrFkAAIZhsGbNGrRt2xYLFixA+/bt4e3trXf+mDFjoFarERISAgcHBwDAihUrsHDhQkgkEnTp0gX16tUDy7KIjY3F5cuX8ddff2HAgAFwcXF5ref977//YujQoXj69ClcXV3RqVMn1KhRA9nZ2bh79y7Wr1+PkJAQbNu2DT169OCd+/bbb+sSmtTUVJw7dw47d+7E/v37ceDAAbRu3drgYxY8r7CinsfAgQPh7u4OjuOQmZmJJ0+e4Ny5czhw4AC++uorLFu2DP379y/2udra2mL27Nl67SEhIUhPT8e4ceNga2vLu83d3b3Y+ySG9ejRQ5eYZmVlIS4uDhcuXMCRI0fw7bffYv78+Zg4cSLvHDc3N1y8eBE2NjZChAwAOHDggGCP/Spr165FTk6O0GEQYlIoQSKEkDfQuHFjfP7553rtkZGRGD9+PLZt24akpCT8/vvvBs/ft28fUlJSMG7cOGzduhWbN29GUFAQRKLcAX4XFxesXLkSgwYNwqhRo3D8+HHIZDLd+QsWLMDdu3cxceJEdOzYEQDw5MkTfP3117C2tsbhw4fRqFEj3mNyHIeIiAhYWVm91nOOjo7GBx98gIyMDMyfPx9Tp06FVCrl9UlISMDSpUsNjtK0a9eO9zPjOA6TJ0/G1q1b8dVXX+HPP/80+LiFzyuJQYMGoX379rw2tVqNTZs2Yd68eRg9ejQkEgk++OCDIu/Dzs7O4ONu374d6enpGD9+PGrXrl2quIhhPXv2xODBg3ltLMti3759mD59OubNmweWZTF58mTd7VKpFF5eXhUdKk+dOnUEffzi1KpVS+gQCDE5NMWOkCosLi4OY8aMQb169eDq6oqOHTtiz549ev3yppNt27bN4P28av79hQsX0K9fP9SuXRt2dna6D80sy2Lz5s3o3r073N3d4eLigjZt2mD58uVQqVR6j/Pnn39i9OjRaN68Odzc3FCjRg106NABa9asgVar1etf3Nz7vGk15bU+oFmzZti3bx8cHR1x5MgRHD582GC/TZs2AQBGjx6NDz74AE+fPsU///zD69OjRw+MGDECN27cwNdff61rP378ONavX49GjRrhiy++0LVfvnwZWq0W7du310uOgNyRqQ4dOsDS0vK1ntusWbOQnp6OKVOmICgoSC85AnITu+XLl+PDDz985f0xDIMRI0YAAK5evfpaMZWGVCrFqFGjEBwcDI7j8Pnnn0OhUJT74xYnb4pZREQE/vjjDwQEBKB69epo0KAB5s6dq5sOGRYWhh49eqBmzZpwd3fHmDFjeNMqC0pISMCcOXPQvHlzuLi4oHbt2ujbty9OnTql1zctLQ0//fQTevXqpZuSWa9ePXz88ce4cOGCwfvPm4aYnZ2NBQsWoFGjRnB2doafnx9+/PFHcBxXJj8bkUiEfv364bfffgOQO+UyISFBd3tRa5ASEhIwb948tGzZEm5ubqhVqxaaN2+OUaNG4caNG7r7ev/99wEAO3bs4E3zy3u9KzgF7+7duxgyZAjq1q0LOzs7XL9+HYDh18CCLl68iD59+qBWrVqoVasW+vfvj8jISL1+eb8HhqbLGXqednZ2OHPmDACgadOmutgLxlLU6yDHcfjtt9/QpUsX1KxZE9WrV0e7du2wcuVKg6+/jRs3hp2dHTQaDX744Qc0b94czs7O8PX1xYIFC954yi4hxoQSJEKqqNTUVHTv3h137tzBkCFD8NFHH+Hhw4cYOXIkVq9eXWaPc/HiRfTq1QtarRZDhw5F//79IRaLodFoMGjQIEyZMgVJSUn48MMPMWLECEgkEnz11VcIDAyERqPh3deiRYtw/fp1tGzZEmPGjMGAAQOQmZmJuXPnYuzYsWUWc1lxcXHRffDftWuX3u1RUVE4d+4c2rRpg3r16um+Od+4caNe32+++Qaenp5YtWoVTp06heTkZEycOBFyuRzr16+HXC7X9c2bZhcTE2MwcXwTsbGxCAsLg5mZGT777LNX9i8YV0lIJBU3sWHIkCGoWbMm4uLijGbN0Lp16zBt2jR4e3tj+PDhMDc3x5o1azB16lTs378fAwcOhLOzM4YNGwZ3d3fs2rULY8aM0bufW7duoX379vjll19Qp04djB49Gj179sS///6LDz74AFu2bOH1v3fvHhYvXgyxWIzu3bvrRiRPnTqFHj164OjRowbj1Wg06NevHw4ePIiuXbti6NChUCgUWLRoUZl/+dCxY0e89dZbyM7OLnKUMU92djbeeecdrF69GjVq1MDIkSMxbNgwNG3aFCdPntQl4u3atcPAgQMB5E6XnT17tu5f4YTn0aNHeOedd5CQkICPP/4YgwcPLnLqbEFXrlxBr169YGZmhtGjR6Nz5844ceIE3nvvvSKTz5KaPXu2boRo3LhxuthLsp5qzJgxmDZtGuLi4jBo0CCMHDkSOTk5WLBggcHX3zyjRo3CunXr0KZNG4wcORJmZmZYuXIlpk6d+kbPhRBjQlPsCKmibt26hb59+2LDhg266VzTpk1DQEAAFi1ahPfff79M1lGEhYVhxYoVGD58OK89ODgYR44cwejRo/Hdd99BLBYDyB1V+uyzz7Bp0yasX78e48aN052za9cuvaksLMti3Lhx2LVrF8aOHYtWrVq9ccxlqX379li2bBkuX76sd1teIjRo0CAA0CVKR48exfPnz+Hm5qbra2FhgV9//RXdunXDhAkT4Ovri/j4eHz//fdo0KAB735btmyJWrVq4fbt2+jVqxc++ugjNG/eHD4+PgZHe0rj3LlzAHJHyMqyMlbeSFqbNm2K7HP69OkiP3S3a9dObyrdq4hEIrRt2xa7du3C5cuX0a1bt1KdXx4iIiIQHh6OunXrAsgt4NGiRQvs3LkTR48exV9//YUWLVoAyF3z1rFjR/zzzz+4fv06mjRpAgDQarUYNmwY0tLScPDgQd66rfj4eHTp0gUzZ85E9+7d4ezsDADw8vLC3bt34ejoyIvn8ePH6Nq1K+bNm4d33nlHL964uDg0adIE+/btg5mZGYDcD+0tWrTA2rVrMXPmzDf+nSuoXbt2OH/+PC5fvoxPP/20yH4nT55EbGwsxo4di6VLl/Ju02q1yMjIAADd78yOHTuKnC6b5/z585g+fTpvtLYk/vnnHwQHB2P06NG6tv3792PYsGGYNGkSLl68CIZhSnWfeT7//HOcPn0aT548KdVUzz/++AO7d++Gr68vDh8+rFu/9eWXX6J///44deoU1qxZgylTpuidGxsbiwsXLuj+/hcsWIB27dph165dWLhwIVxdXV/ruRBiTGgEiZAqSiwW48svv9QlR0DuPPpRo0ZBpVIZHPF4HY0aNdJLjliWxdq1a+Hk5IQlS5bokiMg90PrV199BYZhsHPnTt55hub5i0QiTJgwAQBw4sSJMom5LOV9WEhMTOS1KxQK/P7777C0tOStfxk0aJCuWENhzZo1w7x58/Ds2TMcPXoU77zzjsHRA0tLS90HvnPnzmHatGno0KEDatasiXfffRerV69GVlbWaz2fvKlNBZO30spLdJYsWYI5c+agY8eO2Lx5M9zc3LB48eIizztz5gyWLl1q8N/p06dfK5bq1asD0L8+Qhk3bpwuOQJyC0S8++674DgO7733ni45AgCZTKb73bl586au/ejRo7h//z4+/fRTvaIWrq6umDx5MhQKBfbv3897nMLJEZBbbKJPnz6Ijo7GkydPDMa8dOlSXXIEAE5OTujZsyfS09MRHR1duh/AK5T0euW9rhka4RGLxa+V3Ds7Oxss1vEqdevW1Uvm+vTpA39/f0RHR7/xKNLr2Lp1K4DchKhgcQuZTIZvv/0WQP6XFoUtXLiQ9/OztLTEgAEDwLKswWmDhJgiGkEipIqqWbMmPDw89NrffvttLF++XDe3/k21bNlSr+3+/ftISkpCnTp1EBwcbPA8c3NzvQ9XycnJ+Pnnn3H06FHExsbqfcgvWCLb2BT+hnjv3r1ITU3FwIEDYW1trWv/+OOP8c0332DLli2YOXMmL4EFgClTpiAkJAQJCQm89UiFNWrUCBEREbh69SoiIiJw48YNXL58GefPn8f58+exfv16HDhwoNQLuPPWlbzuN95AbqKTt24ij7u7O44cOVJs4jV79uxSF2koqTd5PmUpbxSooLwk29Aal7zbnj9/rmvL+8D99OlTgyNuDx8+BJA7ra6g8+fPY+3atbh06RJevnyptw4lLi5O7/fF1tbW4OtIjRo1AKDIUupv6lXX6+2330bNmjWxYsUKXL16Fe+88w78/f3RtGnT157G2ahRo1JPGQVyR0UL/x0DQNu2bXHhwgVcv34db7311mvF9LquXbsGAAZHXRs1agQnJyc8ePAAmZmZesVcmjVrpndOeV9vQioaJUiEVFF5U2sKc3JyAgCkp6eX2+PkLSp/9OiR3vSXoqSmpqJTp06IjY1FixYt8PHHH8Pe3h5isRhpaWlYu3atUS4Sjo+PBwC9b+fzvp3Nm16Xp0aNGujUqROOHz+OY8eOoXv37rzbRSKRropdwW/ti+Ln5wc/Pz/d8dWrVzF27Fjcu3cPn3/+ue6b5JLK+0D+7NmzUp1XUF6iw3Ec4uLisGHDBvzwww8YPHgwDh8+XKLnVVbykmpDoydCKJgs58kbYS3uNrVarWvL+/s6cOBAseWnC37BcPDgQQwbNgxmZmbo1KkTPDw8YGFhAZFIhNOnT+PMmTMG/76KKq2dF1dZr4Er6fWytrbGsWPHsHTpUhw6dAgnT54EkJvQDRkyBPPmzSvR+qGCinrNfN3zyvq1tjTS09NhY2MDc3Nzg7e7uLjg5cuXSE9P10uQCpe0B8rvehMiFEqQCKmiitp08eXLlwD4H3zyvv0s6s0vLS3N4JsmYPib3rz7fvfdd4ssf13Yli1bEBsba3AU4eLFi1i7dq3eOXlxazQavW+N09LSSvS4bypv8X/BtVF3797F+fPnAUBXQcuQjRs36iVIb8rPzw/ff/89PvjgA4PVzF4lb41QZGQkUlNT32gdEsMwcHNzw4IFC5CamooNGzbgm2++KXZkrCyxLIuzZ88CgNGtXXsTeX9fmzdvRu/evUt0zrfffguZTIawsDC9vbamTZumN+InlLyplCW5XtWrV8eKFSvw448/4t69ezhz5gxCQ0OxevVqpKWlYdWqVaV67NcdZSyr19qyfM2ysbFBSkoKcnJyDCZJeVNphdxbihAh0RokQqqop0+fGiwlm/dBqOBUn7wPwU+fPtXr/+DBg1J/A+rl5QVbW1tcuXLFYDlZQ/KmBRn6wFfUh7fi4q6IctIJCQkIDQ0FAAwYMEDXnlecoU2bNvjkk08M/rO1tcWxY8feaKSmKHkjEa9Thrl27dro1KkTFAoFfvrpp1f2L+mo3oIFC2BnZ4e1a9ciJiam1HG9jq1bt+Lp06dwc3MrcgNaU5SXPOQV1CiJhw8fwtvbWy85YllWl8wL7eTJkzh//jwsLCzQq1evEp/HMAy8vb0xcuRIHD58GHK5nFcFr7xHP86fPw+WZfXa85Lzkr7WFvWaVbDATUk1bdoUAAyu3bt9+zZevnyJ+vXrv/ZeaYSYOkqQCKmitFotFi5cyHtTffToEdavXw+pVIrAwEBde/PmzSESibBr1y5kZmbq2rOysjBz5sxSP7ZEIsG4cePw8uVLBAUFITs7W69PUlISbx1UXkW9wuWYr127hh9//NHg4+R9UMxLUvJcv37d4IhTWYqMjETfvn2RnJyMd999F++++y6A3OIMO3fuhEgkwi+//IKVK1ca/Dd48OAiizW8ypUrV7Bt2zbk5OTo3aZWq7FixQoAuWsgXsf3338PGxsb/PTTT1ixYoXBcsB51/Z///tfie7Tzs4OU6dOhVqtLre9qfKo1Wps2LABM2fOBMMwWLJkSYVO6ytvPXr0QN26dbFx40YcOnTIYJ9r167x9k9yd3fHw4cPeWuZOI7Dd999h7t375Z7zMXhOA779u3TFXuZO3fuK6e73b5922CinZycDLVazbveedP1DCUlZeHBgwfYsGEDr23//v24cOECPD094e/vr2vPe8367bffeF9gPH78uMjpyHnxF1VEw5BPPvkEAPDVV1/xXtPVajXmzZsHABg6dGiJ74+Qyoam2BFSRfn6+uLKlSvo2LEjOnfujJSUFOzduxfp6en45ptveOViXVxcMHjwYGzZsgXt27fHO++8A4VCgePHj8Pd3V1XWao0Zs6cidu3b2Pz5s04evQoOnTogBo1aiAxMRGPHj3C+fPnMWrUKN23qx9//DF+/vlnzJ07F6dPn0a9evXw4MED/P3333j//fcNbnA7ePBgrFq1Cj///DNu3boFX19fxMTE4PDhw+jdu3eJP7wX58aNG7oP9Gq1GomJibh69apuI8qBAwfihx9+0PXPK87QtWvXYsuoDx8+HGvWrMHWrVsxc+ZMXqW/V4mLi8PEiRMxa9YsvPXWW/Dy8oK5uTni4+Nx/PhxJCQkwNnZGd98881rPWdPT0/s27cPQ4cOxcKFC/HLL78gICAAbm5uUCgUuHv3Ls6ePQuVSoUuXbqU+H7Hjh2LkJAQ7N69G1OnTkXDhg15txdX5ruofZm2b9+u+5Y8KysLjx8/xrlz5/Dy5UvY2dlh1apV6NOnTymevfGTSqXYunUr+vXrh0GDBqFly5Zo2rQpLC0t8ezZM1y/fh3R0dEIDw/X7Zk1YcIEfPbZZwgICEDv3r0hkUhw4cIFREVF4d1338WRI0cqJPa//voLjx8/BgDk5OQgLi4O586dw9OnT2FmZobFixdj0qRJr7yfkydPYt68eWjVqhW8vLzg7OyMhIQEHDp0CCzLYtq0abq+np6eqFWrFs6dO4fRo0ejXr16EIvFeO+99wxutFxaXbt2xfz58/HPP//A19cXDx48wMGDB2Fubo6VK1fypu6999578Pb2xp49e/Ds2TO0bt0a8fHxOHz4MLp3727wNatTp07Yu3cvpk6dij59+sDS0hK2trYGK1zm+fDDD3HkyBHs3r0bb731Fnr27AmpVIojR47g/v37CAgIKNFeSoRUVpQgEVJF2dnZ4Y8//sCXX36JLVu2IDMzEw0aNMCUKVPw4Ycf6vVfvnw5nJ2dsXPnToSGhsLFxQWBgYGYNWsWWrduXerHl0gk2Lx5M/73v/9h27ZtOHbsGDIzM+Hg4IBatWrhs88+w8cff6zrX716dRw+fBgLFy7E+fPnceLECXh6euKHH35AQECAwQTJ0dERf/31F7744gucOXMGZ8+eha+vLzZu3AhbW9sySZBu3rypK7Fsbm4OW1tb1KtXD9OmTUNgYCB8fX15/X/77TcAr/521svLC23atMG5c+dw7Ngx3QhUSQQEBGDDhg0ICwvD1atXce3aNaSkpMDS0hL16tXD0KFDMW7cuDcqTNC8eXNcvHgRW7ZswaFDh3D8+HGkpqZCLpejdu3aGD58OIYNGwYfH58S36eFhQWmT5+OOXPmYPHixdi+fTvvdkPV7/LY2NgYTJB27NgBIHdth5WVFapVqwZ/f3907twZ/fr1K9O9nIxJw4YNcebMGYSEhODQoUPYsWMHOI6Di4sLGjRogMmTJ8PT01PXf8SIEZDJZAgJCcGOHTtgZmaGNm3aYPXq1Thw4ECFJUiHDh3CoUOHwDAMrKysYG9vD19fX4wdOxYDBgyAi4tLie6nS5cuePr0Kc6dO4cjR44gPT0dzs7OaN26NcaNG4dOnTrp+opEImzbtg1ffvkljh49ivT0dHAcBzc3tzJJkFq0aIFZs2Zh8eLFWLduHYDcpGbBggV6FeHkcjn279+PL774AseOHUNkZCTq1auHb7/9FgEBAQZfs4YMGYJnz55h165dWL16NdRqNWrVqlVsggQAv/zyC9q2bYstW7Zgy5YtYFkW9erVw1dffYVx48aV6f5VhJgaJjU1tfST0AkhhBBCCCGkEqI1SIQQQgghhBDyH0qQCCGEEEIIIeQ/tAaJEEIAbNu2Tbc4vDju7u4YPHhwBURUcUpaNa5du3Zo3759OUdTOaxZs6ZE+9Y0bty4VCWrCSGElD9KkAghBLnVzkqyGebbb79d6RKkosoHG0IJUsmEhISUqOzywIEDKUEihBAjQ0UaCCGEEEIIIeQ/tAaJEEIIIYQQQv5DCRIhhBBCCCGE/IcSJFImoqOjhQ6BGEDXxfjQNTE+dE2MD10T40PXxPjQNSk/lCARQgghhBBCyH8oQSKEEEIIIYSQ/1CCRAghhBBCCCH/oQSJEEIIIYQQQv5DG8VWkKysLGg0GqHDKDdmZmYl2jWevB6JRAJLS0uhwyCEEEIIqfQoQaoASqUSAGBraytwJOVHLpfDzMxM6DAqraysLCiVSsjlcqFDIYQQQgip1GiKXQVQKBSwsLAQOgxiwiwsLKBQKIQOgxBCCCGk0qMEqYIwDCN0CMSE0e8PIYQQQkjFoASJEEIIIYQQQv4jeIK0fv16NGnSBC4uLggICMDZs2eL7X/r1i306NEDrq6u8PHxwdKlS8FxHK/P6dOnERAQABcXFzRt2hShoaF697N//374+/vD2dkZ/v7+OHjwIO/2xo0bw87OTu/fgAED3vxJE0IIIYQQQoySoAnSnj17MGfOHMyYMQPh4eFo3bo1AgMD8eTJE4P909PT0bdvXzg7O+PEiRP47rvvsHLlSqxatUrXJyYmBgMGDEDr1q0RHh6O6dOnY9asWdi/f7+uz8WLFzFy5EgEBgYiIiICgYGBGD58OC5fvqzrExYWhqioKN2/U6dOgWEYfPDBB+X28yCEEEIIIYQIS9AEafXq1Rg0aBCGDRsGb29vBAcHw8XFxeCIDwDs3r0bOTk5CAkJQcOGDdGnTx9MnToVa9as0Y0ibdy4Ea6urggODoa3tzeGDRuGgQMH8pKokJAQtG/fHkFBQfD29kZQUBDatWuHkJAQXZ9q1arBxcVF9+/YsWOwtrauEgmSoZGzgv/Gjx+v6/vxxx/DwcEBp06d0rufJUuW6M6xt7dHgwYNMHr0aDx9+lSvb0xMDCZPnoxGjRrB2dkZDRo0QK9evbB9+3aoVKpXxhYaGorx48e/MnZj8eTJE3z00Udwc3ND3bp1MWvWLN7zJIQQY8FxHBIVWtxOUSMyUYUrL1W4+EKJyEQVHqZr8CJHC6WWe/UdEUKIiRCszLdKpUJkZCQmT57Ma+/cuTMuXLhg8JyLFy+iTZs2MDc317V16dIF33zzDWJjY+Hh4YGLFy+ic+fOvPO6dOmCHTt2QK1WQyqV4tKlSxgzZoxen3Xr1hl8XI7jsGXLFnz00UdVohpdVFSU7v///vtvTJkyhdeWV847Pj4e4eHhmDBhArZt24bu3bvr3Zenpyf+/PNPsCyLR48eISgoCCNGjMCxY8d0fa5evYo+ffrAy8sL33//Pby8vJCdnY179+5h06ZNqFu3Lt566y1d/59//lnvsWxsbPDhhx9i4cKFujY/Pz8sWLAA/fr1e+OfSVnSarX46KOPYG9vj0OHDiElJQXjx48Hx3EIDg4WOjxCSBWWo+Hwb6IKF17k/ruTokZ8thYq9tXn2skYVLcQw9VCjDrWEtSzlaC+jQS+9hLUsBRTsZnCNBowSQlgUhLBZKaByUwHk5UOqNVgWC2g1QIMA05uBsjNwMnMwNnYg7NzBGfrAM7OARDTbi2ElAfB/rKSkpKg1Wrh5OTEa3dycsKLFy8MnvPixQu4ubnp9c+7zcPDAy9evEDHjh31+mg0GiQlJcHV1RUJCQmletywsDDExsbik08+eeXzio6O1mszMzMzqf1rCu7XlJeMFt7DSaFQYPPmzejUqROGDx+Odu3a4fnz53BwcND10Wg0EIlEunPt7e0xaNAgzJ8/Hy9fvoS1tTU4jsPYsWPh4eGBAwcOQCTKH9T08vJCr169wHEcr8S1ubm5wT2l5HK53s+5cF9jKJV9/Phx3LlzB5cvX0aNGjUAAPPnz8eMGTMwa9YsWFtbGzwvPT29yN/R4hj6nSTComtifKryNdFywOVUEf58IUFYkhhK9vUSmVQVh1SVBndSNQiDknebo5RDQ2stmlizaGOvhZclh1flS5XmmnAcZKmJsIh/DIu4GJjHP4E8+QVkaUlguBJknkXdrUgMpb0TFNWq5/5zdIWiWnUoHV3BystnX8JKc00qEbomr8fT07PY2wX/6qHwN0ocxxX7LZOh/oXbX7dPUY+7adMmNG/eHE2aNCkyrjyGfuBpaWl6m6jabXz2yvsqS6kjarzWeTKZDAD04uc4Dr///jsWLVqE+vXrw8/PD/v27cOECRN0fSQSCUQike7chIQEHDlyBGKxGBYWFjAzM8O1a9dw7949bNiwocSjczKZrESb0jIMA6lUWqK+eYlKUdq0aYM//vgDAHD27FkEBgYW23/69OmYMWOGwdsiIyPh7e2NevXq6dreffddTJo0CXfu3EGHDh0MnmdjY4NatWoV+7iFRUdHv/JFgFQsuibGp6pekxwNhw13M7H2dhaeZmnL9bGS1AwikiWISAZWxwLVLUToWsMM/etaoH11GUSF3n9N/ZowackQ37oC8c3LEN+6DFFqUtk/BquFWVI8zJLigairvNvYai5ga3tBW9sTrIcX2Nqe4Owc3+jxTP2aVEZ0TcqPYAmSo6MjxGKx3jfiiYmJeqM7eZydnQ32B/JHkorqI5FIdKMbLi4uJX7cly9f4tChQ1i2bFkpnl3lFxERgZSUFN1Ut8DAQKxfv56XIAG50/Vq1KgBlmWRk5MDABg7diwsLS0BAA8ePAAA1K9fX3dOWloaGjZsqDsunGyMHTtW73GOHj0KX1/fN3o+xSmYZPn5+b2yv729fZG3vXjxQu93rai/B0IIKWsqLYfN97Kw7FoG4nNKNoJhLWXgaiGGuZiBWASIGUChBTLVLDJUHFJVLEqzDCkum8WW6Gxsic6Gu5UYA+tb4BNPC9S0Evx729eXmQ7J5XBIzv0DcdQ1MJxw67JEiQkQJSZAciX/vYq1cwT7X8KUlzhxDs545VAeIVWQYK9EMpkMzZo1Q1hYGK/wQVhYGHr37m3wnNatW2PhwoVQKBS6D6xhYWGoXr06ateurevz119/8c4LCwuDn58fpFIpAKBVq1YICwvDlClTeH38/f31HnPbtm2Qy+VGt45FaFu3bkXfvn11I0zvv/8+5s2bh8uXL6Nly5a6fnXq1MHu3buhVCpx6NAhHDhwAF988UWx921tba1LQAIDA/WKF3z11Vfo2rUrr61mzZpv9Hzq1q1b4r7m5ual6m9IUaOVNEefEFKeTscrMfVMCh6kFz1iVMNCjHbVZXjLWY6WzjJ4WIthLS2+ppOW5ZCoYBGXrcXTLC0epmtwP12Duyka3EhWI6eY7OlxphZLIzPww7UMfFjXHFMaWUP22s+w4onu34L07z8guRIBRqsp1bmsrT24aq7grO3BWdmAs7IBZHJwIjEgFgMsC0alAFRKMDlZYNJSwKQlgUlJgigjtXRxpibljmRdO69r46xsoK3tBdbDM3fEycMTnJMbIBJ8FxhCBCXoVzUTJ07E2LFj0aJFC/j7+yM0NBTx8fEYMWIEAGDRokW4cuUKDhw4AADo378/li5digkTJiAoKAj379/HihUrMGvWLN0HyxEjRuDXX3/FnDlzMGLECFy4cAHbt2/H+vXrdY87btw49OjRA8uXL0evXr3w559/IiIiAkeOHOHFx3EcNm/ejH79+hW5LqQqSk1NxYEDB6BSqbBp0yZdu1arxebNm3kJkkwm0yUTPj4+ePDgAYKCgnQVA/OmmUVHR6Np06YAAJFIpDsnLwEryMXF5Y0TlMIqcoqds7OzXiGSotbkEUJIWUhTsVh4OQ0bo7IN3m4hYfB+bTMMqm9pcMrbq4hFDFwsxHCxEKNZNf5tGpbDnVQNLr5Q4vgzJU49VyJLo58waThg54Mc7HyQg3b2cnzroEITRyNNlVgtJJfCIf17F8QP7ryyOyczA1vHG1oPr9wpbzXrgnWuDpi9QeGn7EyI4p5AFBcL0fPHuf+Newwm4RkYtmQjg0xmOiS3LgO38rc54cwtwdaun5s41faE1sMLXPXSTe8mxNQJmiD169cPycnJCA4ORkJCAnx8fLBr1y64u7sDyK2S9ujRI11/W1tb7N27F0FBQejUqRPs7OwwceJETJo0SdfHw8MDu3btwty5cxEaGgpXV1csXboUffr00fXJS8YWL16MJUuWoE6dOggNDeV9sAdyp109fPgQv/76a5k/99ddE2QMdu/ejWrVqmHXrl26NqVSievXr2P+/PlYsmSJbgpdYbNmzULLli0xduxYNGvWDE2aNIG3tzd++ukn9O3bF2KxuKKeBk9FTrFr3bo1li1bhmfPnukSs7CwMMjlcjRr1qzkQRNCSAmciVdizKkUPMvWHzUyFzMY7WOJqY2t4GhWPq+/EhGDxg5SNHaQ4tMGVlBqOZyOV+L3+9k4GJsDhYHBrNMpYnQ48BKBdc0xr7kNPKyNZOodx0F8/QJku9ZB/PRhsV21tT2hbeIPTaOWYOv7AhJp2cZiYQW2ng/Yej78drUKoqePIIqNhjjmHkSx0RA9uQ9GrS7R3TI5WRDfvQbx3Wu6Nk4mR70adSFtHQCtbwuwterRKBOp1AR/xRk1ahRGjRpl8LaC+xLl8fX1xeHDh4u9z3bt2iE8PLzYPn369OElTYZ06NABqampxfapirZs2YLevXvz1gkpFAr4+vpiwYIF2LNnT5EV/zw8PPDee+/hm2++we7du8EwDNasWYMPPvgA3bp1w4wZM+Dt7Q2tVosLFy7g2bNneklTWloaEhISeG2WlpawsrJ67edUkVPsOnfuDB8fH4wbNw6LFy9GSkoKvvjiCwwdOhQ2Njavfb+EEFIQy3FYcSMTi/9NB2tghttwLwvM8bOBq0XFfjElFzPoUsMMXWqYIVXJYs+jHITczkR0mv70tN0Pc7AvJgfDvS0xs6k1nM2F+RINAEQP70K+M4SXOBTGutSApk1XqNt0Becq0KiLVAa2jjfYOt7Q/UQ1GojiHkMUew+imGiIY3MTJ0ZZssqujEoJm0d3gEe5o2WsnSM0rQKgad0pN/mjZIlUMoInSMS0REZG4vr16wb365HJZHjvvfewZcuWYkuiT5o0Cd27d8eFCxfg7++PFi1a4NSpU1i+fDlmz56NhIQEmJub6xKuoUOH8s4vuHYsT1BQEObPn//mT7ACiMVi7Ny5E0FBQXj33XdhZmaG/v37Y/HixUKHRgipJJIVWowNT8GxZ0q92+rbSPDT23Z421X47Sfs5CKMbGCJ4d4WOPRYgZ9uZODSS/5Ih5oFfr2The3R2Zjga4XJjaxgI6vAD+Q5WZD9sR7S4/uKLLygaeIPdfdAaH1bGGfRA4kEbK26YGvVBdq9m9vGsmASnkIcE52bOP034sRkZ77y7kSpSZAd2wPZsT1gHZygafcu1J3ezy36QEglwKSmptL21+UsLS3N4L49lUnBwhmkfLzO7xGVADU+dE2MT2W7JvdS1fjonyQ8ytCfuzalkRXm+tnATGKEH+KRu/b32FMl5p19iehsw0mQk5kIn/vZYKiXBSSi8n0e4n9PQ755BUQpifqxMgw0b3WBqvcn4Nxql2scFYbjwCTGQxRzD+LYaIhi7uX+K0FBCE4kgrZ5O6i79oW2QTPjTBQrmcr22mVMaASJEEIIqSTCnikw7GQy0lX87z4d5CL80sEe3Woa9xdZDMPgnVpmqO2nQKS4Br75Nx2PM/mJ3ksFi+nnUrHuTia+ammLbjXlZV8BNCcL8s0/QXr2qMGbNY1bQxU4GmztSvbhlGHAOVWH1qk6tK0Ccts4DkzCMySHHUL1F7EQ3/4XjCJH/1SWzS1zfjkcWq8mUPUdDq2PHyVKxCRRgkQIIYRUAhvvZiHofKrefkStnWQI7WhvUnsMiRjgo3oW+MDDHBujshAcmYEkJb8y291UDQb8k4SObnIsbmWLRg5lUwRBdP8WzNYuhuhlnN5trJMblMM+g7ZxqzJ5LJPAMOBcayKxZSfYe3oCKiXE1y9CcvEEJFfP5ZYhL0R87zrMl06H1rsplAPG5K5TIsSEmM6rJSGEEEL0cByHZdcy8M3VDL3bhnhaYHkbO8jEpvktvlzMYFxDKwz2tMDPNzKx6mam3p5KJ58r0X7/CwzxtMC85m9QdIJlIf1zG2R7N+qVyebEYqjf/QiqPkMBuXGPwpU7mRzalu2hbdkeSkU2JGePQfrPXoifxeh1FUddg8XXE6F+uztUA8aAs3Os+HgJeQ1UdoQQQggxUSzHYe7FNL3kiAHwdUsbrHzbdJOjgqylIsxrboPLH7pgYH0LFH5GHIAt0dlo8b8ELI1MR5a6ZPsA6WRnwuznBZD/b4NecqStWQc5C3+BasAYSo4KM7OApnMf5HyzEdmfr4CmcWuD3aRn/obF7E8gPbwTKOVmuoQIgRIkQgghxARpWA4TT6ci5HYWr91czGBrZwdMbmxd9mtzBFbDUoyQ9vY42dsJ7V31N5HN0nBYcjUDLfckYFt0FrSG6psXwjyLgcWi8ZBcPaN3m6pbP+R8uRase/0yib/SYhiwDZpBEfQ9sheshsbAFERGkQ357yEw/2YKmPgnAgRJSMlRgkQIIYSYGIWGw9CwZOy4n81rt5Ex2NPdET1rmwsUWcVo6ijDgXerYUcXB3ja6q8WiMtmMfF0KjoefIlTz/VLnecRXzoJi0XjICr0gZ2ztkXO9O+gGjIFkAlfDt2UsPV9oQgKRs6cH6GtWUfvdvGD27BYMArSo/8D2FKO9BFSQShBIoQQQkxIhppF4LFEHHrMXxzvZCbCX+85oY1L1fhAzzAM3nM3x9kPnLHsLVs4yvU/0txIVqPP34kYfDwJTzMLTO3SaiDb+QvMVy3U2yxVW8cb2YvWQdv0rfJ+CpWa1scPOV/9CuWQKeAs+Bu5Myol5NtWwmz5HCAzXaAICSkaJUiEEEKIiUhWaNH7SCIi4lW89lpWYhzp4YTGZVTJzZRIRQxG+Vjh3/4umNbYCnIDNRr+eqyA/94XWHUzA9q0VJj9MBuyQzv0+qnbv4ecuT+Dc3SpgMirALEE6m79kP3dZmj83ta7WXLjIiy+HANRzD0BgiOkaJQgEUIIISYgSaHF+0cScTVRzWtvYCfB3z2cUM/AVLOqxFYmwsKWtrjY1wX96+pPMczScPjjxHVkzRkNya0rvNs4sQSKYZ9B+eksmlJXDjhbByimLoZi9OfgLCx5t4kS42G+eCIk4YcFio4QfZQgEUIIIUYu6b+Ro1sp/ApgLapJcei9anCzfM3S1pVQbWsJ1gc44J9eTmjplD+iNjg+AhFXF8It+yWvP2tXDTlzf4Kmcx/a1LQ8MQw07boje/FGaAvti8So1TDbsBSyPaEA9+rCGoSUN0qQiB47O7ti/40fP17X9+OPP4aDgwNOnTqldz9LlizRnWNvb48GDRpg9OjRePr0qV7fmJgYTJ48GY0aNYKzszMaNGiAXr16Yfv27VCp8qeSFBVTaGgoxo8f/8rYjcXs2bPRsWNHuLi4oHHjxkKHQwgxYon/jRwVTo7au8qw791qcDCj5MiQlk4yHO3phJ9aW2H1w83YdHctzFn+6FtktQa4E7SGNjKtQJyjM3I+XwFVt356t8n2b4Z84w9UCpwIrmqPxxODoqKidP//999/Y8qUKbw2M7PcfSDi4+MRHh6OCRMmYNu2bejevbvefXl6euLPP/8Ey7J49OgRgoKCMGLECBw7dkzX5+rVq+jTpw+8vLzw/fffw8vLC9nZ2bh37x42bdqEunXr4q238hfL/vzzz3qPZWNjgw8//BALFy7Utfn5+WHBggXo10//RVhoLMti4MCBuH37Nk6cOCF0OIQQI5X438jR7ULJUUB1OXZ0dYCFhL7nLI44PQXj9i+C+PE1vdtW1XgHM+sNhvSkBotaZuLTBpYQ0QhSxZBIoRoyBWxdH8g3LgOjyq80KD31J5iMFCjGf0HTHYlgKEEielxc8hen2tra6rXl2b59O7p06YKxY8eiVatWSE5OhoODA6+PRCLRnVu9enUMGzYMs2fPRnp6OmxsbMBxHMaPH4+6devi6NGjEIny3+ybNGmC/v37gys03G5ra2swHnNzc128QG6FIxsbG4N9hRYcHAwAWLlyJSVIhBCDikqOOrrJsb0LJUevInpwB2YrF0CUkshrzxFJMd7rU2x1bQ8AUGs4zDyfhr8eK7C6nT1q0HTFCqNp2w2ssxvMl38OJiu/mp3k3zMwWzEPis++BaT6+10RUt4oQRKI1bCOFfp4mZtOlun9cRyHrVu3YtGiRahVqxb8/Pzw+++/Y8KECUWek5CQgIMHD0IsFkMszn0Dun79Ou7evYsNGzbwkqOCKmKjwxo1ahR7e5s2bfDHH38AAM6ePYvAwMBi+0+fPh0zZswos/gIIVXLyxwt+hxJxO1U/eRoRxdHmEtopKNIHAdJ2AHIt60Co+FPqWMdXZA4eiFePnMGnvDLe598rkSH/S/wSwd7dK1pVpERV2lsfV9kz18J82WzIEpK0LVLbl2G2ZqvoJi4EJDQx1VSseg3jryWiIgIpKSk6Ka6BQYGYv369XoJUlRUFGrUqAGWZZGTkwMAGDt2LCwtc6vYPHjwAABQv37+LuVpaWlo2LCh7rhwsjF27Fi9xzl69Ch8fV9/DnlERESxt+dNKwRyp+69qr+9vf1rx0IIqdpSlKzB5KiTmxzbKTkqXlYGzEKDIbkcrneTpmFzKMZ/AXsbO/zegMPW6GzMvZiGDHX+LIUkJYv+x5IQ1MQac/ysIRHRz7oicG61kTN/Fcx+mAXx00e6dsm/pyFf/x2UY+YCRXyJSkh5oASJvJatW7eib9++kMlyh77ff/99zJs3D5cvX0bLli11/erUqYPdu3dDqVTi0KFDOHDgAL744oti79va2lqXgAQGBvKKNADAV199ha5du/Laatas+UbPp27duiXua25uXqr+hBBSUhlqFv2P6idHnd3k2EbJUbFE0TdhFvI1bxQij+q9j6AKHA2Icz/2MAyDT7wsEeAmx8SIFL19pZZdz8C5F0psCHCAqwVNuasInIMTcmb/CIslUyF6Hqtrl577BzAzh3LYdKoySCoMJUik1FJTU3HgwAGoVCps2rRJ167VarF582ZegiSTyXTJhI+PDx48eICgoCCEhIQAAOrVqwcAiI6ORtOmTQEAIpFId05eAlaQi4tLmScoNMWOECI0hYbDoH+ScKXQPkddasixtTMlR0VSqyDbtwnSv3aA4VjeTZyZOZQjgqB5q4vBU92tJNj/bjUsv56Jb6+mgy2w5PVMvArt97/A+gB7BLjRlLsKYWOHnJnLYP7tFIhexumapWEHwVZ3h7p78e+9hJQVSpAEUtZrgirS7t27Ua1aNezatUvXplQqcf36dcyfPx9LlizRTaErbNasWWjZsiXGjh2LZs2aoUmTJvD29sZPP/2Evn376tYmVTSaYkcIEZKG5TDiZLLeSEY7VxklR8UQxUZDvm4JxE8f6t2mre0FxYQvwLkWP8NAxDAIamoNf2cZRp1KRkJOfpL1UsHig7+TMMfPGjObWlOVuwqQO5K0HOaLJ0OUml9gQ/Z7CNiadaH1bSFgdKSqoASJlNqWLVvQu3dv3johhUIBX19fLFiwAHv27MEnn3xi8FwPDw+89957+Oabb7B7924wDIM1a9bggw8+QLdu3TBjxgx4e3tDq9XiwoULePbsmV7SlJaWhoQE/hQKS0tLWFlZvfZzqugpdg8fPkRmZibi4uKgVqtx/fp1AECDBg0MjpoRQiovjuMw83wqDhcqGtC8mhQ7ulJyZJBSAdnBrZAe2gFGq9W7WdU9MHdKXSkqoLWvLkdEH2eMPpWCU3H5Zac5AEuuZuB6khprO9jDWkprYcob51QdObN/gMVXE8DkZAEAGJaF2epFyF64Fpyzm8ARksqO/spJqURGRuL69evo06eP3m0ymQzvvfcetmzZUux9TJo0CceOHcOFCxcAAC1atMCpU6fQsGFDzJ49G23atEG3bt2wY8cOLFiwAFOnTuWdP2XKFHh7e/P+rVixosyeY0WYPHkyOnTogDVr1iA+Ph4dOnRAhw4dEBcX9+qTCSGVysqbmdgYlc1ra2AnwR/dHOnDuAHi6xdgMW8EZAe36iVHrH015MxYCtWgia9VHtrZXIw97zhiTjNrFE5L/3qswDt/vkRMBm1iWhE4t9pQjJsPrsCoHZOVDrOf5gPKHAEjI1UBk5qayr26G3kTaWlpvP15KiOFQsGbhkbK3uv8HkVHR8PT07OcIiKvg66J8RHymuyPycGwsGReW01LMY71ckL1KlwcwNA1YVISIdu2CtJLJw2eo277DpRDJgOW1mUSw8nnCow6lYJEBX9dk72cwdbOjnjbtWptYirU34n04FbI/1jPa1O36w7l6M8rPBZjQ+8n5Ye+miKEEEIEcOWlCmPD+cmRjYzB7m6OVTo50sNqIT22BxZzhhpMjli7asiZ8jWUY+eWWXIEAB3dzBD2vhOaOEh57SlKDn3/TsT/HmYXcSYpS+peg6Fu1ZHXJj39N8SXi18LTMiboASJEEIIqWCJCi2GnkiGosAMMQkDbOnkAB97adEnVjGimHsw/2oC5Ft/BqPgJyQcI4Kq24fI/m4TtC3al8vj17KS4EjPauhXx5zXrmKBT0+l4OcbGeA4mohTrhgGytGzoXXz4DXLf/sBTHqKMDGRSo8SJEIIIaQCaVkOo0+l4Fk2f/3Mj23tqJz0f0RKBWTbVsJ84TiIH0Xp3a718ELOlyFQDZkMmBuumlpWLCQibAiwxzw//dGpLy6n4/OLaWApSSpfcnMox80DV6BokygjFfKNywD62ZNyQAkSIYQQUoGWXstA2HMlr22irxU+8SrfD/omgeMgvhwBn7ULIDv6PwP7GllAOWQKcr4MAVvHu8LCYhgGM5vZ4JcO9ihcN2Pt7SxMPZMKLUsf1MsTW9sTqg+G89ok/56BJOKIMAGRSo3KfBNCCCEV5NhTBb6PzOC1tXGRYWFLG4EiMh5MYjzkW36GJPKswdvVrTpCNXgSOPtqFRxZvo/qWcDVXIxPTiQhXZ2fEG2JzkaOlkNIe3tIRVSWvbyoew6EJPIcxA9u69rk21ZC26Q1ODtHASMjlQ2NIBFCCCEV4GWOFuMj+GsmnM1FCO3oULU/VLNaSI/sgsXnww0mR2w1V+RMXwrlpIWCJkd5AtzkONTDCc7m/I9QfzzMwfCwZKhpJKn8iCVQjJkLTpY/FZVRZEO2c62AQZHKiBKkCiASiaBSqV7dkZAiqFQqiET050qIqeI4DlPPpvJKRosYYEOAQ5WuWMe8eA7zJdMg37EGjIq/US4nFkPVcxCyv/0N2qb+AkVoWCMHKQ69Vw01Cl27vx4rMC48habblSPOtSZUA8bw2qRnj0EUdV2giEhlRFPsKoCVlRUyMzORk1N5NzZLT0+HjQ1NESkvIpEIVlZWQodBCHlNO+5n49BjfgLweTNrtK9etfbS0eE4SE79BfmO1WAU+u+NmTXrQTR+HtiadQUIrmTq20pxqEc19Pk7ETEZ+QU3/vcoB5ZSBj+1tQPDVOGRwXKk7twbkvC/IH78QNcm3/ITchb9Aojpoy15c/RbVAEYhoG1ddntzWCMXrx4gVq1agkdBiGEGJ3HmRrMuZDGa2vpJMVnTSr3+0KRsjJgFhoMyeVwvZs4CysoPxqHaDdPeBpxcpSntrUEh95zQs/DL/GoQJK0+V42LCQMlrS2pSSpPIglUH4yFRbfTMlvevIA0hMHoO7WT8DASGVBc3YIIYSQcsJyHCadTuUt6DcXM1jb3h6SKrjuSPQoChZfjjGYHGmavoXsJZug6dgLYEzn44mbpRj7uutPt1t7Ows/3cgUKKrKj/VqAnXbbrw22Z5Q2huJlAnTeQUihBBCTMzW6GyEx/FLei9qaYP6tlVsM1iOg+T4PpgvngTRyzj+TXIzKIbPgOKzJSZbiay2tQT73nWEkxn/Y9XCK+nY+yi7iLPIm1J9NA6cmYXumMnOhGzvb8IFRCoNSpAIIYSQcvAyR4svLvGn1gVUl2OUTxXb70ijhjw0GGabV4DRqHk3aT28kP31emg6vQ+Y+FQ0T1sp9navBlsZ/3mMi0jBhQRlEWeRN8HZOULVdzivTXLqTzAvngsTEKk0KEEihBBCysH8S2lIVfGn1v38th1EJp4IlAaTngLzpdMhDT+kd5uqywfImb8KnEtNASIrH40cpNjS2ZG3maxSCww6noxH6RrhAqvE1F37gXVy0x0zWi1k+zYJGBGpDARPkNavX48mTZrAxcUFAQEBOHvW8AZxeW7duoUePXrA1dUVPj4+WLp0KTiOX07z9OnTCAgIgIuLC5o2bYrQ0FC9+9m/fz/8/f3h7OwMf39/HDx4UK9PfHw8xo0bh3r16sHFxQX+/v44ffr0mz1hQgghld6p50rsfMCvzjbHzxq1ratObSTRk4cwXzQO4ns3eO2cmTkUE76Eaug0QCoTJrhy1KG6HD+1teO1JSlZDDqehEw1a/gk8vokEv1RpLNHIXr6SJh4SKUgaIK0Z88ezJkzBzNmzEB4eDhat26NwMBAPHnyxGD/9PR09O3bF87Ozjhx4gS+++47rFy5EqtWrdL1iYmJwYABA9C6dWuEh4dj+vTpmDVrFvbv36/rc/HiRYwcORKBgYGIiIhAYGAghg8fjsuXL+v6pKamonv37uA4Drt27cKFCxfw/fffw8nJqfx+IIQQQkyeQsNhxrlUXltDewkm+FadUv3iW1dg/s1kiBITeO2skxtyFqyBxr+TQJFVjEGelpjVjF+l8E6qBpNPp+p9qUvenKZNF2hreOiOGY6DbO9G4QIiJk/QBGn16tUYNGgQhg0bBm9vbwQHB8PFxcXgiA8A7N69Gzk5OQgJCUHDhg3Rp08fTJ06FWvWrNG94GzcuBGurq4IDg6Gt7c3hg0bhoEDB/KSqJCQELRv3x5BQUHw9vZGUFAQ2rVrh5CQEF2fn3/+Ga6urvjll1/QokULeHh4ICAgAN7e3uX7QyGEEGLSVt3KxP1C06lWtLWDtIpUrZOcOQqzH2aDycnitWt8/JC9MARszToCRVaxPm9mjQ/rmPPa9sbkYNVNqmxX5kRiqD78lNckuRwO0cO7AgVETJ1gCZJKpUJkZCQ6d+7Ma+/cuTMuXLhg8JyLFy+iTZs2MDfPf8Hp0qUL4uLiEBsbq+tT+D67dOmCq1evQq3OXRx66dIlg30KPu5ff/2FFi1aYMSIEahfvz7atWuHdevW0Tc/hBBCihSXrcWP1zN4bSO8LdDauQpsCMtxkP65DWbrvgWj5SeI6k69oQgKBqxsBQqu4jFM7pozX3v+tMovr6Tj1HNFEWeR16Vt3g7aOg14bbI/1gsUDTF1giVISUlJ0Gq1elPWnJyc8OLFC4PnvHjxwmD/vNuK66PRaJCUlAQASEhIeOXjxsTEYMOGDfDw8MD//vc/jBs3DosWLcKvv/76Gs+WEEJIVbDochqyNPlfpDnIRfiyRRVIClgWsh1rIN+t/x6p/GgclMM+AyRVZ/1VHkupCFs7O/Iq27Ec8OmpFMRla4s5k5Qaw0DVfxSvSXLrMkQP7ggUEDFlgr9aFd5hmuO4YnedNtS/cPvr9inYxrIs/Pz88OWXXwIAmjZtiocPH2L9+vUYM2ZMkfFFR0cXeVtlV5WfuzGj62J86JoYn7K4JrcyRPj9gRmvbVRNBV4+foCXb3zvRozVwv3PTbC6fo7fLJYgtvcIpHq2AO7fL/XdVqa/k0X1Rfjsthwccj9nJCpYDDnyDKsbKSE2oZmXRn9NZDao7+4F68f3dE2qnevwKHCCgEGVL6O/JkbK09Oz2NsFS5AcHR0hFov1RosSExOLLITg7OxssD+QP5JUVB+JRAIHBwcAgIuLyysf18XFRW+9kZeXF54+fVrs83rVD7yyio6OrrLP3ZjRdTE+dE2MT1lcE47jMOGvlwDy9/lpaCfBrHZukFTmtUcqJcxCvoKkUHLEmVtCOXUxnHz88DqljSrb34kngAR5OpZczZ9+eSVNjH1ZLpjjZyNcYKVgKtdEPGA0sGym7tgu6iq8LGXg3GoLGFX5MJVrYooEm2Ink8nQrFkzhIWF8drDwsLg7+9v8JzWrVvj3LlzUCgUvP7Vq1dH7dq1dX1Onjypd59+fn6QSnN3Lm/VqtUrH/ett97C/ULfeN2/fx+1atUq3RMlhBBS6e1+mINLL/mboC7xt63cyZFSAbMVcyH59wyvmbW1R87nK6D18RMoMOMU1MQaAdX5a9GWRmYgPI42kS1L2kYtoa3NTxpkf+0QKBpiqgStYjdx4kRs374dmzdvRlRUFGbPno34+HiMGDECALBo0SL07t1b179///4wNzfHhAkTcPv2bRw4cAArVqzAhAkTdNPjRowYgefPn2POnDmIiorC5s2bsX37dkyaNEl3P+PGjUN4eDiWL1+Oe/fuYfny5YiIiMD48eN1fSZMmIBLly5h2bJlePjwIfbt24d169Zh1Cj+/FZCCCFVW5aaxcLLaby2Hu5mCHAzK+KMSkCRDbPlcyC5dYXXzFZzRc68lWBr07fahYlFDNZ1sIeTWf5HLw7AmFPJeJlD65HKDMNA1Wswr0ly7hiYJMPr2wkxRNAEqV+/fliyZAmCg4PRvn17nD9/Hrt27YK7uzuA3I1aHz3K3+jL1tYWe/fuRVxcHDp16oSZM2di4sSJvOTHw8MDu3btwtmzZ9G+fXssW7YMS5cuRZ8+fXR9/P39ERoaih07duDtt9/G77//jtDQULRs2VLXp3nz5ti2bRv27t2LNm3a4Ouvv8bcuXMpQSKEEMLz081MPM/O3wBUKgIWt6rEhRlysmC+bBYkdyN5zVo3D+TMWwnOpaYwcZkAFwsxfg2wR8FxxfgcFuMiUsBSldwyo23ZHmyB30NGq4X0yE4BIyKmhklNTaW/SPLGaB6scaLrYnzomhifN7kmTzI1aLUnAYoCAwBTGlnhq8qaIGVlwHzZLIgf8iuDad3rIWfmD4CNXZk8TGX/O1l8JR3LCpWDX9jCBtOaWBdxhvBM7ZpITv4Js43LdMeczAxZy38HrO2EC6qMmdo1MSWCjiARQgghpmzh5XRecuRkJkJQU+P9kPtGMtNgvnS6fnJUxxs5s38ss+SoKpjjZ402LjJe29f/puNCAq1HKiuat98Ba+eoO2ZUCkhPHBAwImJKKEEihBBCXsO5BCX+9yiH17aghQ1sZJXvrZVJT4H5ks8gjuWXFNbWa4icWT8AVqZRic1YSEQM1gc4wEGe/7ui/W9/pGQFrUcqE1IZ1N0D+U0n9gMadREnEJKv8r2KE0IIIeWM5Th8foFfmKGJgxSD61sIFFH5YdKSYb5kGsRPH/LatV5NkDNzGWBhJVBkpq2GpRgh7e15bU+ztJhwOlW3fyN5M+qOvcDJ84uliFKTILl0SsCIiKmgBIkQQggppe33sxGZxP8m+jt/W4grW1nvzDSYfT8DouexvGZNw+bICVoKmFe+hLAida9lhkm+/ATzyBMFQm5nCRRRJWNhBXW7d3lN0qP/EygYYkooQSKEEEJKIUPN4usr6by2DzzM0dZVXsQZJio7E+bBMyF++ojXrGncCorPlgByc4ECq1y+aGGDFtWkvLYvL6fh35cqgSKqXNTd+vGOxQ/vQPTgtkDREFNBCRIhhBBSCsuvZSAhJ7+st1wMLGpZydbgKLJh/sMciGPu8Zo1TfyhmLIYkFWyZFBAMjGDDR0dYCPLH31Us8CIk8lIU7HFnElKgqvuDk0Tf14bjSKRV6EEiRBCCCmhmAwNVt/K5LVNbmSN2tYSgSIqByolzFbMg/j+TV6zpmFzKCZ/RclROfCwlmDl2/z1SLGZWkyg/ZHKROFRJMmlk2BSEgWKhpgCSpAIIYSQEpp/MQ0Fv9SvbiHCtMaVqEiBWgWzlV9Acucqr1lbvxEUU2nkqDz18TDH6AaWvLa/Hivww7WMIs4gJaVt1Aps9Vq6Y0arza1oR0gRKEEihBBCSiAiTok/Hyt4bV+2sIWVtJK8lWo1MFu7GJLrF/jNHl7ImfEdYEYFGcrb161s0cSBvx7p26sZ+PuJoogzSImIRFB3LTSKdPJPKvlNilRJXtUJIYSQ8sNyHOZd5Jf1blFNigH1KkmhApaF/NfvILkczmvW1qyDnJnBVMq7gphJGGzpzN8fiQMw+lQy7qfRh/k3oW7XHZx5/gidKD0FkiunBYyIGDNKkAghhJBX+P1+Nq4n8z+gLvG3hYipBGW9OQ6yHashPfcPr5l1rQXFrB8AK1uBAquaaltLsLGjA8QFfrXS1RwGHk9GipKKNrw2Mwuo336H1yQJOyBQMMTYUYJECCGEFCNLzeLrf/llvfvVMUdr58qxHkd6ZBdkhap6sU7VkTP7B3C2DgJFVbUFuMnxVSt+YhqdpsGg40lQaKhow+vSdHqfdyy5cxVM/BOBoiHGjBIkQgghpBgrb2YiLptf1vvLFpWjrLfk/HHIfw/htbF2jsiZvRycg7NAUREAmNDQUm8K57kEFSacpsp2r4utWRdaz0a8NmnYQYGiIcaMEiRCCCGkCM+ztPj5Jr+s94SGVpWirLf4zlXIf/2O18aZWUAxYyk4p+oCRUXyMAyDlW/bo62LjNe+51EOFl5OL+Is8irqTr15x9KII4BKKVA0xFhRgkQIIYQU4et/05FdYEpTNTMRPmtiLWBEZYNJeAqzlV+AKVDFixNLoJjyNVj3+gJGRgqSixls6+IIL1t+Qv7zzUz8eJ3Kf78OTasAcJb5f8NMVrpecRJCKEEihBBCDIhMVGHH/Wxe2zw/G9jITPytMzsT5j/OBZPF/4CtHDUbWt8WAgVFimIvF2F3N0c4m/N/7xZdSccvtzOLOIsUSSaHut27vCYpFWsghZj4qzwhhBBS9jiOw7xL/LLePnYSfOJl4nsBsVqYrfkKorjHvGblh59C07abQEGRV6ltLcGuro6wlvKrJs6+kIYt97IEisp0qTv24h2L792A6OkjgaIhxogSJEIIIaSQvx4rcCZexWtb3NoWEpFpl/WW7fwFkhsXeW3qNl2hfn+IQBGRkmpWTYbfuzrCXMz/HZxyJhW7HmQXcRYxhHOrDW2Dprw2ScRhgaIhxogSJEIIIaQAlZbDF4VGj7rWkKNLDTOBIiobknP/QHZkF69NW9cHypEzgcqwn1MV8LarHFu7OKDgLE8OwLiIFPzxkJKk0lB3LFTy+8xRQKMRKBpibChBIoQQQgpYfzcLDzO0umMRA3zdyrQ3S2WexUAeuozXxtpXg2LqYkBWOfZzqiq61DBDaKGNZFkOGBOegj2UJJWYpkV7cBaWumNRRirE184JGBExJpQgEUIIIf9JU7FYdo1fvGC4lyV87KUCRVQGFNkwX/kFGJVC18RJpVBMXQzOzlHAwMjr6lXbHOsD7PWSpNHhKdj3KEe4wEyJTA7NW115TdJwmmZHclGCRAghhPxn5c1MJCvzN4W1ljL43M+Ey3pzHOShy/SLMgyZCrZOA4GCImWhbx0LrOtgj4LL4rQc8OmpZOyPoSSpJNQd3uMdi6+fB5OaJFA0xJhQgkQIIYQASMjWYs0tftnkyY2s4GQuFiiiNyc5sR/SCyd4bep23aEJ6ClQRKQsfVjXAr+0N5AknUzGAUqSXon18Ia2Zl3dMcOyuWuRSJVHCRIhhBACYNm1DN6msE5mIkzwtRIwojcjevoQ8h2reW3aWvWgHPoZFWWoRALrWSCkvT0KXlENB4w8mYw/YylJKhbDQFNoFEkacQjguCJOIFUFJUiEEEKqvEfpGmyM4u8nM7OpNaykJvo2qVJCHvI1GLVa18SZWUAxaREgN+1qfETfR/UssMZAkjTiZDIOPaYkqTjqNt3AiSW6Y1HcE4ge3BYwImIMTPSVnxBCCCk7315NR4HBI9S2EmO4t2XRJxg52a51EBfa+FI5fDo415oCRUTK28D6FljVzo6XJKlZYFhYMo48oSSpSDZ20Pq15TVJT/0lUDDEWFCCRAghpEq7n8Xgj4f8D5DzmttAJjbNaWjiaxcgO/Y/Xpu6bTdo2nQt4gxSWQz2tMTPb9vx2tQsMPREMv5+ojB8EoG6PX+aneTSKUClFCgaYgwoQSKEEFKlbXgiRcEVBw3tJehf11yweN5Ieirk67/jNbFO1aEcOk2YeEiF+8RLP0lSscAnJ5IQHkcf+g3RNm4F1tZed8zkZEFy9YyAERGhUYJECCGkyrqVrMY/iRJe21w/G4hMtIiBfMtPEKWn6I45kQiKcfMBc9OdLkhKb6iXJVa0teO1qVhg8PEkRCaqhAnKmIklensiUTW7qo0SJEIIIVXW99fSeceNHaTo6W6aRQzEl05CejGM16bqPRRsfV+BIiJCGu5tieVt7HhtGWoO/Y8l4UGaRpigjJjm7Xd4x+IbF8EU+LKBVC2UIBFCCKmSbiarsT+Gvy5jTjNrMCY4esSkp8Bs04+8Nm1tL6jfHyJQRMQYjGxgiUUtbXhtiQoWHxxNRFy2VqCojBPrXh/aGh66Y4ZlITl/ougTSKVGCRIhhJAqaWkkf/SoiYMUPUx09Ei+eQWYjDTdMSeWQDl6DiCRFHMWqQqmNrbGlEb8/byeZGrx0bEkZKpZgaIyQgyjN4okOUvT7KoqSpAIIYRUObeS1TgYW2j0yM80R4/EF0/mVt0qQNVnKNhadQWKiBibRS1tMNjTgtd2PVmNT08mQ8PSpqh5NG26givwGiB+FAXmeayAERGhUIJECCGkyvnxRgbvuJmjFO/VMsHRo6wMyLf+xGvSenhB3XOQQAERY8QwDH5qa4fuhX7H/36qxOcX0sBxlCQBAOfgDK2PH69NevaYQNEQIVGCRAghpEp5mK7Bnkf8fY9mNjXN0SP5rnUQpRWoWkdT60gRJCIGGwLs0cRBymv/9W4W1tzOEigq46Np2413LDl7DGBpKmJVQwkSIYSQKuWnGxkoOKuongWL90xw7ZEo6jqkJw/y2tS9BoOtSVPriGFWUhF2dnNETUsxr33+xTQcjM0p4qyqRdMyAJxMrjsWJSVAdO+GgBERIVCCRAghpMp4nqXF9vvZvLbhNdWmt++RWgWzjct4TWz1WlD1oql1pHjVLcTY2dUR1tL833kOwJhTKbj8kvZIgrkFNH5v85okhcrnk8pP8ARp/fr1aNKkCVxcXBAQEICzZ88W2//WrVvo0aMHXF1d4ePjg6VLl+rNnT19+jQCAgLg4uKCpk2bIjQ0VO9+9u/fD39/fzg7O8Pf3x8HD/K/hVuyZAns7Ox4/7y8vN78CRNCCBHMqlsZKFi4y8NajK5OplfuWPrndojiHvPaFMNnAAW++SakKL4OUmzq5ABxge8FcrQcPv4nCTEZtEeS5q0uvGPJxZOAln4uVYmgCdKePXswZ84czJgxA+Hh4WjdujUCAwPx5MkTg/3T09PRt29fODs748SJE/juu++wcuVKrFq1StcnJiYGAwYMQOvWrREeHo7p06dj1qxZ2L9/v67PxYsXMXLkSAQGBiIiIgKBgYEYPnw4Ll++zHs8T09PREVF6f69KnkjhBBivJIVWvwWxR89mtrIGhITGzxiEp5C9uc2Xps6oCfYBs2ECYiYpM41zPBjWzteW6KCxYBjSUhVVu01N9rGrcBZWOqORRmpEN+JFC4gUuEETZBWr16NQYMGYdiwYfD29kZwcDBcXFwMjvgAwO7du5GTk4OQkBA0bNgQffr0wdSpU7FmzRrdKNLGjRvh6uqK4OBgeHt7Y9iwYRg4cCAviQoJCUH79u0RFBQEb29vBAUFoV27dggJCeE9nkQigYuLi+5ftWrVyu+HQQghpFz9cicL2Zr8GQeu5iIMrG9RzBnGSb59NRiNWnfM2tpD+dE4ASMipmqolyU+a8zfI+lemgbDwpKhrsrlv6UyaFp04DVJLtCmsVWJYAmSSqVCZGQkOnfuzGvv3LkzLly4YPCcixcvok2bNjA3N9e1denSBXFxcYiNjdX1KXyfXbp0wdWrV6FW576hXLp0yWCfwo8bExMDHx8fNGnSBCNHjkRMTMxrPVdCCCHCytaw+PUOv1LXRF8rmJnY8JE48iwkked4baqPxgOW1gJFREzdghY26FfHnNd2Kk6JGedSq3T5b40//3Oi5HI4UOCLCVK5CVYHNCkpCVqtFk5OTrx2JycnvHjxwuA5L168gJubm17/vNs8PDzw4sULdOzYUa+PRqNBUlISXF1dkZCQ8MrHbdmyJdasWQNPT08kJiYiODgY77zzDs6fPw8HB4cin1d0dPQrn3tlVZWfuzGj62J86JpUvD/iJEhWynTHVmIO7SXxiI6OB2Aa14TRqOHz24+8tsxa9RHt5AGYQPylZQrXpLKYXh2ITpTjRkZ+dbvN97Jhp0rFJzXz195UqWsis0YjCytIszMBAEx2JhKO7ke6Z1OBA+OrUtekDHl6ehZ7u+AbJRTed4LjuGL3ojDUv3D76/Yp2NatG78OfsuWLdGsWTNs374dkyZNKjK+V/3AK6vo6Ogq+9yNGV0X40PXpOJpWQ67riUAyC/GMKqhNZr51ARgOtdEemAL5CkvdcccI4JozBx4utcXMKryYSrXpDLZ465Flz9f4nFm/t/JyhgZWtd1Ra/a5lXzmrzVBTiRv4bd/fFdKHv0FzAgvip5TSqIYFPsHB0dIRaL9UaLEhMT9UZ38jg7OxvsD+SPJBXVRyKR6EZ+XFxcSvW4AGBlZYUGDRrg4cOHJXh2hBBCjMVfjxV4lJH/oU8qAsY2tCrmDOPDJCVAdnArr03duTfYSpgcEWE4mYuxq5sjbAqX/w5PQWRi1Sz/rS48ze7qGUCpECgaUpEES5BkMhmaNWuGsDB+bfmwsDD4+/sbPKd169Y4d+4cFAoFr3/16tVRu3ZtXZ+TJ0/q3aefnx+k0tzdo1u1alWqxwUAhUKB6OhouLi4lPg5EkIIERbHcVh5M4PXFljXAtUtxEWcYZzkO9aAUSl1x5y1LVT9RgoYEamMGthJ8Vuh8t/Zmtzy3wlK01qvVxZYr8Zg7fILdDGKHIivnxcwIlJRBK1iN3HiRGzfvh2bN29GVFQUZs+ejfj4eIwYMQIAsGjRIvTu3VvXv3///jA3N8eECRNw+/ZtHDhwACtWrMCECRN00+NGjBiB58+fY86cOYiKisLmzZv1psWNGzcO4eHhWL58Oe7du4fly5cjIiIC48eP1/WZP38+Tp8+jZiYGFy+fBnDhg1DdnY2Bg4cWEE/HUIIIW/qwgsVLr3kL6ye3Mi0Ro/Ety5DcukUr03ZfzRgZSNQRKQy61zDDMvesuO1xeew+Oy2HJnqKlb+WySCxr8Tr0l6gTaNrQoEXYPUr18/JCcnIzg4GAkJCfDx8cGuXbvg7u4OAIiPj8ejR490/W1tbbF3714EBQWhU6dOsLOzw8SJE3nJj4eHB3bt2oW5c+ciNDQUrq6uWLp0Kfr06aPr4+/vj9DQUCxevBhLlixBnTp1EBoaipYtW+r6PH/+HKNGjUJSUhKqVauGli1b4tixY7rYCCGEGL+fb2byjrvVkMPHXipQNK9Bo4Z8y8+8Jm2dBtB06CFQQKQqGNHAEvfTNVh9K//vJzpLhE9PpWB7ZweIRVVnNEnj3wmyv3frjsXXLgAqJW3KXMkxqampVbeGIykztFDQONF1MT50TSpOdJoarfe8QME3uQPvVkOH6vwPNsZ8TaSHd0L+O3+PvuwvQsDW8xEooophzNekqtCyHIacSMbhJ/w1N+MbWmKJv50wQQmBZWEx4yOIkvMLpORM+RraFu0FDCoX/Z2UH0Gn2BFCCCHlZc2tTF5y1NRRivausiL7GxsmNQmyfb/x2tQdelT65IgYB7GIwa8B9mjswB9xDbmdhQ13M4s4qxISiaAplAxJLkcIFAypKJQgEUIIqXRe5mix/X42r21KI6tit5EwNrKda8EocnTHnIUVlIFjBIyIVDVWUhF+7+qI6hb8j4uzzqfh+LOqU81N07ID71gSeZY2ja3kKEEihBBS6fx6NwvK/MreqGkpRh8Pc+ECKiVR1HVIzx7jtan6jQRs7IQJiFRZNSzF2NHFEWai/PFYLQcMO5GM60lVo/w369UYrLWd7pjJzoT4zlXhAiLljhIkQgghlUq2hsX6O1m8tgm+VpCYysJyrQbyLT/xm2rVg7pz7yJOIKR8Nasmw2JvFQr+BWVqOHz0TxKeZmoEi6vCiMTQNn+b10TT7Co3SpAIIYRUKtujs5GszC9HbCtj8ImXhYARlY407CDETx7w2pSfTAXEghaeJVVcgKMWi1vb8trislkMOJaENFXlL/+tacGfZif+9zTAaovoTUwdJUiEEEIqDS3L8UoTA8BIb0tYS03k7S49FbL/beA1qdt0BevdRKCACMk3oaElxvpY8tpup2ow9EQyVNrKXRRZ69scnHn+cxelp0B076aAEZHyZCLvGIQQQsirHYjNwaOM/G91pSJgbEPT2RhW/sd6MNn5CR5nZg7VR+MEjIiQfAzD4NvWtujpbsZrPxWnxOQzKeC4SpwkSaTQNGvDb7oSLlAwpLxRgkQIIaRS4DgOK27wR48G1LOAq4VYoIhKR/TwLiThf/HaVH2GgbOvJlBEhOjLK//dyolf/nvngxx8ezVDoKgqhl41u8sRQGVOCqswSpAIIYRUCiefK3EtKb/0LgNgaiMTGT1iWci3/ASmwIcttro71O98KGBQhBhmIRFhR1dH1LHmf/kQfC0Dm+9lFXGW6dM2bg1Olr/RtCj5BUSP7wsYESkvlCARQgipFAqPHvVwN4OXnbSI3sZFcvoIxA/v8NqUQ6YAEtOIn1Q91czE+KNbNTjI+R8lPzubWnn3SJKbQduoJa9JHHlOoGBIeaIEiRBCiMm7mqjCqTglr21aY2uBoimlrAzIdq3jNWladtD7IEaIsalnK8HvXR1gVmAgqbLvkaRpWmgdEiVIlRIlSIQQQkzeihv8tQ9vu8rQylkmUDSlI9u7EaKMVN0xJ5NDOXCCcAERUgqtneVY18FBb4+kAceS8KQS7pGkLVSoQfzwDpi0ZIGiIeWFEiRCCCEm7UGaBgdi+FN6TGX0SPT4AaT/7OO1qXoNBlfNVZiACHkNvT3M8W2hPZLic3L3SEpVVq49kjg7R2jrePPaxNcuCBQNKS+UIBFCCDFpP9/MQME6Ur72EnStIS+yv9FgWci3rADD5X+AZJ3coH7vIwGDIuT1jPe1wviG/D2S7qRq8OmpZGjYylXpTW+a3TWaZlfZUIJECCHEZMVna7HjfjavbVpjazAMU8QZxkNy5m+I793gtSmHTAJkJpDcEWLA4la2eL82f4+k48+UWHApTaCIyofeNLublwB15VxzVVVRgkQIIcRkrb2dCVWBGTzuVmL0rWMuXEAllZkO+c61vCZN07egbdZWoIAIeXNiEYN1HRzQstAeSSG3sypV+W+2tidYO0fdMaPIgTjquoARkbJGCRIhhBCTlKZiEXqX/6FrciMrSETGP3ok3/0rmIz8b9U5qQzKT6YKGBEhZcNcwmBbZ0fUKLRB84xzqTgTryziLBMjEkHb9C1eE5X7rlwoQSKEEGKSNt7NQro6f22Do1yEwZ4WAkZUMqL7tyA59SevTdX7E3BO1QWKiJCy5WIhxrYuDjAX539ZoWaBESeTEZ+tFTCysqNpVrjc91mAq1xrraoySpAIIYSYHIWGQ8ht/sawYxtawkJi5G9rWg3km1eAKfBBiq1eiwozkEqnWTUZQtrb89pe5LCVpmiDtmFzcNL8qYSil3Fg4h4LGBEpS0b+TkIIIYTo23E/Gwk5+YuPLCUMRvtYCRhRyUiP74c4NprXpvxkGiA1jT2bCCmND+qYI6gpv+T+mXgVllxNFyiiMmRmAW0DP14TbRpbeVCCRAghxKSotByWF9oYdpi3Bezlxv2WxqQmQfa/Dbw29VtdoPVtIVBEhJS/z5tZo0N1fmXGH65n4ugTRRFnmA69dUg3LwkUCSlrxv1uQgghhBTy+4NsPMnMX8cgEwETfY1/Y1jZjjVgFPklyTkzC6gGThAwIkLKn1jEYH2APVzN+R85x0aY/nokTePWvGPxveuAqpIUoqjiKEEihBBiMtQsh2XX+KNHn3hZooaluIgzjIP41hVIzx/ntak+/BRcgVLBhFRWzuZibOjogAI1G5Ci5DD1bCo4Ey5swLnUAFvNRXfMqNVU7ruSoASJEEKIyfj9fjYeFxg9koqAzxob+dojtQryzSt4TdranlB36SNMPIQI4G1XOeY1t+G1/f1Ega3R2UWcYQIYBlrfVrwm8a3LAgVDyhIlSIQQQkyCmuXww/VCo0eelqhpJREoopKRHvodovgnumOOYaAc9hkgNu64CSlrUxtZwd+ZX5Bk7sU0PM7UCBTRm9M0ask7pgSpcqAEiRBCiEnY9SAbMRmFRo+aGPfoEfM8FrIDW3htmoBeYOs1FCgiQoQjFjEIaW8PC0n+XLsMNYdJp1PBmuhUO21DP3BM/vMRP34AJi1ZwIhIWaAEiRBCiNFTaTkEF1p7NMTTArWMefSIZWEWGgxGo85vsraDMnCUgEERIqy6NhIsasmfahcep8SWeyY61c7KFqyHN69JfOuKQMGQskIJEiGEEKO3NZo/eiRhgM+aGHflOumJ/RBH3+S1qYZMBqxsBYqIEOPwaQNLBBQq/b3wShqSFaZZ1U5beJrdTZpmZ+pKnSAdPXoULMu+uiMhhBBSBnI0HL6P5G8sOdzbEu5GPHrEJCVAtnsdr03TrA00/p0FiogQ4yFiGKxsZwfzAmXtUpQcFl0xzQ1kDa5DMtEpgyRXqROkjz76CA0aNMDnn3+OyMjIcgiJEEIIybf+Tibic/K/mDMTAzOaGvHoEcdBvulHMIqc/CYzi9zCDAXWKhBSlblbSTCzGf/vePO9bFx+qRIootfH1vcFJzfTHYtSkyB69kjAiMibKnWC9Pvvv6N9+/bYvHkzOnfuDH9/f/z44494+vRpecRHCCGkCktXsVh+g7/2aIyPFapbGO++R5LzxyG5dp7XphwwFpyDs0AREWKcJvlawdM2fySYAzDjXCq0rImNvkik0DZoxmsS36R1SKas1AlS9+7dsWHDBkRFRWHlypWoXr06Fi9ejKZNm+L999/Htm3bkJGR8eo7IoQQQl5h9a1MpCjzPyxZSxlMM+Z9jzJSId+2ktek9WoCTaf3BQqIEOMlEzNY9hZ/Td61JDV+u5clUESvT38d0iWBIiFl4bWLNFhZWWHw4MHYt28fbt26hYULFyIlJQWTJ0+Gt7c3Ro0ahePHj7/6jgghhBADkhRarL6ZyWub1MgKDmbGO3ok37YKTEaa7piTSqEYGQSIqCYSIYYEuJmhXx1zXtt3VzOQoTat9e4a30IJUtQ1oEAFS2JayuQVW61WQ6VSQaVSgeM4WFtb49y5c+jfvz/atm2LmzdvvvpOCCGEkAJ+vJ6JTE3+6JGjXIQJvsY7eiS+dgHSc//w2lR9hoGr7i5QRISYhsWtbHl7I71UsFhV6MsRY8e51QZr56g7ZlRKiB5FCRgReROvnSClpaVh06ZN6NGjB5o1a4bg4GA0bNgQv//+O27fvo2bN29ix44dyMrKwuTJk8syZkIIIZXcsywtfr3L/4D0WRMrWEuNdCQmJxvy337gNWlr1YP6vY8FCogQ0+FmKcbEQl9+rLqZiYRsEyr7zTDQejflNYnvXhMoGPKmSv1O89dff2Ho0KHw9vbGtGnToFarERwcjLt37+K3335D9+7dIRaLwTAM3n33XcyYMYNGkAghhJTKsmvpUBb4bORmIcKnDYx39Ej2x68QJb/QHXOMCMpPZwIS4y1FTogxmdLYCtXM8j+WZmk4fH/NtNa0axsUSpCiIoUJhLyxUr9yDxkyBDVq1MDEiRMxcOBA1K9fv9j+vr6+CAwMfO0ACSGEVC0P0zXYci+b1zarmQ3MJcZZIlsUfRPS4/t4beru/cHWaSBMQISYIGupCLOaWmPWhfw1fL9FZWF8Q0vUt5UKGFnJ6VWyi74JaDWAmL4oMTWlHkHau3cvbty4gQULFrwyOQKAFi1aYM2aNUXevn79ejRp0gQuLi4ICAjA2bNni72/W7duoUePHnB1dYWPjw+WLl0KrtBmXKdPn0ZAQABcXFzQtGlThIaG6t3P/v374e/vD2dnZ/j7++PgwYNFPuYPP/wAOzs7zJw58xXPlhBCyJv67mo6Ciw9Qh1rMQZ7WggXUHHUKpiFBoMp8D7EOrlB1W+kgEERYpqGe1uijnV+ERYtB3z9r+lsHstVdwdrY687ZhQ5EMVECxgReV2lTpB2796NK1eKru1+5coVTJw4sUT3tWfPHsyZMwczZsxAeHg4WrdujcDAQDx58sRg//T0dPTt2xfOzs44ceIEvvvuO6xcuRKrVq3S9YmJicGAAQPQunVrhIeHY/r06Zg1axb279+v63Px4kWMHDkSgYGBiIiIQGBgIIYPH47Lly/rPealS5ewadMm+Pr6lug5EUIIeX23U9TY/TCH1zbXzwZSkXGOHskOboPoeSyvTTliBlBg00hCSMnIxAwWNLfhte2PUeBmsolUg2MYsN5NeE3iKFqHZIpKnSBt374djx4VvTtwbGwsduzYUaL7Wr16NQYNGoRhw4bB29sbwcHBcHFxMTjiA+QmZzk5OQgJCUHDhg3Rp08fTJ06FWvWrNGNIm3cuBGurq4IDg6Gt7c3hg0bhoEDB/KSqJCQELRv3x5BQUHw9vZGUFAQ2rVrh5CQEN7jpaWlYfTo0Vi5ciXs7OxK9JwIIYS8viVX01FwTkBDOwk+rGteZH8hiZ4+hPTPbbw2dYce0Pq2ECgiQkzfB3XM0cyRP6Xu+0jTGUXSm2Z3N1KQOMibKfNyQMnJyZDL5a/sp1KpEBkZic6dO/PaO3fujAsXLhg85+LFi2jTpg3MzfPfLLt06YK4uDjExsbq+hS+zy5duuDq1atQq3O/gbh06ZLBPoUfd9q0aejTpw8CAgJe+XwIIYS8mchEFQ7GKnhtc5vbQMQY4egRq4U8NBiMVpPfZOsA5cfjBQyKENMnYhjM8bPmtR2INZ1RJL1CDfduAKwJVeMjAEpYpOHMmTM4ffq07vjgwYN4+PChXr/U1FTs2bMHjRo1euV9JiUlQavVwsnJidfu5OSEFy9eGDznxYsXcHNz0+ufd5uHhwdevHiBjh076vXRaDRISkqCq6srEhISXvm4mzZtwsOHD/HLL7+88rkUFB1ddeeaVuXnbszouhgfuiaGzbslB5C//sDHSgsv5VNUxI+rtNfE6cI/sHpwh9cW03UA0p7HA4gvw8iqLvo7MT4VdU3qcoCPlRx3MvNfD748/Rzf+agq5PHfCMeisbkVJDm52xQwOVl4ejoMOdVrl8vD0d/J6/H09Cz29hIlSBEREVi6dCkAgGEYHDx4sMiiBp6enliyZEmJA2QKfTPIcZxe26v6F25/3T55bdHR0fjqq69w+PBhyGSykj4VAK/+gVdW0dHRVfa5GzO6LsaHrolhFxKUOJOSyGtb3NYZXjXKfy1Paa8J8zIOFqf289o0LdrDuffHcC7r4Koo+jsxPhV9Tb4wy8HA48m64+NJEqgc3eDrYAIV7Rr6AVcidId1slOg9uxa5g9Dfyflp0QJ0uTJkzFy5EhwHIcGDRpg2bJleP/993l9GIaBhYUFLC0tS/TAjo6OEIvFeqNFiYmJeqM7eZydnQ32B/JHkorqI5FI4ODgAABwcXEp9nEvXryIpKQktGnTRne7VqvF2bNnERoaiufPn5doGiEhhJCS+eYqf7+TNi4ydHYzwtdZjoN84w9gVPlTATkLSyg/mSpgUIRUPu/WMkNTRymuJeVPrfv+Wjo2dXIUMKqS0TZoCkmBBEkcFQn1u7TljSkp0RokS0tLODs7w8XFBdeuXcPAgQPh7OzM++fk5FTi5AgAZDIZmjVrhrCwMF57WFgY/P39DZ7TunVrnDt3DgqFgte/evXqqF27tq7PyZMn9e7Tz88PUmnutw6tWrUq9nF79uyJs2fPIiIiQvfPz88PH374ISIiIko9qkQIIaRop54rER6n5LXNa25T7GwCoUjO/A3JLX7FU+VH48HZVxMoIkIqJ4ZhMLsZfy3S/hgF7qQY/1okrXfhDWNvACwrUDTkdZS6SIO7uzssLMpmP4qJEydi+/bt2Lx5M6KiojB79mzEx8djxIgRAIBFixahd+/euv79+/eHubk5JkyYgNu3b+PAgQNYsWIFJkyYoHsjHTFiBJ4/f445c+YgKioKmzdvxvbt2zFp0iTd/YwbNw7h4eFYvnw57t27h+XLlyMiIgLjx+currWzs0PDhg15/ywsLGBvb4+GDRsa5Zs2IYSYIo7j8O1VfoWqjm5ytHM1vtEjJj0F8u2reW0aHz9oAnoKFBEhldt7/40iFfTj9YwiehsPtlZdcBZWumMmKx2ip0VXgCbG55VT7Hr16gWRSIQ9e/ZAIpHoTa0zhGEYHDhw4JX9+vXrh+TkZAQHByMhIQE+Pj7YtWsX3N3dAQDx8fG8kuK2trbYu3cvgoKC0KlTJ9jZ2WHixIm85MfDwwO7du3C3LlzERoaCldXVyxduhR9+vTR9fH390doaCgWL16MJUuWoE6dOggNDUXLli1fGTMhhJCy888zJS684C+8nudnU0RvYcm2rwaTlf/hjJPKcvc8oi/NCCkXDMMgqKk1PjmRvxbpj0c5mNtcAw/rEq0SEYZIDK1XE0giz+qaxFHXwLrXEzAoUhqv/O3iOA5sgWFBlmVfOYLCcVyxtxc0atQojBo1yuBthfclAgBfX18cPny42Pts164dwsPDi+3Tp08fXtL0Kn/99VeJ+xJCCHk1juOw+F/+6FH3WmZo5Wx805jFNy9Deu4fXpuq30hwLjUFioiQqqGnuxka2ElwNzW3pD7LAT/dyMCPbe0Fjqx4Wm9+giR6cBvo1k/AiEhpvDJBKpwYUKJACCGkLPz5WMFbgA0Acwvtf2IUVErINy3nNWnd60Hdvb9AARFSdYgYBp81scbY8BRd27bobMxsagM3S3ExZwpLW9+Xdyy+f0ugSMjrKPONYgkhhJBX0bIcvi00etTHwwxNHY1v9Eh2YAtEL57rjjmGgXJ4ECA24ik+hFQiH9YxR22r/GRIxQKrb2UKGNGrsR5e4Aq8RohexoFJTRIwIlIapU6Q7ty5o7e+KDw8HP369UPnzp2xevXqIs4khBBCcu2NycGd/6bMAAAD4HMjXHskevoI0kO/89rUXT4AW89HoIgIqXokIgbTGvNHlzdGZSFJoRUoohKQycF68PcoEtEokskodYK0cOFCbNu2TXf89OlTDBo0CNeuXUN2djYWLFiA7du3l2mQhBBCKg8ty2FpJL8SVWA9czSwM7INIFkW8k3LwWjzEznWrhpUH34qYFCEVE0D61vA1Tz/Y2u2hsPa21kCRvRq2vqNeMc0zc50lDpBun79Otq2bas73rVrF1iWRUREBM6fP4/u3btj/fr1ZRokIYSQyuNAbA6i0/KTDjEDzGlmfKNHkvBDEN+7wWtTDpkMFCjfSwipGGYSBhMb8f/21t3JRLrKePcX0noWWocUTQmSqSh1gpScnAxHx/xdjI8dO4b27dvDzc0NANC9e3fcv3+/7CIkhBBSaXAch2XX+KNHA+pZoK6Nca3nYdKSId+5ltemafoWtC07CBQRIWSEtyXs5fmVlNNUHELvGu8oEluPnyCJYqMAtaqI3sSYlDpBcnJywuPHjwEAqampuHz5Mjp16qS7XalUFnUqIYSQKu7IEwVupfDXHk1vYnwjMrIda8Bk5y8C52RmUH4ylfY8IkRAVlIRxjXkv16svpWJHE3Jt5epSJyDE1hHF90xo1ZDFBstYESkpEqdIHXq1Anr1q3DqlWrMG7cOABAjx49dLffvXsXNWrUKLsICSGEVAocx+GH6/zRow88zOFpa1xrjwzuedR3ODin6gJFRAjJM9bHClaS/C8qXipYbLlnvKNI2voNecfi+7cFioSURqkTpC+++AI+Pj5YsGABTpw4gYULF8Ld3R0AoFAosG/fPnToQFMQCCGE8IXHKXH5JX/fo+lNjWzfo6L2PHqH9jwixBjYyUX4tIElr+3nm5lQaY1zFInVK9RwU6BISGmUetK3k5MTDh8+jPT0dJiZmUEmy9+zguM4HDhwADVr0s7ihBBC+IILrT16t5YZGjsY1+iR9K8dBvY8mgFIjGuNFCFV2QRfK6y9kwnlf1W+n2ZpsethNoZ4WhZ/ogAKbxgrir4FcBxN1zVyr71RrI2NDS85AgBzc3M0btwY9vb2bxwYIYSQyuN8ghKn4/mLk4OMbPSIeRkH2V/8bSrUnfuArdewiDMIIUJwsRBjaKFkaMX1TGhZ4xtFYt3rg5PJdcei1EQwyS8EjIiUxGt9JabVanHixAnExMQgJSUFHMf/hWQYBrNmzSqTAAkhhJi+HwqNHgVUl6Olk6yI3sKQb18FpkCFKdbajvY8IsRITW5shY1RWcirz3A/XYMDsTnoW8dC2MAKk0jA1mkAcdQ1XZM4+iY0BYo3EONT6gTp+vXrGDJkCJ4+faqXGOWhBIkQQkieyEQVjj3jVzg1ttEj8bULkPx7htemGjAWsDSuOAkhudytJBhQzwLb72fr2n64nokPPMzBGNn0NW39hrwESXT/NvBWFwEjIq9S6il2QUFByMzMxJYtW/Do0SOkpKTo/UtOTi6PWAkhhJig5YUq1/k7y9DO1XhGjxiNGvJtP/PatPUaQtOuu0AREUJKYlpjKxRMhW4mq3HsqfFtN6OlQg0mp9QJ0vXr1zF16lT07NkTdnZ25RASIYSQyuJuqhoHYhW8tqCm1kb1Da/z+aMQJTzTHXMMA+XQaYDotZfpEkIqgJedFL09zHhtP1zPKHKGk1DYQqW+RY8f0IaxRq7Ur/7Ozs6QUDUfQgghJVB49KipoxRda8iL6F3xmMR4uJ4+xGvTdOoN1sNLoIgIIaUxvQl/GuyFFyqcSTCu5IOzsQdbrcCGsVpNbpJEjFapE6QxY8bg999/h1qtfnVnQgghVdajdA3+eJjDa5vexLhGj+Q71kCkyf8wxVnZQEmFGQgxGU0dZehW6EuXwkVhjAFbpwHvWPzorkCRkJIo9VCQm5sbJBIJ2rRpgyFDhqBmzZoQi8V6/fr27VsmARJCCDFNK25koGDVXW9bCd6vbVb0CRVMfPMyJJfDeW3KwDGAlY1AERFCXseMpta8QjBhz5X496UKzY2oUqa2TgNILp3SHYsoQTJqpU6QPv00/5u1RYsWGezDMAwlSIQQUoU9zdTwqksBwPSm1hAZy+iRRg351p94Tdq6PtB06CFQQISQ1/WWixxtXWQ4W2Bq3fLrGdjaxVHAqPjYuvwRJNHDKIEiISVR6gTp4MGD5REHIYSQSmTlzUyo2fxjD2sxPqxjLlxAhUj/3g1R3BPdMccwUH4ylQozEGKiZjS1xtmjSbrjPx8rcCdFDR97qYBR5dN6eIFjGDD/FZAQxcUCOdmAuZHt20QAvEaC1K5du/KIgxBCSCXxIkeLzff4o0efNbaGRGQco0dM8gvI9m/mtWk69NT7hpcQYjo6u8nRzFGKyKT8NfI/3sjAug4OAkZVgLklONdaYOIeAwAYjoM4JgpaHz+BAyOGvPZXZTk5OTh79iz279+PxMTEsoyJEEKICVtzKxM52vzFR24WInxc33i+JZXtCAGjzC89rjG3hDJwlIAREULeFMMwehXt/vcwBzEZGoEi0qet68M7Fj2iaXbG6rUSpLVr18Lb2xu9evXCiBEjcOvWLQBAUlIS3N3dsXnz5lfcAyGEkMooRcli/Z0sXtuUxtaQi41j9Eh86wqkF8N4bc87fgBY2wkSDyGk7PSqbQZv2/zJUVoO+OmG8VS0Y+t4845FD6lQg7EqdYK0bds2fP755+jatStWrlzJ24zL0dERnTp1wt69e8s0SEIIIabhl9uZyNTkvy9UMxNhqJeRjB5pNJBv/ZnXpK3thSS/DgIFRAgpSyKGwWeFRpG2RWfjWZZWoIj4tHWp1LepKHWCtHr1anTv3h2hoaF477339G5v1qwZoqJoyJAQQqqadBWLkNuZvLZJvlawkBhH4QPpsf9B9DyW16YcSoUZCKlM+tc1h7tV/vYzKtZ49kVia9UDV2BrHFFiPJCeKlxApEilfld48OABunfvXuTtjo6OSEpKKvJ2QgghldOvd7KQpsofPbKTMRjZwFLAiPIxKYmQ7fuN16bu0ANsfV9hAiKElAuJiMGMQqNIm+9lGcdaJJkcbM16vCYaRTJOpU6QrK2tkZaWVuTtDx48QLVq1d4oKEIIIaYlU81i9S3+6NF4XyvYyIxjdEb2ewgYRY7umLOwyt0UlhBS6QzytICHdf5IjYYDlkYayShSXVqHZApK/c7VoUMHbNu2DUqlUu+2Z8+eYdOmTejatWuZBEcIIcQ0bLybhWRl/sZHNlIGY32sBIwon/j2v5CeP85rU334KWBjJ0xAhJByJRUxmNPMhte280E27qWqizij4hSuZEcjSMap1AnS/PnzkZiYiI4dO+LXX38FwzA4duwYFi5ciLfffhtSqRSzZs0qj1gJIYQYoWwNi59v8kePxjS0gp3cCEaPNGrIN6/gNWnd60Pd6X1h4iGEVIjAuua8inYsByy5KvwoEluHX6hB9PAuUKDgGTEOpX73qlu3Lo4cOQJXV1csXboUHMdh9erV+Omnn9C0aVMcOXIENWrUKI9YCSGEGKFNUdl4qcgfPbKSMJjQ0DjWHkn//gOi/zZmzKMc9hkgLvU+6YQQEyIWMZjbnD+KtDcmBzeShR1FYt3cwcnMdMeijFQwSQkCRkQMea13CG9vb+zduxepqal4+PAhWJaFh4cHrT0ihJAqRqHh9PYZGeVjCQczcRFnVBwm6QVk+zbx2qgwAyFVx/u1zdDYQcpLir79Nx07ujoKF5RYAtbDE+J7N3RNokdR0FZzFS4moqdUCZJSqcTOnTsRFhaGR48eITMzE1ZWVqhbty46d+6MAQMGQCaTlVeshBBCjMzW6CzE5+SPHpmLGUz0NY61R/Ltq8CoFLpjztIGygFUmIGQqkLEMJjf3AYf/ZNfXfnwEwUuv1ShpZNwn1e1Ht68BEkcGw1tqwDB4iH6SjzF7tatW2jdujWmTZuGffv24dGjR8jJycGjR4+wd+9eTJkyBW+99RbtgUQIIVWESsthxQ3+2qORDSzhZC786JH4xkVILofz2pSBowFrO2ECIoQI4p2acrRykvLavvk3XaBocrEeXrxjUcw9gSIhRSlRgpSZmYmBAwfi5cuXWLBgAW7duoXY2Fjef+fPn4/4+Hh8/PHHyMrKKu+4CSGECGzH/Ww8LbBDvVwMTG5kBKNHKiXkW37iNWnr+kAT0FOggAghQmEYBvOb2/Lawp4rcTpevxpzRWFre/KORTH3qFCDkSlRgrRt2zY8ffoUO3fuxGeffQY3Nzfe7W5ubpg+fTp27NiB2NhYbN++vVyCJYQQYhzULIcfrvPXHg3zsoSrhfCjR9LDOyFKeKY75hgGyqHTAJERVNUjhFS4ADc52rvyp9R98286OIGSErZ6LXAyue5YlJEKJiVRkFiIYSV6tzh69Cg6d+6M9u3bF9svICAAnTp1wpEjR8okOEIIIcZp14NsPM7MHz2SiYCpja2LOaNiMC/jIDu4ldem6dQbbB3vIs4ghFQF8wtVtDuXoMKJ5wKNIoklYGvV4zWJYqOFiYUYVKIE6fbt22jXrl2J7rBDhw64fft2iQNYv349mjRpAhcXFwQEBODs2bPF9r916xZ69OgBV1dX+Pj46EqNF3T69GkEBATAxcUFTZs2RWhoqN797N+/H/7+/nB2doa/vz8OHjzIu/3XX39F27ZtUatWLdSqVQvdunXD33//XeLnRQghlZWG5bC80OjREE9L1LAUfvRIvnUlGLVKd8xa20HZf5SAERFCjIG/ixzv1JTz2r6+ItwokpbWIRm1EiVIKSkpcHZ2LtEdOjk5ISUlpUR99+zZgzlz5mDGjBkIDw9H69atERgYiCdPnhjsn56ejr59+8LZ2RknTpzAd999h5UrV2LVqlW6PjExMRgwYABat26N8PBwTJ8+HbNmzcL+/ft1fS5evIiRI0ciMDAQERERCAwMxPDhw3H58mVdHzc3NyxatAinTp1CWFgYOnTogMGDB+PmzZslem6EEFJZ7XyQjQfp+aNHEgaY1kT4tUfif09DEsn/kk310VjAUviRLUKI8Ob68UeRIpPUOBirKKJ3+Sq8DklMCZJRKVGCpFQqIZVKX90RgEQigUqlenVHAKtXr8agQYMwbNgweHt7Izg4GC4uLgZHfABg9+7dyMnJQUhICBo2bIg+ffpg6tSpWLNmje4bgI0bN8LV1RXBwcHw9vbGsGHDMHDgQF4SFRISgvbt2yMoKAje3t4ICgpCu3btEBISouvTs2dPdOvWDXXr1kX9+vWxYMECWFlZ4dKlSyV6boQQUhmptByWRvJHjwbWt4C7lcAbr2ZnQr5pBa9J69kImre7CxMPIcToNKsmQ+/aZry2b6+mQ8tW/CiSXiW7WEqQjEmJ39FiYmJw5cqVV/Z79OhRie5PpVIhMjISkydP5rV37twZFy5cMHjOxYsX0aZNG5ibm+vaunTpgm+++QaxsbHw8PDAxYsX0blzZ955Xbp0wY4dO6BWqyGVSnHp0iWMGTNGr8+6desMPq5Wq8W+ffuQlZWF1q1bl+j5EUJIZbT5XhZv7ZFUBMxsJvwIjXz3rxCl5i9y5sRiKId+RoUZCCE8c5vb4GCsAnkp0d1UDf54lIOP6llUaBxsDQ9wEikYTe4mtqKURDBpyeBsHSo0DmJYiROkJUuWYMmSJa/sx3EcGIZ5Zb+kpCRotVo4OTnx2p2cnPDixQuD57x48UKvgl7e+S9evICHhwdevHiBjh076vXRaDRISkqCq6srEhISSvS4t27dwjvvvAOFQgFLS0ts3boVvr60AzshpGrK0XBYdo0/ejTc21Lw0SPRveuQntjPa1P3GAjWvV4RZxBCqqoGdlIMqGeOnQ9ydG1LrqajXx1zSEWv/vxaZiRSsDXr8KbWiWKjoW3iX3ExkCKV6F1t9erV5RZA4WTqVQmWof6F21+3T+E2T09PREREIC0tDQcOHMD48ePx559/omHDhkXGFx1ddauQVOXnbszouhgfU70mW59KEJ+TXypXLuLQz/oloqNfChYTo1Gjwa/f8toUDi6469sWXCl+zqZ6TSozuibGp7Jck4/tGfzBmEHL5X7ui8nQYvnpGPSrrqnQOGrZu6BagQQp5co5JJiXbgSpslyTiubp6Vns7SVKkAYNGlQmwRTk6OgIsVisN2qTmJioN7qTx9nZ2WB/IH8kqag+EokEDg65v3QuLi4lelyZTIa6desCAPz8/PDvv/9izZo1vPVMhb3qB15ZRUdHV9nnbszouhgfU70mGWoWWy8lAGB1bWMbWqONb03hggIg2xMKWVI8r40d+znqNyj6i6zCTPWaVGZ0TYxPZbomngCGZaQiNCpL17YpzgxT27rCTFJxo0iSJi2BqxG6Y+fMZNiU4mdcma6JsRFscrZMJkOzZs0QFhbGaw8LC4O/v+HhxdatW+PcuXNQKBS8/tWrV0ft2rV1fU6ePKl3n35+frpCE61atSrV4+ZhWbbEBSgIIaQyWX0zE0nK/OTIWspgamNhK9eJnjyE9M9tvDZ1QC+wDZoJExAhxGQENbWGWYGdCZ5ns9hQIGGqCGxtKvVtrARdvTpx4kRs374dmzdvRlRUFGbPno34+HiMGDECALBo0SL07t1b179///4wNzfHhAkTcPv2bRw4cAArVqzAhAkTdNPjRowYgefPn2POnDmIiorC5s2bsX37dkyaNEl3P+PGjUN4eDiWL1+Oe/fuYfny5YiIiMD48eN1fRYuXIizZ88iNjYWt27dwqJFi3D69GkEBgZW0E+HEEKMw4scLVbdzOS1jfe1gqOZgPsesVrINwaD0eYXjGBtHaD8aKxwMRFCTIabpRifNuB/yfPj9QxkqNkizih7bK264AoUkhElxgOZ6RX2+KRogq6s7devH5KTkxEcHIyEhAT4+Phg165dcHd3BwDEx8fzquLZ2tpi7969CAoKQqdOnWBnZ4eJEyfykh8PDw/s2rULc+fORWhoKFxdXbF06VL06dNH18ff3x+hoaFYvHgxlixZgjp16iA0NBQtW7bU9UlISMCYMWPw4sUL2NjYwNfXF3/88Qe6dOlSAT8ZQggxHsGRGcjU5JfBdZSLMMlX2NEj6fH9ED+4w2tTDp1Gex4RQkrssyZW2BSVpXt9S1SwWHsrEzOb2bzizDIik4OtUQfiJw90TeLYaGh9W1TM45MiMampqcJsIUwqFZoHa5zouhgfU7smD9M1aL0nAQXyI3znb4txDYVLkJikBFh8PgyMMn+6taZFeyimfP1a92dq16QqoGtifCrrNfnm33QEF6jOaSNjcL2/K+zkFTPJSv7rd5CePqI7Vn40DuoeH5fo3Mp6TYwBbRBBCCGkSF9fSeclR7WtxBjhbSlcQBwH+aYfeckRZ24J5SdThYuJEGKyJjWygp0svzBDuorDzzczijmjbOltGBsTVWGPTYpGCRIhhBCD/n2pwt6YHF7bghY2kIsrcK+QQiRn/obk2nlem/KjseDsqwkUESHElNnKRJjamD81d+3tLCRka4s4o2xpa/NHgMSx9yvkcUnxKEEihBCih+M4zL+Uxmtr4iBFvzrmAkUEMEkvIN+6ktem9WoCTUAvgSIihFQGY3ws4Wye/5E4W8Nh+fWKGUVia9UDV3CfzoSngCK7Qh6bFI0SJEIIIXoOxCpwNoG/rcGiljYQFbORd7liWcg3LAWTk1+Gl5PJofh0JiCitzJCyOuzlIowowl/FGljVBaeZFbAxrHmFuCca+gOGY6D6PGDYk4gFYHeVQghhPAotRy+vMwfPepWQ45ONcwEigiQhB2A5NYVXptqwFhwrrUEiogQUpkM97ZETcv8rQtULHjFG8qT/jS76Ap5XFI0SpAIIYTw/HI7EzEZ+fPvxQywuLWtYPEwCU8h/30tr03j4wd1lw+ECYgQUunIxQxmNeOPIm2LzsaDtPIfRWJr1+cdix7TOiShUYJECCFE52WOFssKfWs60tsS3nZSYQJitTBb9x0YVYGqdWYWUI6aTVPrCCFlalB9C9SzyR9F0nLAksjy37iVLTSCJKIRJMHRuwshhBCdb6+mI12dX9fbVsZgjp9wm69KD++C+P5NXpty8CRw1VwFiogQUllJRAzm+vE3if3fwxzcTFaX6+PqJUhPHwGa8n1MUjxKkAghhAAAIhNV+C2KXz1pVjMbOJqJizijfImePoRsTyivTdOsDTTt3xMkHkJI5de3jjl87SW6Yw7AkqvlO4rE2diDtcvfqoDRaiB6FlOuj0mKRwkSIYQQsByHmedTUWBPWNSzEWN0A4E2hdWoIV+3BEyBb1E5SxsoRwQBQlXSI4RUeiKGwbzm/FGkvx4rEJmoKuKMsqG3Don2QxIUJUiEEEKw4342Lr3kT+n4zt8OMoE2hZUd2KpXyUk57DNwdo6CxEMIqTreq2WGFtX46y6/+bd8R5H0ptk9pnVIQqIEiRBCqrhUJYsvL/Pf/Hu4m6FbTWHKeovu34L04BZem9q/EzT+nQSJhxBStTAMg7mFRpGOPVPiQoKy3B6TSn0bF0qQCCGkivv2ajoSFazu2EwMLBGqrHdONszWfgOGzY+HtXWAcug0YeIhhFRJnd3kaOMi47V9c7X89kXSH0G6DxR4HSQVixIkQgipwiITVVh/N4vX9lkTa9S2lhRxRvmSb/0ZopfPeW3KT2cBVsLtw0QIqXoYRr+iXXicEhFx5TOKxFVzBWdhlf/4ihwwL54XcwYpT5QgEUJIFaVhOUw9mwq2QGUGD2sxpjYSpqy35EIYpKeP8NpUXftC2/QtQeIhhFRt7avL0aG6nNf27dV0cBxXxBlvgGGgdecXaqBpdsKhBIkQQqqotbczcS2JX5jhe387mEkqvjADk/QC8t9+4LVp3Tyg+mhchcdCCCF55hXaB+5cggonnpfPKJLBaXZEEJQgEUJIFRSbocG3hebT96tjjndqCVCYgdVCvu5bMNmZuiZOIoVy/HxAJi/mREIIKV/+LnJ0q8F/Hfrm3/IZRdJLkGgESTCUIBFCSBXDcRyCzqUiW5P/Bm8rYwQrzCA9vAuSu5G8NlXgaLCFppsQQogQCle0+zdRjSNPFGX+OHp7IVGpb8FQgkQIIVXM7oc5OPaMP0Xk61a2cLEQV3gsokdRkP1vA69N49sC6nf6V3gshBBiiF81GXq680fXv7maAbaMR5HY6u7gpPmV80RpKWBSk8r0MUjJUIJECCFVSFy2FrPOp/La2rrIMMTTouKDUebA7JfFYLQaXRNnaQPl6M8BEb09EUKMx+eFKtrdTFbjYGwZjyKJJWBr1uU10TQ7YdA7ECGEVBEcx2HamRSkqvK/9ZSLgRVt7SBiKr4wg3zHGojinvDaFCNngrOvVuGxEEJIcRo5SNHXw5zXtuRqOrRsGY8i0Toko0AJEiGEVBHb72fj76f8qXXzm9vAy05a4bGI/z0NadhBXps6oBe0LdtXeCyEEFISc/ysISrwXdLdVA3+9yinTB9DW5tKfRsDSpAIIaQKeJalxecX0nhtbznLMKGhVRFnlB8mNQlmG77ntbEuNaEcPLHCYyGEkJLytpMisC5/FGlpZDo0ZTiKpD+CRKW+hUAJEiGEVHIsx2F8RArS1flv4uZiBqvb2UMsquCpdSwL+a/fgclM1zVxYjEU4+cDcvNiTiSEEOHNbmYDcYGXzQfpWvz+ILvM7p+tWRcck//xXPTyOVBgCwRSMShBIoSQSm7lzUyEx/Gn1n3Z0gb1bCUVHov02P8guXmJ16bqNxJsnQYVHgshhJRWXRsJBhcqarM0MgMqbRmNIsnNwFZ35zXRhrEVjxIkQgipxK4mqvD1lXReW3tXGcb4WFZ4LKLHDyDbtY7Xpm3QFOoeH1d4LIQQ8rqCmlpDWuAT9JNMLbZGl+EoEq1DEhwlSIQQUkllqlmMOpWMAvvBwl7O4JcODhVftU6lhHzt12A06v+3d9/hUVTrA8e/W7NJINkkpBBICAQIEKpIUUCaogiKhYCKPykqCFiuioDl2q6KSFFseAXRi4ISEATseAmCl6oCIiX0mkZ63Wyb3x+BDZNGEpJsgPfzPHlgzpyZfXdPZrPvnjPnuIoUrwZYxj8P2rpff0kIIaorvIGe0a3VXzLN3p2NxV4zvUhyH5L7SYIkhBBXqKlbsziS7VCVvdfLj1Dvuk9IjLH/RnfmuKqscMzTKAFBdR6LEEJcqqc7NcR0wVtpQr6Tzw/l1ci5Zapv95MESQghrkCLD+ax9LB6yMfYKC+GNqv7iRB0u7diXLdSVWbrfTP2Hv3rPBYhhKgJjb10jGuj7kWatye3Ru5FcoSrh9hpE46DtbDsyqJWSIIkhBBXmF2pVp7Zmqkqa+2r5/XuvnUeiyYrHY+FM1VlzsBQCu9/vM5jEUKImvR4+4Z4XNCLdDrPwZeHa+BepAY+OBsFuzY1TifaM8cu/byi0iRBEkKIK0hGoZMH4tIpvGBknZdew3/6++Olr+O3fEXB45O30GZnFBdptVgeeR48636SCCGEqEkhXjoeKHEv0ty/cmpkXSRnuNyH5E6SIAkhxBXCqSiM/zWdk7nq+47mXW+mrZ+hzuMx/Pcb9Lu3qsqsw0bjbBld57EIIURteKJ9A9WMdidyHSw/WnDJ53WUuA9JZrKrW5IgCSHEFWLW7hzWnVGPU3+4rTcxkV7lHFF7tKePYfxqvqrM0bI9tttG1XksQghRW5o20DOqpfo9ds7uHByX2IskEzW4lyRIQghxBfjltIU3d+aoyroFGni9W93fd4TNisdHr6GxWV1Fiqd30dA6Xd0vTiuEELXpHx0bortg5YTD2XZWH7+0XqSSayFpTx0Fp6Oc2qKmSYIkhBCXuZO5dh7emM6F31c2Mmn5rH8ARl0dr3cEGFcsRHfqiKqs8IF/oAQ2rvNYhBCitkU01DOyRE/9vL9zUZTq9yIpfoEoDYu/4NJYLWiSTlf7fKJqJEESQojLmMWuMDounYzC4j/EWg180tePJm5Y70j39+8Yf4xVldmuuxH79TfVeSxCCFFXnuzYgAu/jtqdZuO3JGu59S9Ko8ERLvchuYskSEIIcZlSFIUnt2SyM9WmKn/hGh/6hprqPqCcTDwWzFAVORsFU/h/T9R9LEIIUYda+RoYHK5+333/75xyaleO3IfkPm5PkBYuXEjHjh0JDg6mb9++bN68ucL6e/fu5dZbbyUkJIS2bdsyc+bMUl2Yv/32G3379iU4OJhOnTqxaNGiUudZvXo1PXr0ICgoiB49erB27VrV/rlz59K/f3/CwsKIjIxk5MiR7Nu379KfsBBC1JD5+/JKrbkxOMzEPzo0qPtgFAXTolloM9OKizRaLOOfB++GdR+PEELUscfaq997fzpdyIFMWzm1L67UfUiSINUZtyZIK1euZPr06Tz99NNs3LiR7t27ExMTw6lTp8qsn52dzZ133klQUBDr16/nzTff5L333uP999931Tl+/DgjRoyge/fubNy4kaeeeoqpU6eyevVqV53t27czbtw4YmJi2LRpEzExMYwZM4bff//dVee3337jwQcf5KeffmLNmjXo9XruuOMOMjIyEEIId9uQYOGFHVmqskgfHfP7+KHV1P19R/pfv0P/5/9UZbbbRuGM6ljnsQghhDv0DDJybaB6SYUP/s6t9vlKT/V9GC7hviZReW5NkD744APuu+8+Ro8eTVRUFLNmzSI4OLjMHh+A5cuXU1BQwPz582nXrh3Dhg3jiSee4MMPP3T1In366aeEhIQwa9YsoqKiGD16NPfee68qiZo/fz59+vRhypQpREVFMWXKFHr37s38+cVT0q5cuZL777+fdu3aER0dzb///W9SU1PZunVrqbiEEKIuHc22MyYunQtnkfUxaPhyYABmj7p/W9cknsRjyfuqMkeLtliHja7zWIQQwl00Gg2PRqt7zJcdySc5v3qzzynBTVE8ioftafKy0aSnXFKMonLcliBZrVZ27drFgAEDVOUDBgxg27ZtZR6zfft2rrvuOjw9PV1lAwcOJDExkRMnTrjqlDznwIED2blzJzZbUTfnjh07yqxT3uMC5Obm4nQ6MZvNlX6OQghR03JsTu77bxqZ1uLsSAMs6OtPa3PdLwaL3YZp/mtorBZXkeJhKprSWy9Tegshri5Dm5lo1qB4ghyrExbsz6veybRanGEyzM4d3JYgpaWl4XA4CAwMVJUHBgaSklJ2dpySklJm/fP7Kqpjt9tJSysaG5+cnFylxwWYPn06HTp0oHv37pV4dkII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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "kde_target('bureau_DAYS_CREDIT_mean', train)" ] }, { "cell_type": "markdown", "id": "136dea9b", "metadata": {}, "source": [ "이 칼럼의 정의는 \"고객이 현재 신청하기 며칠 전에 신용 조회를 신청했는가\"입니다.\n", "\n", "제가 해석한 바로는 이전 대출이 홈 크레딧에 대출 신청 전 신청된 일수입니다.\n", "\n", "따라서 마이너스 숫자가 크면 대출이 현재 대출 신청 전에 더 많았음을 나타냅니다.\n", "\n", "우리는 이 변수의 평균과 과거에 대출을 더 신청한 고객들이 잠재적으로 홈 크레딧에서 대출을 상환할 가능성이 더 높다는 목표 의미 사이의 극히 약한 긍정적 관계를 봅니다. 하지만 이렇게 약한 상관관계에서는 신호와 마찬가지로 노이즈일 가능성이 높습니다.\n", "\n", "### The Multiple Comparisons Problem\n", "\n", "변수가 많을 때, 우리는 변수 중 일부는 순수 우연에 의해 상관관계가 있을 것으로 예상하는데, 이는 다중 비교라고 알려져 있습니다. 우리는 수백 개의 특징을 만들 수 있고, 일부는 단순히 데이터의 무작위 노이즈 때문에 대상과 공동화될 것입니다. 그런 다음 모델이 훈련할 때 훈련 세트의 목표값과 관계가 있다고 생각하기 때문에 이러한 변수에 과도하게 적합될 수 있지만 이것이 반드시 검정 집합으로 일반화되는 것은 아닙니다. 우리가 특징을 만들 때 고려해야 할 많은 사항들이 있습니다!\n" ] }, { "cell_type": "markdown", "id": "e04bafd1", "metadata": {}, "source": [ "# Function for Numeric Aggregations\n" ] }, { "cell_type": "code", "execution_count": 17, "id": "d3fe33f0", "metadata": {}, "outputs": [], "source": [ "def agg_numeric(df, group_var, df_name):\n", " \"\"\"Aggregates the numeric values in a dataframe. This can\n", " be used to create features for each instance of the grouping variable.\n", " \n", " Parameters\n", " --------\n", " df (dataframe): \n", " the dataframe to calculate the statistics on\n", " group_var (string): \n", " the variable by which to group df\n", " df_name (string): \n", " the variable used to rename the columns\n", " \n", " Return\n", " --------\n", " agg (dataframe): \n", " a dataframe with the statistics aggregated for \n", " all numeric columns. Each instance of the grouping variable will have \n", " the statistics (mean, min, max, sum; currently supported) calculated. \n", " The columns are also renamed to keep track of features created.\n", " \n", " \"\"\"\n", " for col in df:\n", " if col != group_var and 'SK_ID' in col:\n", " df = df.drop(columns = col)\n", " \n", " group_ids = df[group_var] # 'SK_ID_CURR'\n", " numeric_df = df.select_dtypes('number')\n", " numeric_df[group_var] = group_ids\n", "\n", " agg = numeric_df.groupby(group_var).agg(['count', 'mean', 'max', 'min', 'sum']).reset_index()\n", "\n", " columns = [group_var]\n", "\n", " for var in agg.columns.levels[0]:\n", " if var != group_var:\n", " for stat in agg.columns.levels[1][:-1]:\n", " columns.append('%s_%s_%s' % (df_name, var, stat))\n", "\n", " agg.columns = columns\n", " return agg" ] }, { "cell_type": "code", "execution_count": 18, "id": "3fd3470e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SK_ID_CURRbureau_DAYS_CREDIT_countbureau_DAYS_CREDIT_meanbureau_DAYS_CREDIT_maxbureau_DAYS_CREDIT_minbureau_DAYS_CREDIT_sumbureau_CREDIT_DAY_OVERDUE_countbureau_CREDIT_DAY_OVERDUE_meanbureau_CREDIT_DAY_OVERDUE_maxbureau_CREDIT_DAY_OVERDUE_min...bureau_DAYS_CREDIT_UPDATE_countbureau_DAYS_CREDIT_UPDATE_meanbureau_DAYS_CREDIT_UPDATE_maxbureau_DAYS_CREDIT_UPDATE_minbureau_DAYS_CREDIT_UPDATE_sumbureau_AMT_ANNUITY_countbureau_AMT_ANNUITY_meanbureau_AMT_ANNUITY_maxbureau_AMT_ANNUITY_minbureau_AMT_ANNUITY_sum
01000017-735.000000-49-1572-514570.000...7-93.142857-6-155-65273545.35714310822.50.024817.5
11000028-874.000000-103-1437-699280.000...8-499.875000-7-1185-399970.0000000.00.00.0
21000034-1400.750000-606-2586-560340.000...4-816.000000-43-2131-32640NaNNaNNaN0.0
31000042-867.000000-408-1326-173420.000...2-532.000000-382-682-10640NaNNaNNaN0.0
41000053-190.666667-62-373-57230.000...3-54.333333-11-121-16331420.5000004261.50.04261.5
\n", "

5 rows × 61 columns

\n", "
" ], "text/plain": [ " SK_ID_CURR bureau_DAYS_CREDIT_count bureau_DAYS_CREDIT_mean \\\n", "0 100001 7 -735.000000 \n", "1 100002 8 -874.000000 \n", "2 100003 4 -1400.750000 \n", "3 100004 2 -867.000000 \n", "4 100005 3 -190.666667 \n", "\n", " bureau_DAYS_CREDIT_max bureau_DAYS_CREDIT_min bureau_DAYS_CREDIT_sum \\\n", "0 -49 -1572 -5145 \n", "1 -103 -1437 -6992 \n", "2 -606 -2586 -5603 \n", "3 -408 -1326 -1734 \n", "4 -62 -373 -572 \n", "\n", " bureau_CREDIT_DAY_OVERDUE_count bureau_CREDIT_DAY_OVERDUE_mean \\\n", "0 7 0.0 \n", "1 8 0.0 \n", "2 4 0.0 \n", "3 2 0.0 \n", "4 3 0.0 \n", "\n", " bureau_CREDIT_DAY_OVERDUE_max bureau_CREDIT_DAY_OVERDUE_min ... \\\n", "0 0 0 ... \n", "1 0 0 ... \n", "2 0 0 ... \n", "3 0 0 ... \n", "4 0 0 ... \n", "\n", " bureau_DAYS_CREDIT_UPDATE_count bureau_DAYS_CREDIT_UPDATE_mean \\\n", "0 7 -93.142857 \n", "1 8 -499.875000 \n", "2 4 -816.000000 \n", "3 2 -532.000000 \n", "4 3 -54.333333 \n", "\n", " bureau_DAYS_CREDIT_UPDATE_max bureau_DAYS_CREDIT_UPDATE_min \\\n", "0 -6 -155 \n", "1 -7 -1185 \n", "2 -43 -2131 \n", "3 -382 -682 \n", "4 -11 -121 \n", "\n", " bureau_DAYS_CREDIT_UPDATE_sum bureau_AMT_ANNUITY_count \\\n", "0 -652 7 \n", "1 -3999 7 \n", "2 -3264 0 \n", "3 -1064 0 \n", "4 -163 3 \n", "\n", " bureau_AMT_ANNUITY_mean bureau_AMT_ANNUITY_max bureau_AMT_ANNUITY_min \\\n", "0 3545.357143 10822.5 0.0 \n", "1 0.000000 0.0 0.0 \n", "2 NaN NaN NaN \n", "3 NaN NaN NaN \n", "4 1420.500000 4261.5 0.0 \n", "\n", " bureau_AMT_ANNUITY_sum \n", "0 24817.5 \n", "1 0.0 \n", "2 0.0 \n", "3 0.0 \n", "4 4261.5 \n", "\n", "[5 rows x 61 columns]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bureau_agg_new = agg_numeric(bureau.drop(columns = ['SK_ID_BUREAU']), group_var = 'SK_ID_CURR', df_name = 'bureau')\n", "bureau_agg_new.head()" ] }, { "cell_type": "markdown", "id": "77683a96", "metadata": {}, "source": [ "이 기능이 의도한 대로 작동하는지 확인하기 위해서는 우리가 직접 만든 집계된 데이터 프레임과 비교해야 합니다.\n" ] }, { "cell_type": "code", "execution_count": 19, "id": "0f43643d", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SK_ID_CURRbureau_DAYS_CREDIT_countbureau_DAYS_CREDIT_meanbureau_DAYS_CREDIT_maxbureau_DAYS_CREDIT_minbureau_DAYS_CREDIT_sumbureau_CREDIT_DAY_OVERDUE_countbureau_CREDIT_DAY_OVERDUE_meanbureau_CREDIT_DAY_OVERDUE_maxbureau_CREDIT_DAY_OVERDUE_min...bureau_DAYS_CREDIT_UPDATE_countbureau_DAYS_CREDIT_UPDATE_meanbureau_DAYS_CREDIT_UPDATE_maxbureau_DAYS_CREDIT_UPDATE_minbureau_DAYS_CREDIT_UPDATE_sumbureau_AMT_ANNUITY_countbureau_AMT_ANNUITY_meanbureau_AMT_ANNUITY_maxbureau_AMT_ANNUITY_minbureau_AMT_ANNUITY_sum
01000017-735.000000-49-1572-514570.000...7-93.142857-6-155-65273545.35714310822.50.024817.5
11000028-874.000000-103-1437-699280.000...8-499.875000-7-1185-399970.0000000.00.00.0
21000034-1400.750000-606-2586-560340.000...4-816.000000-43-2131-32640NaNNaNNaN0.0
31000042-867.000000-408-1326-173420.000...2-532.000000-382-682-10640NaNNaNNaN0.0
41000053-190.666667-62-373-57230.000...3-54.333333-11-121-16331420.5000004261.50.04261.5
\n", "

5 rows × 61 columns

\n", "
" ], "text/plain": [ " SK_ID_CURR bureau_DAYS_CREDIT_count bureau_DAYS_CREDIT_mean \\\n", "0 100001 7 -735.000000 \n", "1 100002 8 -874.000000 \n", "2 100003 4 -1400.750000 \n", "3 100004 2 -867.000000 \n", "4 100005 3 -190.666667 \n", "\n", " bureau_DAYS_CREDIT_max bureau_DAYS_CREDIT_min bureau_DAYS_CREDIT_sum \\\n", "0 -49 -1572 -5145 \n", "1 -103 -1437 -6992 \n", "2 -606 -2586 -5603 \n", "3 -408 -1326 -1734 \n", "4 -62 -373 -572 \n", "\n", " bureau_CREDIT_DAY_OVERDUE_count bureau_CREDIT_DAY_OVERDUE_mean \\\n", "0 7 0.0 \n", "1 8 0.0 \n", "2 4 0.0 \n", "3 2 0.0 \n", "4 3 0.0 \n", "\n", " bureau_CREDIT_DAY_OVERDUE_max bureau_CREDIT_DAY_OVERDUE_min ... \\\n", "0 0 0 ... \n", "1 0 0 ... \n", "2 0 0 ... \n", "3 0 0 ... \n", "4 0 0 ... \n", "\n", " bureau_DAYS_CREDIT_UPDATE_count bureau_DAYS_CREDIT_UPDATE_mean \\\n", "0 7 -93.142857 \n", "1 8 -499.875000 \n", "2 4 -816.000000 \n", "3 2 -532.000000 \n", "4 3 -54.333333 \n", "\n", " bureau_DAYS_CREDIT_UPDATE_max bureau_DAYS_CREDIT_UPDATE_min \\\n", "0 -6 -155 \n", "1 -7 -1185 \n", "2 -43 -2131 \n", "3 -382 -682 \n", "4 -11 -121 \n", "\n", " bureau_DAYS_CREDIT_UPDATE_sum bureau_AMT_ANNUITY_count \\\n", "0 -652 7 \n", "1 -3999 7 \n", "2 -3264 0 \n", "3 -1064 0 \n", "4 -163 3 \n", "\n", " bureau_AMT_ANNUITY_mean bureau_AMT_ANNUITY_max bureau_AMT_ANNUITY_min \\\n", "0 3545.357143 10822.5 0.0 \n", "1 0.000000 0.0 0.0 \n", "2 NaN NaN NaN \n", "3 NaN NaN NaN \n", "4 1420.500000 4261.5 0.0 \n", "\n", " bureau_AMT_ANNUITY_sum \n", "0 24817.5 \n", "1 0.0 \n", "2 0.0 \n", "3 0.0 \n", "4 4261.5 \n", "\n", "[5 rows x 61 columns]" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bureau_agg.head()" ] }, { "cell_type": "markdown", "id": "b54cf932", "metadata": {}, "source": [ "만약 우리가 그 값들을 조사한다면, 우리는 그것들이 동등하다는 것을 발견합니다. 우리는 이 함수를 다른 데이터 프레임의 숫자 통계를 계산하는 데 사용할 수 있을 것입니다. 기능을 사용하면 일관된 결과를 얻을 수 있고 미래에 해야 할 일의 양을 줄일 수 있습니다!\n" ] }, { "cell_type": "markdown", "id": "504233ad", "metadata": {}, "source": [ "### Correlation Function\n", "다음으로 넘어가기 전에 대상과의 상관관계를 함수로 계산하기 위한 코드를 만들 수도 있습니다.\n" ] }, { "cell_type": "code", "execution_count": 20, "id": "e5d5b569", "metadata": {}, "outputs": [], "source": [ "def target_corrs(df):\n", "\n", " corrs = []\n", "\n", " for col in df.columns:\n", " print(col)\n", " if col != 'TARGET':\n", " corr = df['TARGET'].corr(df[col])\n", "\n", " corrs.append((col, corr))\n", " \n", " corrs = sorted(corrs, key = lambda x: abs(x[1]), reverse = True)\n", " \n", " return corrs" ] }, { "cell_type": "markdown", "id": "50f46cbd", "metadata": {}, "source": [ "# Categorical Variables\n", "\n", "이제 숫자 열에서 범주형 열로 이동합니다. 이것들은 이산 문자열 변수이기 때문에 숫자 변수에만 적용되는 평균, 최대와 같은 통계만 계산할 수는 없습니다. 대신, 우리는 각 범주형 변수 내에서 각 범주의 값 카운트를 계산하는 것에 의존할 것입니다. 예를 들어, 다음과 같은 데이터 프레임이 있습니다.\n" ] }, { "cell_type": "markdown", "id": "3c43df20", "metadata": {}, "source": [ "먼저 범주형 열(dtype == 'object')만 사용하여 데이터 프레임을 원핫 인코딩합니다.\n" ] }, { "cell_type": "code", "execution_count": 21, "id": "e4b1947c", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CREDIT_ACTIVE_ActiveCREDIT_ACTIVE_Bad debtCREDIT_ACTIVE_ClosedCREDIT_ACTIVE_SoldCREDIT_CURRENCY_currency 1CREDIT_CURRENCY_currency 2CREDIT_CURRENCY_currency 3CREDIT_CURRENCY_currency 4CREDIT_TYPE_Another type of loanCREDIT_TYPE_Car loan...CREDIT_TYPE_Loan for business developmentCREDIT_TYPE_Loan for purchase of shares (margin lending)CREDIT_TYPE_Loan for the purchase of equipmentCREDIT_TYPE_Loan for working capital replenishmentCREDIT_TYPE_MicroloanCREDIT_TYPE_Mobile operator loanCREDIT_TYPE_MortgageCREDIT_TYPE_Real estate loanCREDIT_TYPE_Unknown type of loanSK_ID_CURR
00010100000...000000000215354
11000100000...000000000215354
21000100000...000000000215354
31000100000...000000000215354
41000100000...000000000215354
\n", "

5 rows × 24 columns

\n", "
" ], "text/plain": [ " CREDIT_ACTIVE_Active CREDIT_ACTIVE_Bad debt CREDIT_ACTIVE_Closed \\\n", "0 0 0 1 \n", "1 1 0 0 \n", "2 1 0 0 \n", "3 1 0 0 \n", "4 1 0 0 \n", "\n", " CREDIT_ACTIVE_Sold CREDIT_CURRENCY_currency 1 CREDIT_CURRENCY_currency 2 \\\n", "0 0 1 0 \n", "1 0 1 0 \n", "2 0 1 0 \n", "3 0 1 0 \n", "4 0 1 0 \n", "\n", " CREDIT_CURRENCY_currency 3 CREDIT_CURRENCY_currency 4 \\\n", "0 0 0 \n", "1 0 0 \n", "2 0 0 \n", "3 0 0 \n", "4 0 0 \n", "\n", " CREDIT_TYPE_Another type of loan CREDIT_TYPE_Car loan ... \\\n", "0 0 0 ... \n", "1 0 0 ... \n", "2 0 0 ... \n", "3 0 0 ... \n", "4 0 0 ... \n", "\n", " CREDIT_TYPE_Loan for business development \\\n", "0 0 \n", "1 0 \n", "2 0 \n", "3 0 \n", "4 0 \n", "\n", " CREDIT_TYPE_Loan for purchase of shares (margin lending) \\\n", "0 0 \n", "1 0 \n", "2 0 \n", "3 0 \n", "4 0 \n", "\n", " CREDIT_TYPE_Loan for the purchase of equipment \\\n", "0 0 \n", "1 0 \n", "2 0 \n", "3 0 \n", "4 0 \n", "\n", " CREDIT_TYPE_Loan for working capital replenishment CREDIT_TYPE_Microloan \\\n", "0 0 0 \n", "1 0 0 \n", "2 0 0 \n", "3 0 0 \n", "4 0 0 \n", "\n", " CREDIT_TYPE_Mobile operator loan CREDIT_TYPE_Mortgage \\\n", "0 0 0 \n", "1 0 0 \n", "2 0 0 \n", "3 0 0 \n", "4 0 0 \n", "\n", " CREDIT_TYPE_Real estate loan CREDIT_TYPE_Unknown type of loan SK_ID_CURR \n", "0 0 0 215354 \n", "1 0 0 215354 \n", "2 0 0 215354 \n", "3 0 0 215354 \n", "4 0 0 215354 \n", "\n", "[5 rows x 24 columns]" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "categorical = pd.get_dummies(bureau.select_dtypes('object'))\n", "categorical['SK_ID_CURR'] = bureau['SK_ID_CURR']\n", "categorical.head()" ] }, { "cell_type": "code", "execution_count": 22, "id": "88695246", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CREDIT_ACTIVE_ActiveCREDIT_ACTIVE_Bad debtCREDIT_ACTIVE_ClosedCREDIT_ACTIVE_SoldCREDIT_CURRENCY_currency 1...CREDIT_TYPE_MicroloanCREDIT_TYPE_Mobile operator loanCREDIT_TYPE_MortgageCREDIT_TYPE_Real estate loanCREDIT_TYPE_Unknown type of loan
summeansummeansummeansummeansummean...summeansummeansummeansummeansummean
SK_ID_CURR
10000130.42857100.040.57142900.071.0...00.000.000.000.000.0
10000220.25000000.060.75000000.081.0...00.000.000.000.000.0
10000310.25000000.030.75000000.041.0...00.000.000.000.000.0
10000400.00000000.021.00000000.021.0...00.000.000.000.000.0
10000520.66666700.010.33333300.031.0...00.000.000.000.000.0
\n", "

5 rows × 46 columns

\n", "
" ], "text/plain": [ " CREDIT_ACTIVE_Active CREDIT_ACTIVE_Bad debt \\\n", " sum mean sum mean \n", "SK_ID_CURR \n", "100001 3 0.428571 0 0.0 \n", "100002 2 0.250000 0 0.0 \n", "100003 1 0.250000 0 0.0 \n", "100004 0 0.000000 0 0.0 \n", "100005 2 0.666667 0 0.0 \n", "\n", " CREDIT_ACTIVE_Closed CREDIT_ACTIVE_Sold \\\n", " sum mean sum mean \n", "SK_ID_CURR \n", "100001 4 0.571429 0 0.0 \n", "100002 6 0.750000 0 0.0 \n", "100003 3 0.750000 0 0.0 \n", "100004 2 1.000000 0 0.0 \n", "100005 1 0.333333 0 0.0 \n", "\n", " CREDIT_CURRENCY_currency 1 ... CREDIT_TYPE_Microloan \\\n", " sum mean ... sum mean \n", "SK_ID_CURR ... \n", "100001 7 1.0 ... 0 0.0 \n", "100002 8 1.0 ... 0 0.0 \n", "100003 4 1.0 ... 0 0.0 \n", "100004 2 1.0 ... 0 0.0 \n", "100005 3 1.0 ... 0 0.0 \n", "\n", " CREDIT_TYPE_Mobile operator loan CREDIT_TYPE_Mortgage \\\n", " sum mean sum mean \n", "SK_ID_CURR \n", "100001 0 0.0 0 0.0 \n", "100002 0 0.0 0 0.0 \n", "100003 0 0.0 0 0.0 \n", "100004 0 0.0 0 0.0 \n", "100005 0 0.0 0 0.0 \n", "\n", " CREDIT_TYPE_Real estate loan CREDIT_TYPE_Unknown type of loan \\\n", " sum mean sum \n", "SK_ID_CURR \n", "100001 0 0.0 0 \n", "100002 0 0.0 0 \n", "100003 0 0.0 0 \n", "100004 0 0.0 0 \n", "100005 0 0.0 0 \n", "\n", " \n", " mean \n", "SK_ID_CURR \n", "100001 0.0 \n", "100002 0.0 \n", "100003 0.0 \n", "100004 0.0 \n", "100005 0.0 \n", "\n", "[5 rows x 46 columns]" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "categorical_grouped = categorical.groupby('SK_ID_CURR').agg(['sum', 'mean'])\n", "categorical_grouped.head()" ] }, { "cell_type": "code", "execution_count": 23, "id": "d5e1e1b7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['CREDIT_ACTIVE_Active', 'CREDIT_ACTIVE_Bad debt',\n", " 'CREDIT_ACTIVE_Closed', 'CREDIT_ACTIVE_Sold',\n", " 'CREDIT_CURRENCY_currency 1', 'CREDIT_CURRENCY_currency 2',\n", " 'CREDIT_CURRENCY_currency 3', 'CREDIT_CURRENCY_currency 4',\n", " 'CREDIT_TYPE_Another type of loan', 'CREDIT_TYPE_Car loan'],\n", " dtype='object')" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "categorical_grouped.columns.levels[0][:10]" ] }, { "cell_type": "code", "execution_count": 24, "id": "9fc53702", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['sum', 'mean'], dtype='object')" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "categorical_grouped.columns.levels[1]" ] }, { "cell_type": "code", "execution_count": 25, "id": "a7b764e3", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CREDIT_ACTIVE_Active_countCREDIT_ACTIVE_Active_count_normCREDIT_ACTIVE_Bad debt_countCREDIT_ACTIVE_Bad debt_count_normCREDIT_ACTIVE_Closed_countCREDIT_ACTIVE_Closed_count_normCREDIT_ACTIVE_Sold_countCREDIT_ACTIVE_Sold_count_normCREDIT_CURRENCY_currency 1_countCREDIT_CURRENCY_currency 1_count_norm...CREDIT_TYPE_Microloan_countCREDIT_TYPE_Microloan_count_normCREDIT_TYPE_Mobile operator loan_countCREDIT_TYPE_Mobile operator loan_count_normCREDIT_TYPE_Mortgage_countCREDIT_TYPE_Mortgage_count_normCREDIT_TYPE_Real estate loan_countCREDIT_TYPE_Real estate loan_count_normCREDIT_TYPE_Unknown type of loan_countCREDIT_TYPE_Unknown type of loan_count_norm
SK_ID_CURR
10000130.42857100.040.57142900.071.0...00.000.000.000.000.0
10000220.25000000.060.75000000.081.0...00.000.000.000.000.0
10000310.25000000.030.75000000.041.0...00.000.000.000.000.0
10000400.00000000.021.00000000.021.0...00.000.000.000.000.0
10000520.66666700.010.33333300.031.0...00.000.000.000.000.0
\n", "

5 rows × 46 columns

\n", "
" ], "text/plain": [ " CREDIT_ACTIVE_Active_count CREDIT_ACTIVE_Active_count_norm \\\n", "SK_ID_CURR \n", "100001 3 0.428571 \n", "100002 2 0.250000 \n", "100003 1 0.250000 \n", "100004 0 0.000000 \n", "100005 2 0.666667 \n", "\n", " CREDIT_ACTIVE_Bad debt_count CREDIT_ACTIVE_Bad debt_count_norm \\\n", "SK_ID_CURR \n", "100001 0 0.0 \n", "100002 0 0.0 \n", "100003 0 0.0 \n", "100004 0 0.0 \n", "100005 0 0.0 \n", "\n", " CREDIT_ACTIVE_Closed_count CREDIT_ACTIVE_Closed_count_norm \\\n", "SK_ID_CURR \n", "100001 4 0.571429 \n", "100002 6 0.750000 \n", "100003 3 0.750000 \n", "100004 2 1.000000 \n", "100005 1 0.333333 \n", "\n", " CREDIT_ACTIVE_Sold_count CREDIT_ACTIVE_Sold_count_norm \\\n", "SK_ID_CURR \n", "100001 0 0.0 \n", "100002 0 0.0 \n", "100003 0 0.0 \n", "100004 0 0.0 \n", "100005 0 0.0 \n", "\n", " CREDIT_CURRENCY_currency 1_count \\\n", "SK_ID_CURR \n", "100001 7 \n", "100002 8 \n", "100003 4 \n", "100004 2 \n", "100005 3 \n", "\n", " CREDIT_CURRENCY_currency 1_count_norm ... \\\n", "SK_ID_CURR ... \n", "100001 1.0 ... \n", "100002 1.0 ... \n", "100003 1.0 ... \n", "100004 1.0 ... \n", "100005 1.0 ... \n", "\n", " CREDIT_TYPE_Microloan_count CREDIT_TYPE_Microloan_count_norm \\\n", "SK_ID_CURR \n", "100001 0 0.0 \n", "100002 0 0.0 \n", "100003 0 0.0 \n", "100004 0 0.0 \n", "100005 0 0.0 \n", "\n", " CREDIT_TYPE_Mobile operator loan_count \\\n", "SK_ID_CURR \n", "100001 0 \n", "100002 0 \n", "100003 0 \n", "100004 0 \n", "100005 0 \n", "\n", " CREDIT_TYPE_Mobile operator loan_count_norm \\\n", "SK_ID_CURR \n", "100001 0.0 \n", "100002 0.0 \n", "100003 0.0 \n", "100004 0.0 \n", "100005 0.0 \n", "\n", " CREDIT_TYPE_Mortgage_count CREDIT_TYPE_Mortgage_count_norm \\\n", "SK_ID_CURR \n", "100001 0 0.0 \n", "100002 0 0.0 \n", "100003 0 0.0 \n", "100004 0 0.0 \n", "100005 0 0.0 \n", "\n", " CREDIT_TYPE_Real estate loan_count \\\n", "SK_ID_CURR \n", "100001 0 \n", "100002 0 \n", "100003 0 \n", "100004 0 \n", "100005 0 \n", "\n", " CREDIT_TYPE_Real estate loan_count_norm \\\n", "SK_ID_CURR \n", "100001 0.0 \n", "100002 0.0 \n", "100003 0.0 \n", "100004 0.0 \n", "100005 0.0 \n", "\n", " CREDIT_TYPE_Unknown type of loan_count \\\n", "SK_ID_CURR \n", "100001 0 \n", "100002 0 \n", "100003 0 \n", "100004 0 \n", "100005 0 \n", "\n", " CREDIT_TYPE_Unknown type of loan_count_norm \n", "SK_ID_CURR \n", "100001 0.0 \n", "100002 0.0 \n", "100003 0.0 \n", "100004 0.0 \n", "100005 0.0 \n", "\n", "[5 rows x 46 columns]" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "group_var = 'SK_ID_CURR'\n", "\n", "# Need to create new column names\n", "columns = []\n", "\n", "# Iterate through the variables names\n", "for var in categorical_grouped.columns.levels[0]:\n", " # Skip the grouping variable\n", " if var != group_var:\n", " # Iterate through the stat names\n", " for stat in ['count', 'count_norm']:\n", " # Make a new column name for the variable and stat\n", " columns.append('%s_%s' % (var, stat))\n", "\n", "# Rename the columns\n", "categorical_grouped.columns = columns\n", "\n", "categorical_grouped.head()" ] }, { "cell_type": "code", "execution_count": 26, "id": "080b5157", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SK_ID_CURRTARGETNAME_CONTRACT_TYPECODE_GENDERFLAG_OWN_CARFLAG_OWN_REALTYCNT_CHILDRENAMT_INCOME_TOTALAMT_CREDITAMT_ANNUITY...CREDIT_TYPE_Microloan_countCREDIT_TYPE_Microloan_count_normCREDIT_TYPE_Mobile operator loan_countCREDIT_TYPE_Mobile operator loan_count_normCREDIT_TYPE_Mortgage_countCREDIT_TYPE_Mortgage_count_normCREDIT_TYPE_Real estate loan_countCREDIT_TYPE_Real estate loan_count_normCREDIT_TYPE_Unknown type of loan_countCREDIT_TYPE_Unknown type of loan_count_norm
01000021Cash loansMNY0202500.0406597.524700.5...0.00.00.00.00.00.00.00.00.00.0
11000030Cash loansFNN0270000.01293502.535698.5...0.00.00.00.00.00.00.00.00.00.0
21000040Revolving loansMYY067500.0135000.06750.0...0.00.00.00.00.00.00.00.00.00.0
31000060Cash loansFNY0135000.0312682.529686.5...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
41000070Cash loansMNY0121500.0513000.021865.5...0.00.00.00.00.00.00.00.00.00.0
\n", "

5 rows × 229 columns

\n", "
" ], "text/plain": [ " SK_ID_CURR TARGET NAME_CONTRACT_TYPE CODE_GENDER FLAG_OWN_CAR \\\n", "0 100002 1 Cash loans M N \n", "1 100003 0 Cash loans F N \n", "2 100004 0 Revolving loans M Y \n", "3 100006 0 Cash loans F N \n", "4 100007 0 Cash loans M N \n", "\n", " FLAG_OWN_REALTY CNT_CHILDREN AMT_INCOME_TOTAL AMT_CREDIT AMT_ANNUITY \\\n", "0 Y 0 202500.0 406597.5 24700.5 \n", "1 N 0 270000.0 1293502.5 35698.5 \n", "2 Y 0 67500.0 135000.0 6750.0 \n", "3 Y 0 135000.0 312682.5 29686.5 \n", "4 Y 0 121500.0 513000.0 21865.5 \n", "\n", " ... CREDIT_TYPE_Microloan_count CREDIT_TYPE_Microloan_count_norm \\\n", "0 ... 0.0 0.0 \n", "1 ... 0.0 0.0 \n", "2 ... 0.0 0.0 \n", "3 ... NaN NaN \n", "4 ... 0.0 0.0 \n", "\n", " CREDIT_TYPE_Mobile operator loan_count \\\n", "0 0.0 \n", "1 0.0 \n", "2 0.0 \n", "3 NaN \n", "4 0.0 \n", "\n", " CREDIT_TYPE_Mobile operator loan_count_norm CREDIT_TYPE_Mortgage_count \\\n", "0 0.0 0.0 \n", "1 0.0 0.0 \n", "2 0.0 0.0 \n", "3 NaN NaN \n", "4 0.0 0.0 \n", "\n", " CREDIT_TYPE_Mortgage_count_norm CREDIT_TYPE_Real estate loan_count \\\n", "0 0.0 0.0 \n", "1 0.0 0.0 \n", "2 0.0 0.0 \n", "3 NaN NaN \n", "4 0.0 0.0 \n", "\n", " CREDIT_TYPE_Real estate loan_count_norm \\\n", "0 0.0 \n", "1 0.0 \n", "2 0.0 \n", "3 NaN \n", "4 0.0 \n", "\n", " CREDIT_TYPE_Unknown type of loan_count \\\n", "0 0.0 \n", "1 0.0 \n", "2 0.0 \n", "3 NaN \n", "4 0.0 \n", "\n", " CREDIT_TYPE_Unknown type of loan_count_norm \n", "0 0.0 \n", "1 0.0 \n", "2 0.0 \n", "3 NaN \n", "4 0.0 \n", "\n", "[5 rows x 229 columns]" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train = train.merge(categorical_grouped, left_on = 'SK_ID_CURR', right_index = True, how = 'left')\n", "train.head()" ] }, { "cell_type": "code", "execution_count": 27, "id": "bc26a4a4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(307511, 229)" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train.shape" ] }, { "cell_type": "code", "execution_count": 28, "id": "451a2222", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
bureau_DAYS_CREDIT_countbureau_DAYS_CREDIT_meanbureau_DAYS_CREDIT_maxbureau_DAYS_CREDIT_minbureau_DAYS_CREDIT_sumbureau_CREDIT_DAY_OVERDUE_countbureau_CREDIT_DAY_OVERDUE_meanbureau_CREDIT_DAY_OVERDUE_maxbureau_CREDIT_DAY_OVERDUE_minbureau_CREDIT_DAY_OVERDUE_sum...CREDIT_TYPE_Microloan_countCREDIT_TYPE_Microloan_count_normCREDIT_TYPE_Mobile operator loan_countCREDIT_TYPE_Mobile operator loan_count_normCREDIT_TYPE_Mortgage_countCREDIT_TYPE_Mortgage_count_normCREDIT_TYPE_Real estate loan_countCREDIT_TYPE_Real estate loan_count_normCREDIT_TYPE_Unknown type of loan_countCREDIT_TYPE_Unknown type of loan_count_norm
08.0-874.000000-103.0-1437.0-6992.08.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
14.0-1400.750000-606.0-2586.0-5603.04.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
22.0-867.000000-408.0-1326.0-1734.02.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
3NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
41.0-1149.000000-1149.0-1149.0-1149.01.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
53.0-757.333333-78.0-1097.0-2272.03.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
618.0-1271.500000-239.0-2882.0-22887.018.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
72.0-1939.500000-1138.0-2741.0-3879.02.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
84.0-1773.000000-1309.0-2508.0-7092.04.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
9NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
\n", "

10 rows × 106 columns

\n", "
" ], "text/plain": [ " bureau_DAYS_CREDIT_count bureau_DAYS_CREDIT_mean bureau_DAYS_CREDIT_max \\\n", "0 8.0 -874.000000 -103.0 \n", "1 4.0 -1400.750000 -606.0 \n", "2 2.0 -867.000000 -408.0 \n", "3 NaN NaN NaN \n", "4 1.0 -1149.000000 -1149.0 \n", "5 3.0 -757.333333 -78.0 \n", "6 18.0 -1271.500000 -239.0 \n", "7 2.0 -1939.500000 -1138.0 \n", "8 4.0 -1773.000000 -1309.0 \n", "9 NaN NaN NaN \n", "\n", " bureau_DAYS_CREDIT_min bureau_DAYS_CREDIT_sum \\\n", "0 -1437.0 -6992.0 \n", "1 -2586.0 -5603.0 \n", "2 -1326.0 -1734.0 \n", "3 NaN NaN \n", "4 -1149.0 -1149.0 \n", "5 -1097.0 -2272.0 \n", "6 -2882.0 -22887.0 \n", "7 -2741.0 -3879.0 \n", "8 -2508.0 -7092.0 \n", "9 NaN NaN \n", "\n", " bureau_CREDIT_DAY_OVERDUE_count bureau_CREDIT_DAY_OVERDUE_mean \\\n", "0 8.0 0.0 \n", "1 4.0 0.0 \n", "2 2.0 0.0 \n", "3 NaN NaN \n", "4 1.0 0.0 \n", "5 3.0 0.0 \n", "6 18.0 0.0 \n", "7 2.0 0.0 \n", "8 4.0 0.0 \n", "9 NaN NaN \n", "\n", " bureau_CREDIT_DAY_OVERDUE_max bureau_CREDIT_DAY_OVERDUE_min \\\n", "0 0.0 0.0 \n", "1 0.0 0.0 \n", "2 0.0 0.0 \n", "3 NaN NaN \n", "4 0.0 0.0 \n", "5 0.0 0.0 \n", "6 0.0 0.0 \n", "7 0.0 0.0 \n", "8 0.0 0.0 \n", "9 NaN NaN \n", "\n", " bureau_CREDIT_DAY_OVERDUE_sum ... CREDIT_TYPE_Microloan_count \\\n", "0 0.0 ... 0.0 \n", "1 0.0 ... 0.0 \n", "2 0.0 ... 0.0 \n", "3 NaN ... NaN \n", "4 0.0 ... 0.0 \n", "5 0.0 ... 0.0 \n", "6 0.0 ... 0.0 \n", "7 0.0 ... 0.0 \n", "8 0.0 ... 0.0 \n", "9 NaN ... NaN \n", "\n", " CREDIT_TYPE_Microloan_count_norm CREDIT_TYPE_Mobile operator loan_count \\\n", "0 0.0 0.0 \n", "1 0.0 0.0 \n", "2 0.0 0.0 \n", "3 NaN NaN \n", "4 0.0 0.0 \n", "5 0.0 0.0 \n", "6 0.0 0.0 \n", "7 0.0 0.0 \n", "8 0.0 0.0 \n", "9 NaN NaN \n", "\n", " CREDIT_TYPE_Mobile operator loan_count_norm CREDIT_TYPE_Mortgage_count \\\n", "0 0.0 0.0 \n", "1 0.0 0.0 \n", "2 0.0 0.0 \n", "3 NaN NaN \n", "4 0.0 0.0 \n", "5 0.0 0.0 \n", "6 0.0 0.0 \n", "7 0.0 0.0 \n", "8 0.0 0.0 \n", "9 NaN NaN \n", "\n", " CREDIT_TYPE_Mortgage_count_norm CREDIT_TYPE_Real estate loan_count \\\n", "0 0.0 0.0 \n", "1 0.0 0.0 \n", "2 0.0 0.0 \n", "3 NaN NaN \n", "4 0.0 0.0 \n", "5 0.0 0.0 \n", "6 0.0 0.0 \n", "7 0.0 0.0 \n", "8 0.0 0.0 \n", "9 NaN NaN \n", "\n", " CREDIT_TYPE_Real estate loan_count_norm \\\n", "0 0.0 \n", "1 0.0 \n", "2 0.0 \n", "3 NaN \n", "4 0.0 \n", "5 0.0 \n", "6 0.0 \n", "7 0.0 \n", "8 0.0 \n", "9 NaN \n", "\n", " CREDIT_TYPE_Unknown type of loan_count \\\n", "0 0.0 \n", "1 0.0 \n", "2 0.0 \n", "3 NaN \n", "4 0.0 \n", "5 0.0 \n", "6 0.0 \n", "7 0.0 \n", "8 0.0 \n", "9 NaN \n", "\n", " CREDIT_TYPE_Unknown type of loan_count_norm \n", "0 0.0 \n", "1 0.0 \n", "2 0.0 \n", "3 NaN \n", "4 0.0 \n", "5 0.0 \n", "6 0.0 \n", "7 0.0 \n", "8 0.0 \n", "9 NaN \n", "\n", "[10 rows x 106 columns]" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train.iloc[:10, 123:]" ] }, { "cell_type": "markdown", "id": "0e1b1013", "metadata": {}, "source": [ "### Function to Handle Categorical Variables\n", "\n" ] }, { "cell_type": "code", "execution_count": 29, "id": "2c624e72", "metadata": {}, "outputs": [], "source": [ "def count_categorical(df, group_var, df_name):\n", " \"\"\"Computes counts and normalized counts for each observation\n", " of `group_var` of each unique category in every categorical variable\n", " \n", " Parameters\n", " --------\n", " df : dataframe \n", " The dataframe to calculate the value counts for.\n", " \n", " group_var : string\n", " The variable by which to group the dataframe. For each unique\n", " value of this variable, the final dataframe will have one row\n", " \n", " df_name : string\n", " Variable added to the front of column names to keep track of columns\n", "\n", " \n", " Return\n", " --------\n", " categorical : dataframe\n", " A dataframe with counts and normalized counts of each unique category in every categorical variable\n", " with one row for every unique value of the `group_var`.\n", " \n", " \"\"\"\n", " \n", " # Select the categorical columns\n", " categorical = pd.get_dummies(df.select_dtypes('object'))\n", "\n", " # Make sure to put the identifying id on the column\n", " categorical[group_var] = df[group_var]\n", "\n", " # Groupby the group var and calculate the sum and mean\n", " categorical = categorical.groupby(group_var).agg(['sum', 'mean'])\n", " \n", " column_names = []\n", " \n", " # Iterate through the columns in level 0\n", " for var in categorical.columns.levels[0]:\n", " # Iterate through the stats in level 1\n", " for stat in ['count', 'count_norm']:\n", " # Make a new column name\n", " column_names.append('%s_%s_%s' % (df_name, var, stat))\n", " \n", " categorical.columns = column_names\n", " \n", " return categorical" ] }, { "cell_type": "code", "execution_count": 30, "id": "bd0c2c81", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
bureau_CREDIT_ACTIVE_Active_countbureau_CREDIT_ACTIVE_Active_count_normbureau_CREDIT_ACTIVE_Bad debt_countbureau_CREDIT_ACTIVE_Bad debt_count_normbureau_CREDIT_ACTIVE_Closed_countbureau_CREDIT_ACTIVE_Closed_count_normbureau_CREDIT_ACTIVE_Sold_countbureau_CREDIT_ACTIVE_Sold_count_normbureau_CREDIT_CURRENCY_currency 1_countbureau_CREDIT_CURRENCY_currency 1_count_norm...bureau_CREDIT_TYPE_Microloan_countbureau_CREDIT_TYPE_Microloan_count_normbureau_CREDIT_TYPE_Mobile operator loan_countbureau_CREDIT_TYPE_Mobile operator loan_count_normbureau_CREDIT_TYPE_Mortgage_countbureau_CREDIT_TYPE_Mortgage_count_normbureau_CREDIT_TYPE_Real estate loan_countbureau_CREDIT_TYPE_Real estate loan_count_normbureau_CREDIT_TYPE_Unknown type of loan_countbureau_CREDIT_TYPE_Unknown type of loan_count_norm
SK_ID_CURR
10000130.42857100.040.57142900.071.0...00.000.000.000.000.0
10000220.25000000.060.75000000.081.0...00.000.000.000.000.0
10000310.25000000.030.75000000.041.0...00.000.000.000.000.0
10000400.00000000.021.00000000.021.0...00.000.000.000.000.0
10000520.66666700.010.33333300.031.0...00.000.000.000.000.0
\n", "

5 rows × 46 columns

\n", "
" ], "text/plain": [ " bureau_CREDIT_ACTIVE_Active_count \\\n", "SK_ID_CURR \n", "100001 3 \n", "100002 2 \n", "100003 1 \n", "100004 0 \n", "100005 2 \n", "\n", " bureau_CREDIT_ACTIVE_Active_count_norm \\\n", "SK_ID_CURR \n", "100001 0.428571 \n", "100002 0.250000 \n", "100003 0.250000 \n", "100004 0.000000 \n", "100005 0.666667 \n", "\n", " bureau_CREDIT_ACTIVE_Bad debt_count \\\n", "SK_ID_CURR \n", "100001 0 \n", "100002 0 \n", "100003 0 \n", "100004 0 \n", "100005 0 \n", "\n", " bureau_CREDIT_ACTIVE_Bad debt_count_norm \\\n", "SK_ID_CURR \n", "100001 0.0 \n", "100002 0.0 \n", "100003 0.0 \n", "100004 0.0 \n", "100005 0.0 \n", "\n", " bureau_CREDIT_ACTIVE_Closed_count \\\n", "SK_ID_CURR \n", "100001 4 \n", "100002 6 \n", "100003 3 \n", "100004 2 \n", "100005 1 \n", "\n", " bureau_CREDIT_ACTIVE_Closed_count_norm \\\n", "SK_ID_CURR \n", "100001 0.571429 \n", "100002 0.750000 \n", "100003 0.750000 \n", "100004 1.000000 \n", "100005 0.333333 \n", "\n", " bureau_CREDIT_ACTIVE_Sold_count \\\n", "SK_ID_CURR \n", "100001 0 \n", "100002 0 \n", "100003 0 \n", "100004 0 \n", "100005 0 \n", "\n", " bureau_CREDIT_ACTIVE_Sold_count_norm \\\n", "SK_ID_CURR \n", "100001 0.0 \n", "100002 0.0 \n", "100003 0.0 \n", "100004 0.0 \n", "100005 0.0 \n", "\n", " bureau_CREDIT_CURRENCY_currency 1_count \\\n", "SK_ID_CURR \n", "100001 7 \n", "100002 8 \n", "100003 4 \n", "100004 2 \n", "100005 3 \n", "\n", " bureau_CREDIT_CURRENCY_currency 1_count_norm ... \\\n", "SK_ID_CURR ... \n", "100001 1.0 ... \n", "100002 1.0 ... \n", "100003 1.0 ... \n", "100004 1.0 ... \n", "100005 1.0 ... \n", "\n", " bureau_CREDIT_TYPE_Microloan_count \\\n", "SK_ID_CURR \n", "100001 0 \n", "100002 0 \n", "100003 0 \n", "100004 0 \n", "100005 0 \n", "\n", " bureau_CREDIT_TYPE_Microloan_count_norm \\\n", "SK_ID_CURR \n", "100001 0.0 \n", "100002 0.0 \n", "100003 0.0 \n", "100004 0.0 \n", "100005 0.0 \n", "\n", " bureau_CREDIT_TYPE_Mobile operator loan_count \\\n", "SK_ID_CURR \n", "100001 0 \n", "100002 0 \n", "100003 0 \n", "100004 0 \n", "100005 0 \n", "\n", " bureau_CREDIT_TYPE_Mobile operator loan_count_norm \\\n", "SK_ID_CURR \n", "100001 0.0 \n", "100002 0.0 \n", "100003 0.0 \n", "100004 0.0 \n", "100005 0.0 \n", "\n", " bureau_CREDIT_TYPE_Mortgage_count \\\n", "SK_ID_CURR \n", "100001 0 \n", "100002 0 \n", "100003 0 \n", "100004 0 \n", "100005 0 \n", "\n", " bureau_CREDIT_TYPE_Mortgage_count_norm \\\n", "SK_ID_CURR \n", "100001 0.0 \n", "100002 0.0 \n", "100003 0.0 \n", "100004 0.0 \n", "100005 0.0 \n", "\n", " bureau_CREDIT_TYPE_Real estate loan_count \\\n", "SK_ID_CURR \n", "100001 0 \n", "100002 0 \n", "100003 0 \n", "100004 0 \n", "100005 0 \n", "\n", " bureau_CREDIT_TYPE_Real estate loan_count_norm \\\n", "SK_ID_CURR \n", "100001 0.0 \n", "100002 0.0 \n", "100003 0.0 \n", "100004 0.0 \n", "100005 0.0 \n", "\n", " bureau_CREDIT_TYPE_Unknown type of loan_count \\\n", "SK_ID_CURR \n", "100001 0 \n", "100002 0 \n", "100003 0 \n", "100004 0 \n", "100005 0 \n", "\n", " bureau_CREDIT_TYPE_Unknown type of loan_count_norm \n", "SK_ID_CURR \n", "100001 0.0 \n", "100002 0.0 \n", "100003 0.0 \n", "100004 0.0 \n", "100005 0.0 \n", "\n", "[5 rows x 46 columns]" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bureau_counts = count_categorical(bureau, group_var = 'SK_ID_CURR', df_name = 'bureau')\n", "bureau_counts.head()" ] }, { "cell_type": "markdown", "id": "9144a104", "metadata": {}, "source": [ "## Applying Operations to another dataframe\n" ] }, { "cell_type": "code", "execution_count": 31, "id": "0f15705d", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SK_ID_BUREAUMONTHS_BALANCESTATUS
057154480C
15715448-1C
25715448-2C
35715448-3C
45715448-4C
\n", "
" ], "text/plain": [ " SK_ID_BUREAU MONTHS_BALANCE STATUS\n", "0 5715448 0 C\n", "1 5715448 -1 C\n", "2 5715448 -2 C\n", "3 5715448 -3 C\n", "4 5715448 -4 C" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bureau_balance = pd.read_csv('./input/bureau_balance.csv')\n", "bureau_balance.head()" ] }, { "cell_type": "code", "execution_count": 32, "id": "7556c5b9", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
bureau_balance_STATUS_0_countbureau_balance_STATUS_0_count_normbureau_balance_STATUS_1_countbureau_balance_STATUS_1_count_normbureau_balance_STATUS_2_countbureau_balance_STATUS_2_count_normbureau_balance_STATUS_3_countbureau_balance_STATUS_3_count_normbureau_balance_STATUS_4_countbureau_balance_STATUS_4_count_normbureau_balance_STATUS_5_countbureau_balance_STATUS_5_count_normbureau_balance_STATUS_C_countbureau_balance_STATUS_C_count_normbureau_balance_STATUS_X_countbureau_balance_STATUS_X_count_norm
SK_ID_BUREAU
500170900.00000000.000.000.000.000.0860.886598110.113402
500171050.06024100.000.000.000.000.0480.578313300.361446
500171130.75000000.000.000.000.000.000.00000010.250000
5001712100.52631600.000.000.000.000.090.47368400.000000
500171300.00000000.000.000.000.000.000.000000221.000000
\n", "
" ], "text/plain": [ " bureau_balance_STATUS_0_count \\\n", "SK_ID_BUREAU \n", "5001709 0 \n", "5001710 5 \n", "5001711 3 \n", "5001712 10 \n", "5001713 0 \n", "\n", " bureau_balance_STATUS_0_count_norm \\\n", "SK_ID_BUREAU \n", "5001709 0.000000 \n", "5001710 0.060241 \n", "5001711 0.750000 \n", "5001712 0.526316 \n", "5001713 0.000000 \n", "\n", " bureau_balance_STATUS_1_count \\\n", "SK_ID_BUREAU \n", "5001709 0 \n", "5001710 0 \n", "5001711 0 \n", "5001712 0 \n", "5001713 0 \n", "\n", " bureau_balance_STATUS_1_count_norm \\\n", "SK_ID_BUREAU \n", "5001709 0.0 \n", "5001710 0.0 \n", "5001711 0.0 \n", "5001712 0.0 \n", "5001713 0.0 \n", "\n", " bureau_balance_STATUS_2_count \\\n", "SK_ID_BUREAU \n", "5001709 0 \n", "5001710 0 \n", "5001711 0 \n", "5001712 0 \n", "5001713 0 \n", "\n", " bureau_balance_STATUS_2_count_norm \\\n", "SK_ID_BUREAU \n", "5001709 0.0 \n", "5001710 0.0 \n", "5001711 0.0 \n", "5001712 0.0 \n", "5001713 0.0 \n", "\n", " bureau_balance_STATUS_3_count \\\n", "SK_ID_BUREAU \n", "5001709 0 \n", "5001710 0 \n", "5001711 0 \n", "5001712 0 \n", "5001713 0 \n", "\n", " bureau_balance_STATUS_3_count_norm \\\n", "SK_ID_BUREAU \n", "5001709 0.0 \n", "5001710 0.0 \n", "5001711 0.0 \n", "5001712 0.0 \n", "5001713 0.0 \n", "\n", " bureau_balance_STATUS_4_count \\\n", "SK_ID_BUREAU \n", "5001709 0 \n", "5001710 0 \n", "5001711 0 \n", "5001712 0 \n", "5001713 0 \n", "\n", " bureau_balance_STATUS_4_count_norm \\\n", "SK_ID_BUREAU \n", "5001709 0.0 \n", "5001710 0.0 \n", "5001711 0.0 \n", "5001712 0.0 \n", "5001713 0.0 \n", "\n", " bureau_balance_STATUS_5_count \\\n", "SK_ID_BUREAU \n", "5001709 0 \n", "5001710 0 \n", "5001711 0 \n", "5001712 0 \n", "5001713 0 \n", "\n", " bureau_balance_STATUS_5_count_norm \\\n", "SK_ID_BUREAU \n", "5001709 0.0 \n", "5001710 0.0 \n", "5001711 0.0 \n", "5001712 0.0 \n", "5001713 0.0 \n", "\n", " bureau_balance_STATUS_C_count \\\n", "SK_ID_BUREAU \n", "5001709 86 \n", "5001710 48 \n", "5001711 0 \n", "5001712 9 \n", "5001713 0 \n", "\n", " bureau_balance_STATUS_C_count_norm \\\n", "SK_ID_BUREAU \n", "5001709 0.886598 \n", "5001710 0.578313 \n", "5001711 0.000000 \n", "5001712 0.473684 \n", "5001713 0.000000 \n", "\n", " bureau_balance_STATUS_X_count \\\n", "SK_ID_BUREAU \n", "5001709 11 \n", "5001710 30 \n", "5001711 1 \n", "5001712 0 \n", "5001713 22 \n", "\n", " bureau_balance_STATUS_X_count_norm \n", "SK_ID_BUREAU \n", "5001709 0.113402 \n", "5001710 0.361446 \n", "5001711 0.250000 \n", "5001712 0.000000 \n", "5001713 1.000000 " ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Counts of each type of status for each previous loan\n", "bureau_balance_counts = count_categorical(bureau_balance, group_var = 'SK_ID_BUREAU', df_name = 'bureau_balance')\n", "bureau_balance_counts.head()" ] }, { "cell_type": "markdown", "id": "ade196e0", "metadata": {}, "source": [ "이제 하나의 숫자 열을 처리할 수 있습니다. MONSTS_BALANCE 열에는 \"적용일을 기준으로 한 균형 월\"이 있습니다. 이 값이 숫자 변수만큼 반드시 중요한 것은 아닐 수 있으며, 향후 작업에서는 시간 변수로 고려할 수 있습니다. 지금은 이전과 동일한 집계 통계만 계산하면 됩니다.\n" ] }, { "cell_type": "code", "execution_count": 33, "id": "88b09dba", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SK_ID_BUREAUbureau_balance_MONTHS_BALANCE_countbureau_balance_MONTHS_BALANCE_meanbureau_balance_MONTHS_BALANCE_maxbureau_balance_MONTHS_BALANCE_minbureau_balance_MONTHS_BALANCE_sum
0500170997-48.00-96-4656
1500171083-41.00-82-3403
250017114-1.50-3-6
3500171219-9.00-18-171
4500171322-10.50-21-231
\n", "
" ], "text/plain": [ " SK_ID_BUREAU bureau_balance_MONTHS_BALANCE_count \\\n", "0 5001709 97 \n", "1 5001710 83 \n", "2 5001711 4 \n", "3 5001712 19 \n", "4 5001713 22 \n", "\n", " bureau_balance_MONTHS_BALANCE_mean bureau_balance_MONTHS_BALANCE_max \\\n", "0 -48.0 0 \n", "1 -41.0 0 \n", "2 -1.5 0 \n", "3 -9.0 0 \n", "4 -10.5 0 \n", "\n", " bureau_balance_MONTHS_BALANCE_min bureau_balance_MONTHS_BALANCE_sum \n", "0 -96 -4656 \n", "1 -82 -3403 \n", "2 -3 -6 \n", "3 -18 -171 \n", "4 -21 -231 " ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Calculate value count statistics for each `SK_ID_CURR` \n", "bureau_balance_agg = agg_numeric(bureau_balance, group_var = 'SK_ID_BUREAU', df_name = 'bureau_balance')\n", "bureau_balance_agg.head()" ] }, { "cell_type": "code", "execution_count": 34, "id": "75eaee43", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SK_ID_BUREAUbureau_balance_MONTHS_BALANCE_countbureau_balance_MONTHS_BALANCE_meanbureau_balance_MONTHS_BALANCE_maxbureau_balance_MONTHS_BALANCE_minbureau_balance_MONTHS_BALANCE_sumbureau_balance_STATUS_0_countbureau_balance_STATUS_0_count_normbureau_balance_STATUS_1_countbureau_balance_STATUS_1_count_norm...bureau_balance_STATUS_3_count_normbureau_balance_STATUS_4_countbureau_balance_STATUS_4_count_normbureau_balance_STATUS_5_countbureau_balance_STATUS_5_count_normbureau_balance_STATUS_C_countbureau_balance_STATUS_C_count_normbureau_balance_STATUS_X_countbureau_balance_STATUS_X_count_normSK_ID_CURR
0500170997-48.00-96-465600.00000000.0...0.000.000.0860.886598110.113402NaN
1500171083-41.00-82-340350.06024100.0...0.000.000.0480.578313300.361446162368.0
250017114-1.50-3-630.75000000.0...0.000.000.000.00000010.250000162368.0
3500171219-9.00-18-171100.52631600.0...0.000.000.090.47368400.000000162368.0
4500171322-10.50-21-23100.00000000.0...0.000.000.000.000000221.000000150635.0
\n", "

5 rows × 23 columns

\n", "
" ], "text/plain": [ " SK_ID_BUREAU bureau_balance_MONTHS_BALANCE_count \\\n", "0 5001709 97 \n", "1 5001710 83 \n", "2 5001711 4 \n", "3 5001712 19 \n", "4 5001713 22 \n", "\n", " bureau_balance_MONTHS_BALANCE_mean bureau_balance_MONTHS_BALANCE_max \\\n", "0 -48.0 0 \n", "1 -41.0 0 \n", "2 -1.5 0 \n", "3 -9.0 0 \n", "4 -10.5 0 \n", "\n", " bureau_balance_MONTHS_BALANCE_min bureau_balance_MONTHS_BALANCE_sum \\\n", "0 -96 -4656 \n", "1 -82 -3403 \n", "2 -3 -6 \n", "3 -18 -171 \n", "4 -21 -231 \n", "\n", " bureau_balance_STATUS_0_count bureau_balance_STATUS_0_count_norm \\\n", "0 0 0.000000 \n", "1 5 0.060241 \n", "2 3 0.750000 \n", "3 10 0.526316 \n", "4 0 0.000000 \n", "\n", " bureau_balance_STATUS_1_count bureau_balance_STATUS_1_count_norm ... \\\n", "0 0 0.0 ... \n", "1 0 0.0 ... \n", "2 0 0.0 ... \n", "3 0 0.0 ... \n", "4 0 0.0 ... \n", "\n", " bureau_balance_STATUS_3_count_norm bureau_balance_STATUS_4_count \\\n", "0 0.0 0 \n", "1 0.0 0 \n", "2 0.0 0 \n", "3 0.0 0 \n", "4 0.0 0 \n", "\n", " bureau_balance_STATUS_4_count_norm bureau_balance_STATUS_5_count \\\n", "0 0.0 0 \n", "1 0.0 0 \n", "2 0.0 0 \n", "3 0.0 0 \n", "4 0.0 0 \n", "\n", " bureau_balance_STATUS_5_count_norm bureau_balance_STATUS_C_count \\\n", "0 0.0 86 \n", "1 0.0 48 \n", "2 0.0 0 \n", "3 0.0 9 \n", "4 0.0 0 \n", "\n", " bureau_balance_STATUS_C_count_norm bureau_balance_STATUS_X_count \\\n", "0 0.886598 11 \n", "1 0.578313 30 \n", "2 0.000000 1 \n", "3 0.473684 0 \n", "4 0.000000 22 \n", "\n", " bureau_balance_STATUS_X_count_norm SK_ID_CURR \n", "0 0.113402 NaN \n", "1 0.361446 162368.0 \n", "2 0.250000 162368.0 \n", "3 0.000000 162368.0 \n", "4 1.000000 150635.0 \n", "\n", "[5 rows x 23 columns]" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Dataframe grouped by the loan\n", "bureau_by_loan = bureau_balance_agg.merge(bureau_balance_counts, right_index = True, left_on = 'SK_ID_BUREAU', how = 'outer')\n", "\n", "# Merge to include the SK_ID_CURR\n", "bureau_by_loan = bureau_by_loan.merge(bureau[['SK_ID_BUREAU', 'SK_ID_CURR']], on = 'SK_ID_BUREAU', how = 'left')\n", "\n", "bureau_by_loan.head()" ] }, { "cell_type": "code", "execution_count": 35, "id": "4310c3b3", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SK_ID_CURRclient_bureau_balance_MONTHS_BALANCE_count_countclient_bureau_balance_MONTHS_BALANCE_count_meanclient_bureau_balance_MONTHS_BALANCE_count_maxclient_bureau_balance_MONTHS_BALANCE_count_minclient_bureau_balance_MONTHS_BALANCE_count_sumclient_bureau_balance_MONTHS_BALANCE_mean_countclient_bureau_balance_MONTHS_BALANCE_mean_meanclient_bureau_balance_MONTHS_BALANCE_mean_maxclient_bureau_balance_MONTHS_BALANCE_mean_min...client_bureau_balance_STATUS_X_count_countclient_bureau_balance_STATUS_X_count_meanclient_bureau_balance_STATUS_X_count_maxclient_bureau_balance_STATUS_X_count_minclient_bureau_balance_STATUS_X_count_sumclient_bureau_balance_STATUS_X_count_norm_countclient_bureau_balance_STATUS_X_count_norm_meanclient_bureau_balance_STATUS_X_count_norm_maxclient_bureau_balance_STATUS_X_count_norm_minclient_bureau_balance_STATUS_X_count_norm_sum
0100001.0724.5714295221727-11.785714-0.5-25.5...74.2857149030.070.2145900.5000000.01.502129
1100002.0813.7500002241108-21.875000-1.5-39.5...81.8750003015.080.1619320.5000000.01.295455
2100005.037.000000133213-3.000000-1.0-6.0...30.666667102.030.1367520.3333330.00.410256
3100010.0236.0000003636722-46.000000-19.5-72.5...20.000000000.020.0000000.0000000.00.000000
4100013.0457.50000069402304-28.250000-19.5-34.0...410.25000040041.040.2545451.0000000.01.018182
\n", "

5 rows × 106 columns

\n", "
" ], "text/plain": [ " SK_ID_CURR client_bureau_balance_MONTHS_BALANCE_count_count \\\n", "0 100001.0 7 \n", "1 100002.0 8 \n", "2 100005.0 3 \n", "3 100010.0 2 \n", "4 100013.0 4 \n", "\n", " client_bureau_balance_MONTHS_BALANCE_count_mean \\\n", "0 24.571429 \n", "1 13.750000 \n", "2 7.000000 \n", "3 36.000000 \n", "4 57.500000 \n", "\n", " client_bureau_balance_MONTHS_BALANCE_count_max \\\n", "0 52 \n", "1 22 \n", "2 13 \n", "3 36 \n", "4 69 \n", "\n", " client_bureau_balance_MONTHS_BALANCE_count_min \\\n", "0 2 \n", "1 4 \n", "2 3 \n", "3 36 \n", "4 40 \n", "\n", " client_bureau_balance_MONTHS_BALANCE_count_sum \\\n", "0 172 \n", "1 110 \n", "2 21 \n", "3 72 \n", "4 230 \n", "\n", " client_bureau_balance_MONTHS_BALANCE_mean_count \\\n", "0 7 \n", "1 8 \n", "2 3 \n", "3 2 \n", "4 4 \n", "\n", " client_bureau_balance_MONTHS_BALANCE_mean_mean \\\n", "0 -11.785714 \n", "1 -21.875000 \n", "2 -3.000000 \n", "3 -46.000000 \n", "4 -28.250000 \n", "\n", " client_bureau_balance_MONTHS_BALANCE_mean_max \\\n", "0 -0.5 \n", "1 -1.5 \n", "2 -1.0 \n", "3 -19.5 \n", "4 -19.5 \n", "\n", " client_bureau_balance_MONTHS_BALANCE_mean_min ... \\\n", "0 -25.5 ... \n", "1 -39.5 ... \n", "2 -6.0 ... \n", "3 -72.5 ... \n", "4 -34.0 ... \n", "\n", " client_bureau_balance_STATUS_X_count_count \\\n", "0 7 \n", "1 8 \n", "2 3 \n", "3 2 \n", "4 4 \n", "\n", " client_bureau_balance_STATUS_X_count_mean \\\n", "0 4.285714 \n", "1 1.875000 \n", "2 0.666667 \n", "3 0.000000 \n", "4 10.250000 \n", "\n", " client_bureau_balance_STATUS_X_count_max \\\n", "0 9 \n", "1 3 \n", "2 1 \n", "3 0 \n", "4 40 \n", "\n", " client_bureau_balance_STATUS_X_count_min \\\n", "0 0 \n", "1 0 \n", "2 0 \n", "3 0 \n", "4 0 \n", "\n", " client_bureau_balance_STATUS_X_count_sum \\\n", "0 30.0 \n", "1 15.0 \n", "2 2.0 \n", "3 0.0 \n", "4 41.0 \n", "\n", " client_bureau_balance_STATUS_X_count_norm_count \\\n", "0 7 \n", "1 8 \n", "2 3 \n", "3 2 \n", "4 4 \n", "\n", " client_bureau_balance_STATUS_X_count_norm_mean \\\n", "0 0.214590 \n", "1 0.161932 \n", "2 0.136752 \n", "3 0.000000 \n", "4 0.254545 \n", "\n", " client_bureau_balance_STATUS_X_count_norm_max \\\n", "0 0.500000 \n", "1 0.500000 \n", "2 0.333333 \n", "3 0.000000 \n", "4 1.000000 \n", "\n", " client_bureau_balance_STATUS_X_count_norm_min \\\n", "0 0.0 \n", "1 0.0 \n", "2 0.0 \n", "3 0.0 \n", "4 0.0 \n", "\n", " client_bureau_balance_STATUS_X_count_norm_sum \n", "0 1.502129 \n", "1 1.295455 \n", "2 0.410256 \n", "3 0.000000 \n", "4 1.018182 \n", "\n", "[5 rows x 106 columns]" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bureau_balance_by_client = agg_numeric(bureau_by_loan.drop(columns = ['SK_ID_BUREAU']), group_var = 'SK_ID_CURR', df_name = 'client')\n", "bureau_balance_by_client.head()" ] }, { "cell_type": "markdown", "id": "4b4b3c7c", "metadata": {}, "source": [ "# Putting the Functions Together\n" ] }, { "cell_type": "code", "execution_count": 36, "id": "8085bb12", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "7409" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Free up memory by deleting old objects\n", "import gc\n", "gc.enable()\n", "del train, bureau, bureau_balance, bureau_agg, bureau_agg_new, bureau_balance_agg, bureau_balance_counts, bureau_by_loan, bureau_balance_by_client, bureau_counts\n", "gc.collect()" ] }, { "cell_type": "code", "execution_count": 37, "id": "8e8633cc", "metadata": {}, "outputs": [], "source": [ "# Read in new copies of all the dataframes\n", "train = pd.read_csv('./input/application_train.csv') # (307511, 122), (307511, 106), (307511, 16)\n", "bureau = pd.read_csv('./input/bureau.csv') # (1716428, 17), (1716428, 14), (1716428, 3)\n", "bureau_balance = pd.read_csv('./input/bureau_balance.csv') # (27299925, 3), (27299925, 2), (27299925, 1)" ] }, { "cell_type": "code", "execution_count": 38, "id": "7ac11416", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SK_ID_CURRSK_ID_BUREAUCREDIT_ACTIVECREDIT_CURRENCYDAYS_CREDITCREDIT_DAY_OVERDUEDAYS_CREDIT_ENDDATEDAYS_ENDDATE_FACTAMT_CREDIT_MAX_OVERDUECNT_CREDIT_PROLONGAMT_CREDIT_SUMAMT_CREDIT_SUM_DEBTAMT_CREDIT_SUM_LIMITAMT_CREDIT_SUM_OVERDUECREDIT_TYPEDAYS_CREDIT_UPDATEAMT_ANNUITY
17164232593555057750Activecurrency 1-440-30.0NaN0.0011250.0011250.00.00.0Microloan-19NaN
17164241000445057754Closedcurrency 1-26480-2433.0-2493.05476.5038130.840.00.00.0Consumer credit-2493NaN
17164251000445057762Closedcurrency 1-18090-1628.0-970.0NaN015570.00NaNNaN0.0Consumer credit-967NaN
17164262468295057770Closedcurrency 1-18780-1513.0-1513.0NaN036000.000.00.00.0Consumer credit-1508NaN
17164272468295057778Closedcurrency 1-4630NaN-387.0NaN022500.000.0NaN0.0Microloan-387NaN
\n", "
" ], "text/plain": [ " SK_ID_CURR SK_ID_BUREAU CREDIT_ACTIVE CREDIT_CURRENCY DAYS_CREDIT \\\n", "1716423 259355 5057750 Active currency 1 -44 \n", "1716424 100044 5057754 Closed currency 1 -2648 \n", "1716425 100044 5057762 Closed currency 1 -1809 \n", "1716426 246829 5057770 Closed currency 1 -1878 \n", "1716427 246829 5057778 Closed currency 1 -463 \n", "\n", " CREDIT_DAY_OVERDUE DAYS_CREDIT_ENDDATE DAYS_ENDDATE_FACT \\\n", "1716423 0 -30.0 NaN \n", "1716424 0 -2433.0 -2493.0 \n", "1716425 0 -1628.0 -970.0 \n", "1716426 0 -1513.0 -1513.0 \n", "1716427 0 NaN -387.0 \n", "\n", " AMT_CREDIT_MAX_OVERDUE CNT_CREDIT_PROLONG AMT_CREDIT_SUM \\\n", "1716423 0.0 0 11250.00 \n", "1716424 5476.5 0 38130.84 \n", "1716425 NaN 0 15570.00 \n", "1716426 NaN 0 36000.00 \n", "1716427 NaN 0 22500.00 \n", "\n", " AMT_CREDIT_SUM_DEBT AMT_CREDIT_SUM_LIMIT AMT_CREDIT_SUM_OVERDUE \\\n", "1716423 11250.0 0.0 0.0 \n", "1716424 0.0 0.0 0.0 \n", "1716425 NaN NaN 0.0 \n", "1716426 0.0 0.0 0.0 \n", "1716427 0.0 NaN 0.0 \n", "\n", " CREDIT_TYPE DAYS_CREDIT_UPDATE AMT_ANNUITY \n", "1716423 Microloan -19 NaN \n", "1716424 Consumer credit -2493 NaN \n", "1716425 Consumer credit -967 NaN \n", "1716426 Consumer credit -1508 NaN \n", "1716427 Microloan -387 NaN " ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bureau.tail()" ] }, { "cell_type": "markdown", "id": "71a05e52", "metadata": {}, "source": [ "### Counts of Bureau Dataframe(Bureau:숫자형)\n" ] }, { "cell_type": "code", "execution_count": 39, "id": "abc3b75b", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
bureau_CREDIT_ACTIVE_Active_countbureau_CREDIT_ACTIVE_Active_count_normbureau_CREDIT_ACTIVE_Bad debt_countbureau_CREDIT_ACTIVE_Bad debt_count_normbureau_CREDIT_ACTIVE_Closed_countbureau_CREDIT_ACTIVE_Closed_count_normbureau_CREDIT_ACTIVE_Sold_countbureau_CREDIT_ACTIVE_Sold_count_normbureau_CREDIT_CURRENCY_currency 1_countbureau_CREDIT_CURRENCY_currency 1_count_norm...bureau_CREDIT_TYPE_Microloan_countbureau_CREDIT_TYPE_Microloan_count_normbureau_CREDIT_TYPE_Mobile operator loan_countbureau_CREDIT_TYPE_Mobile operator loan_count_normbureau_CREDIT_TYPE_Mortgage_countbureau_CREDIT_TYPE_Mortgage_count_normbureau_CREDIT_TYPE_Real estate loan_countbureau_CREDIT_TYPE_Real estate loan_count_normbureau_CREDIT_TYPE_Unknown type of loan_countbureau_CREDIT_TYPE_Unknown type of loan_count_norm
SK_ID_CURR
10000130.42857100.040.57142900.071.0...00.000.000.000.000.0
10000220.25000000.060.75000000.081.0...00.000.000.000.000.0
10000310.25000000.030.75000000.041.0...00.000.000.000.000.0
10000400.00000000.021.00000000.021.0...00.000.000.000.000.0
10000520.66666700.010.33333300.031.0...00.000.000.000.000.0
\n", "

5 rows × 46 columns

\n", "
" ], "text/plain": [ " bureau_CREDIT_ACTIVE_Active_count \\\n", "SK_ID_CURR \n", "100001 3 \n", "100002 2 \n", "100003 1 \n", "100004 0 \n", "100005 2 \n", "\n", " bureau_CREDIT_ACTIVE_Active_count_norm \\\n", "SK_ID_CURR \n", "100001 0.428571 \n", "100002 0.250000 \n", "100003 0.250000 \n", "100004 0.000000 \n", "100005 0.666667 \n", "\n", " bureau_CREDIT_ACTIVE_Bad debt_count \\\n", "SK_ID_CURR \n", "100001 0 \n", "100002 0 \n", "100003 0 \n", "100004 0 \n", "100005 0 \n", "\n", " bureau_CREDIT_ACTIVE_Bad debt_count_norm \\\n", "SK_ID_CURR \n", "100001 0.0 \n", "100002 0.0 \n", "100003 0.0 \n", "100004 0.0 \n", "100005 0.0 \n", "\n", " bureau_CREDIT_ACTIVE_Closed_count \\\n", "SK_ID_CURR \n", "100001 4 \n", "100002 6 \n", "100003 3 \n", "100004 2 \n", "100005 1 \n", "\n", " bureau_CREDIT_ACTIVE_Closed_count_norm \\\n", "SK_ID_CURR \n", "100001 0.571429 \n", "100002 0.750000 \n", "100003 0.750000 \n", "100004 1.000000 \n", "100005 0.333333 \n", "\n", " bureau_CREDIT_ACTIVE_Sold_count \\\n", "SK_ID_CURR \n", "100001 0 \n", "100002 0 \n", "100003 0 \n", "100004 0 \n", "100005 0 \n", "\n", " bureau_CREDIT_ACTIVE_Sold_count_norm \\\n", "SK_ID_CURR \n", "100001 0.0 \n", "100002 0.0 \n", "100003 0.0 \n", "100004 0.0 \n", "100005 0.0 \n", "\n", " bureau_CREDIT_CURRENCY_currency 1_count \\\n", "SK_ID_CURR \n", "100001 7 \n", "100002 8 \n", "100003 4 \n", "100004 2 \n", "100005 3 \n", "\n", " bureau_CREDIT_CURRENCY_currency 1_count_norm ... \\\n", "SK_ID_CURR ... \n", "100001 1.0 ... \n", "100002 1.0 ... \n", "100003 1.0 ... \n", "100004 1.0 ... \n", "100005 1.0 ... \n", "\n", " bureau_CREDIT_TYPE_Microloan_count \\\n", "SK_ID_CURR \n", "100001 0 \n", "100002 0 \n", "100003 0 \n", "100004 0 \n", "100005 0 \n", "\n", " bureau_CREDIT_TYPE_Microloan_count_norm \\\n", "SK_ID_CURR \n", "100001 0.0 \n", "100002 0.0 \n", "100003 0.0 \n", "100004 0.0 \n", "100005 0.0 \n", "\n", " bureau_CREDIT_TYPE_Mobile operator loan_count \\\n", "SK_ID_CURR \n", "100001 0 \n", "100002 0 \n", "100003 0 \n", "100004 0 \n", "100005 0 \n", "\n", " bureau_CREDIT_TYPE_Mobile operator loan_count_norm \\\n", "SK_ID_CURR \n", "100001 0.0 \n", "100002 0.0 \n", "100003 0.0 \n", "100004 0.0 \n", "100005 0.0 \n", "\n", " bureau_CREDIT_TYPE_Mortgage_count \\\n", "SK_ID_CURR \n", "100001 0 \n", "100002 0 \n", "100003 0 \n", "100004 0 \n", "100005 0 \n", "\n", " bureau_CREDIT_TYPE_Mortgage_count_norm \\\n", "SK_ID_CURR \n", "100001 0.0 \n", "100002 0.0 \n", "100003 0.0 \n", "100004 0.0 \n", "100005 0.0 \n", "\n", " bureau_CREDIT_TYPE_Real estate loan_count \\\n", "SK_ID_CURR \n", "100001 0 \n", "100002 0 \n", "100003 0 \n", "100004 0 \n", "100005 0 \n", "\n", " bureau_CREDIT_TYPE_Real estate loan_count_norm \\\n", "SK_ID_CURR \n", "100001 0.0 \n", "100002 0.0 \n", "100003 0.0 \n", "100004 0.0 \n", "100005 0.0 \n", "\n", " bureau_CREDIT_TYPE_Unknown type of loan_count \\\n", "SK_ID_CURR \n", "100001 0 \n", "100002 0 \n", "100003 0 \n", "100004 0 \n", "100005 0 \n", "\n", " bureau_CREDIT_TYPE_Unknown type of loan_count_norm \n", "SK_ID_CURR \n", "100001 0.0 \n", "100002 0.0 \n", "100003 0.0 \n", "100004 0.0 \n", "100005 0.0 \n", "\n", "[5 rows x 46 columns]" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bureau_counts = count_categorical(bureau, group_var = 'SK_ID_CURR', df_name = 'bureau')\n", "bureau_counts.head()" ] }, { "cell_type": "markdown", "id": "44d565fb", "metadata": {}, "source": [ "### Aggregated Stats of Bureau Dataframe(Bureau:카테고리형)\n" ] }, { "cell_type": "code", "execution_count": 40, "id": "b61d4a88", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SK_ID_CURRbureau_DAYS_CREDIT_countbureau_DAYS_CREDIT_meanbureau_DAYS_CREDIT_maxbureau_DAYS_CREDIT_minbureau_DAYS_CREDIT_sumbureau_CREDIT_DAY_OVERDUE_countbureau_CREDIT_DAY_OVERDUE_meanbureau_CREDIT_DAY_OVERDUE_maxbureau_CREDIT_DAY_OVERDUE_min...bureau_DAYS_CREDIT_UPDATE_countbureau_DAYS_CREDIT_UPDATE_meanbureau_DAYS_CREDIT_UPDATE_maxbureau_DAYS_CREDIT_UPDATE_minbureau_DAYS_CREDIT_UPDATE_sumbureau_AMT_ANNUITY_countbureau_AMT_ANNUITY_meanbureau_AMT_ANNUITY_maxbureau_AMT_ANNUITY_minbureau_AMT_ANNUITY_sum
01000017-735.000000-49-1572-514570.000...7-93.142857-6-155-65273545.35714310822.50.024817.5
11000028-874.000000-103-1437-699280.000...8-499.875000-7-1185-399970.0000000.00.00.0
21000034-1400.750000-606-2586-560340.000...4-816.000000-43-2131-32640NaNNaNNaN0.0
31000042-867.000000-408-1326-173420.000...2-532.000000-382-682-10640NaNNaNNaN0.0
41000053-190.666667-62-373-57230.000...3-54.333333-11-121-16331420.5000004261.50.04261.5
\n", "

5 rows × 61 columns

\n", "
" ], "text/plain": [ " SK_ID_CURR bureau_DAYS_CREDIT_count bureau_DAYS_CREDIT_mean \\\n", "0 100001 7 -735.000000 \n", "1 100002 8 -874.000000 \n", "2 100003 4 -1400.750000 \n", "3 100004 2 -867.000000 \n", "4 100005 3 -190.666667 \n", "\n", " bureau_DAYS_CREDIT_max bureau_DAYS_CREDIT_min bureau_DAYS_CREDIT_sum \\\n", "0 -49 -1572 -5145 \n", "1 -103 -1437 -6992 \n", "2 -606 -2586 -5603 \n", "3 -408 -1326 -1734 \n", "4 -62 -373 -572 \n", "\n", " bureau_CREDIT_DAY_OVERDUE_count bureau_CREDIT_DAY_OVERDUE_mean \\\n", "0 7 0.0 \n", "1 8 0.0 \n", "2 4 0.0 \n", "3 2 0.0 \n", "4 3 0.0 \n", "\n", " bureau_CREDIT_DAY_OVERDUE_max bureau_CREDIT_DAY_OVERDUE_min ... \\\n", "0 0 0 ... \n", "1 0 0 ... \n", "2 0 0 ... \n", "3 0 0 ... \n", "4 0 0 ... \n", "\n", " bureau_DAYS_CREDIT_UPDATE_count bureau_DAYS_CREDIT_UPDATE_mean \\\n", "0 7 -93.142857 \n", "1 8 -499.875000 \n", "2 4 -816.000000 \n", "3 2 -532.000000 \n", "4 3 -54.333333 \n", "\n", " bureau_DAYS_CREDIT_UPDATE_max bureau_DAYS_CREDIT_UPDATE_min \\\n", "0 -6 -155 \n", "1 -7 -1185 \n", "2 -43 -2131 \n", "3 -382 -682 \n", "4 -11 -121 \n", "\n", " bureau_DAYS_CREDIT_UPDATE_sum bureau_AMT_ANNUITY_count \\\n", "0 -652 7 \n", "1 -3999 7 \n", "2 -3264 0 \n", "3 -1064 0 \n", "4 -163 3 \n", "\n", " bureau_AMT_ANNUITY_mean bureau_AMT_ANNUITY_max bureau_AMT_ANNUITY_min \\\n", "0 3545.357143 10822.5 0.0 \n", "1 0.000000 0.0 0.0 \n", "2 NaN NaN NaN \n", "3 NaN NaN NaN \n", "4 1420.500000 4261.5 0.0 \n", "\n", " bureau_AMT_ANNUITY_sum \n", "0 24817.5 \n", "1 0.0 \n", "2 0.0 \n", "3 0.0 \n", "4 4261.5 \n", "\n", "[5 rows x 61 columns]" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bureau_agg = agg_numeric(bureau.drop(columns = ['SK_ID_BUREAU']), group_var = 'SK_ID_CURR', df_name = 'bureau')\n", "bureau_agg.head()" ] }, { "cell_type": "markdown", "id": "ef13358d", "metadata": {}, "source": [ "### Value counts of Bureau Balance dataframe by loan(Bureau Balance:숫자형)\n" ] }, { "cell_type": "code", "execution_count": 41, "id": "4cd87fc7", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
bureau_balance_STATUS_0_countbureau_balance_STATUS_0_count_normbureau_balance_STATUS_1_countbureau_balance_STATUS_1_count_normbureau_balance_STATUS_2_countbureau_balance_STATUS_2_count_normbureau_balance_STATUS_3_countbureau_balance_STATUS_3_count_normbureau_balance_STATUS_4_countbureau_balance_STATUS_4_count_normbureau_balance_STATUS_5_countbureau_balance_STATUS_5_count_normbureau_balance_STATUS_C_countbureau_balance_STATUS_C_count_normbureau_balance_STATUS_X_countbureau_balance_STATUS_X_count_norm
SK_ID_BUREAU
500170900.00000000.000.000.000.000.0860.886598110.113402
500171050.06024100.000.000.000.000.0480.578313300.361446
500171130.75000000.000.000.000.000.000.00000010.250000
5001712100.52631600.000.000.000.000.090.47368400.000000
500171300.00000000.000.000.000.000.000.000000221.000000
\n", "
" ], "text/plain": [ " bureau_balance_STATUS_0_count \\\n", "SK_ID_BUREAU \n", "5001709 0 \n", "5001710 5 \n", "5001711 3 \n", "5001712 10 \n", "5001713 0 \n", "\n", " bureau_balance_STATUS_0_count_norm \\\n", "SK_ID_BUREAU \n", "5001709 0.000000 \n", "5001710 0.060241 \n", "5001711 0.750000 \n", "5001712 0.526316 \n", "5001713 0.000000 \n", "\n", " bureau_balance_STATUS_1_count \\\n", "SK_ID_BUREAU \n", "5001709 0 \n", "5001710 0 \n", "5001711 0 \n", "5001712 0 \n", "5001713 0 \n", "\n", " bureau_balance_STATUS_1_count_norm \\\n", "SK_ID_BUREAU \n", "5001709 0.0 \n", "5001710 0.0 \n", "5001711 0.0 \n", "5001712 0.0 \n", "5001713 0.0 \n", "\n", " bureau_balance_STATUS_2_count \\\n", "SK_ID_BUREAU \n", "5001709 0 \n", "5001710 0 \n", "5001711 0 \n", "5001712 0 \n", "5001713 0 \n", "\n", " bureau_balance_STATUS_2_count_norm \\\n", "SK_ID_BUREAU \n", "5001709 0.0 \n", "5001710 0.0 \n", "5001711 0.0 \n", "5001712 0.0 \n", "5001713 0.0 \n", "\n", " bureau_balance_STATUS_3_count \\\n", "SK_ID_BUREAU \n", "5001709 0 \n", "5001710 0 \n", "5001711 0 \n", "5001712 0 \n", "5001713 0 \n", "\n", " bureau_balance_STATUS_3_count_norm \\\n", "SK_ID_BUREAU \n", "5001709 0.0 \n", "5001710 0.0 \n", "5001711 0.0 \n", "5001712 0.0 \n", "5001713 0.0 \n", "\n", " bureau_balance_STATUS_4_count \\\n", "SK_ID_BUREAU \n", "5001709 0 \n", "5001710 0 \n", "5001711 0 \n", "5001712 0 \n", "5001713 0 \n", "\n", " bureau_balance_STATUS_4_count_norm \\\n", "SK_ID_BUREAU \n", "5001709 0.0 \n", "5001710 0.0 \n", "5001711 0.0 \n", "5001712 0.0 \n", "5001713 0.0 \n", "\n", " bureau_balance_STATUS_5_count \\\n", "SK_ID_BUREAU \n", "5001709 0 \n", "5001710 0 \n", "5001711 0 \n", "5001712 0 \n", "5001713 0 \n", "\n", " bureau_balance_STATUS_5_count_norm \\\n", "SK_ID_BUREAU \n", "5001709 0.0 \n", "5001710 0.0 \n", "5001711 0.0 \n", "5001712 0.0 \n", "5001713 0.0 \n", "\n", " bureau_balance_STATUS_C_count \\\n", "SK_ID_BUREAU \n", "5001709 86 \n", "5001710 48 \n", "5001711 0 \n", "5001712 9 \n", "5001713 0 \n", "\n", " bureau_balance_STATUS_C_count_norm \\\n", "SK_ID_BUREAU \n", "5001709 0.886598 \n", "5001710 0.578313 \n", "5001711 0.000000 \n", "5001712 0.473684 \n", "5001713 0.000000 \n", "\n", " bureau_balance_STATUS_X_count \\\n", "SK_ID_BUREAU \n", "5001709 11 \n", "5001710 30 \n", "5001711 1 \n", "5001712 0 \n", "5001713 22 \n", "\n", " bureau_balance_STATUS_X_count_norm \n", "SK_ID_BUREAU \n", "5001709 0.113402 \n", "5001710 0.361446 \n", "5001711 0.250000 \n", "5001712 0.000000 \n", "5001713 1.000000 " ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bureau_balance_counts = count_categorical(bureau_balance, group_var = 'SK_ID_BUREAU', df_name = 'bureau_balance')\n", "bureau_balance_counts.head()" ] }, { "cell_type": "markdown", "id": "0a4ea5ab", "metadata": {}, "source": [ "### Aggregated stats of Bureau Balance dataframe by loan(Bureau Balance:카테고리형)\n" ] }, { "cell_type": "code", "execution_count": 42, "id": "85d1ec7c", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SK_ID_BUREAUbureau_balance_MONTHS_BALANCE_countbureau_balance_MONTHS_BALANCE_meanbureau_balance_MONTHS_BALANCE_maxbureau_balance_MONTHS_BALANCE_minbureau_balance_MONTHS_BALANCE_sum
0500170997-48.00-96-4656
1500171083-41.00-82-3403
250017114-1.50-3-6
3500171219-9.00-18-171
4500171322-10.50-21-231
\n", "
" ], "text/plain": [ " SK_ID_BUREAU bureau_balance_MONTHS_BALANCE_count \\\n", "0 5001709 97 \n", "1 5001710 83 \n", "2 5001711 4 \n", "3 5001712 19 \n", "4 5001713 22 \n", "\n", " bureau_balance_MONTHS_BALANCE_mean bureau_balance_MONTHS_BALANCE_max \\\n", "0 -48.0 0 \n", "1 -41.0 0 \n", "2 -1.5 0 \n", "3 -9.0 0 \n", "4 -10.5 0 \n", "\n", " bureau_balance_MONTHS_BALANCE_min bureau_balance_MONTHS_BALANCE_sum \n", "0 -96 -4656 \n", "1 -82 -3403 \n", "2 -3 -6 \n", "3 -18 -171 \n", "4 -21 -231 " ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bureau_balance_agg = agg_numeric(bureau_balance, group_var = 'SK_ID_BUREAU', df_name = 'bureau_balance')\n", "bureau_balance_agg.head()" ] }, { "cell_type": "markdown", "id": "236bde5b", "metadata": {}, "source": [ "### Aggregated Stats of Bureau Balance by Client\n" ] }, { "cell_type": "code", "execution_count": 43, "id": "82aa6509", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SK_ID_BUREAUbureau_balance_MONTHS_BALANCE_countbureau_balance_MONTHS_BALANCE_meanbureau_balance_MONTHS_BALANCE_maxbureau_balance_MONTHS_BALANCE_minbureau_balance_MONTHS_BALANCE_sumbureau_balance_STATUS_0_countbureau_balance_STATUS_0_count_normbureau_balance_STATUS_1_countbureau_balance_STATUS_1_count_norm...bureau_balance_STATUS_3_countbureau_balance_STATUS_3_count_normbureau_balance_STATUS_4_countbureau_balance_STATUS_4_count_normbureau_balance_STATUS_5_countbureau_balance_STATUS_5_count_normbureau_balance_STATUS_C_countbureau_balance_STATUS_C_count_normbureau_balance_STATUS_X_countbureau_balance_STATUS_X_count_norm
0500170997-48.00-96-465600.00000000.0...00.000.000.0860.886598110.113402
1500171083-41.00-82-340350.06024100.0...00.000.000.0480.578313300.361446
250017114-1.50-3-630.75000000.0...00.000.000.000.00000010.250000
3500171219-9.00-18-171100.52631600.0...00.000.000.090.47368400.000000
4500171322-10.50-21-23100.00000000.0...00.000.000.000.000000221.000000
\n", "

5 rows × 22 columns

\n", "
" ], "text/plain": [ " SK_ID_BUREAU bureau_balance_MONTHS_BALANCE_count \\\n", "0 5001709 97 \n", "1 5001710 83 \n", "2 5001711 4 \n", "3 5001712 19 \n", "4 5001713 22 \n", "\n", " bureau_balance_MONTHS_BALANCE_mean bureau_balance_MONTHS_BALANCE_max \\\n", "0 -48.0 0 \n", "1 -41.0 0 \n", "2 -1.5 0 \n", "3 -9.0 0 \n", "4 -10.5 0 \n", "\n", " bureau_balance_MONTHS_BALANCE_min bureau_balance_MONTHS_BALANCE_sum \\\n", "0 -96 -4656 \n", "1 -82 -3403 \n", "2 -3 -6 \n", "3 -18 -171 \n", "4 -21 -231 \n", "\n", " bureau_balance_STATUS_0_count bureau_balance_STATUS_0_count_norm \\\n", "0 0 0.000000 \n", "1 5 0.060241 \n", "2 3 0.750000 \n", "3 10 0.526316 \n", "4 0 0.000000 \n", "\n", " bureau_balance_STATUS_1_count bureau_balance_STATUS_1_count_norm ... \\\n", "0 0 0.0 ... \n", "1 0 0.0 ... \n", "2 0 0.0 ... \n", "3 0 0.0 ... \n", "4 0 0.0 ... \n", "\n", " bureau_balance_STATUS_3_count bureau_balance_STATUS_3_count_norm \\\n", "0 0 0.0 \n", "1 0 0.0 \n", "2 0 0.0 \n", "3 0 0.0 \n", "4 0 0.0 \n", "\n", " bureau_balance_STATUS_4_count bureau_balance_STATUS_4_count_norm \\\n", "0 0 0.0 \n", "1 0 0.0 \n", "2 0 0.0 \n", "3 0 0.0 \n", "4 0 0.0 \n", "\n", " bureau_balance_STATUS_5_count bureau_balance_STATUS_5_count_norm \\\n", "0 0 0.0 \n", "1 0 0.0 \n", "2 0 0.0 \n", "3 0 0.0 \n", "4 0 0.0 \n", "\n", " bureau_balance_STATUS_C_count bureau_balance_STATUS_C_count_norm \\\n", "0 86 0.886598 \n", "1 48 0.578313 \n", "2 0 0.000000 \n", "3 9 0.473684 \n", "4 0 0.000000 \n", "\n", " bureau_balance_STATUS_X_count bureau_balance_STATUS_X_count_norm \n", "0 11 0.113402 \n", "1 30 0.361446 \n", "2 1 0.250000 \n", "3 0 0.000000 \n", "4 22 1.000000 \n", "\n", "[5 rows x 22 columns]" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bureau_by_loan = bureau_balance_agg.merge(bureau_balance_counts, right_index = True, left_on = 'SK_ID_BUREAU', how = 'outer')\n", "bureau_by_loan.head()" ] }, { "cell_type": "code", "execution_count": 44, "id": "ba7b85a0", "metadata": {}, "outputs": [], "source": [ "bureau_by_loan = bureau_balance_agg.merge(bureau_balance_counts, right_index = True, left_on = 'SK_ID_BUREAU', how = 'outer')\n", "\n", "bureau_by_loan = bureau[['SK_ID_BUREAU', 'SK_ID_CURR']].merge(bureau_by_loan, on = 'SK_ID_BUREAU', how = 'left')\n", "\n", "bureau_balance_by_client = agg_numeric(bureau_by_loan.drop(columns = ['SK_ID_BUREAU']), group_var = 'SK_ID_CURR', df_name = 'client')" ] }, { "cell_type": "markdown", "id": "2d797493", "metadata": {}, "source": [ "# Insert Computed Features into Training Data\n" ] }, { "cell_type": "code", "execution_count": 45, "id": "8b1074a7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Original Number of Features: 122\n" ] } ], "source": [ "original_features = list(train.columns)\n", "print('Original Number of Features: ', len(original_features))" ] }, { "cell_type": "code", "execution_count": 46, "id": "628208ca", "metadata": {}, "outputs": [], "source": [ "# Merge with the value counts of bureau\n", "train = train.merge(bureau_counts, on = 'SK_ID_CURR', how = 'left')\n", "\n", "# Merge with the stats of bureau\n", "train = train.merge(bureau_agg, on = 'SK_ID_CURR', how = 'left')\n", "\n", "# Merge with the monthly information grouped by client\n", "train = train.merge(bureau_balance_by_client, on = 'SK_ID_CURR', how = 'left')" ] }, { "cell_type": "code", "execution_count": 47, "id": "0f1bab49", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of features using previous loans from other institutions data: 333\n" ] } ], "source": [ "new_features = list(train.columns)\n", "print('Number of features using previous loans from other institutions data: ', len(new_features))" ] }, { "cell_type": "markdown", "id": "3931e10e", "metadata": {}, "source": [ "# 3. Feature Engineering Outcomes\n", "\n", "그 모든 작업이 끝난 후, 이제 우리가 만든 변수를 살펴보려고 합니다. 결측값의 백분율, 목표값과의 변수 상관관계 및 다른 변수와의 상관관계를 확인할 수 있습니다. 변수들 간의 상관관계는 우리가 공선형 변수들, 즉 서로 높은 상관관계가 있는 변수들을 가지고 있는지를 보여줄 수 있습니다. 두 변수가 모두 있으면 중복될 수 있기 때문에 한 쌍의 동일 선형 변수를 제거하고자 하는 경우가 많습니다. 결측값의 백분율을 사용하여 존재하지 않는 대부분의 값을 가진 형상을 제거할 수도 있습니다. 피쳐 수를 줄이면 모델이 교육 중에 학습하는 데 도움이 되고 테스트 데이터로 더 잘 일반화할 수 있기 때문에 피쳐 선택은 앞으로 중요한 초점이 될 것입니다. \"차원의 곡선\"은 너무 많은 피쳐(차원의 너무 높음)로 인해 발생하는 문제에 주어진 이름입니다. 변수의 수가 증가함에 따라 이러한 변수와 목표값 사이의 관계를 학습하는 데 필요한 데이터 점의 수는 기하급수적으로 증가합니다.\n", "\n", "\n", "피쳐 선택은 모델이 학습하고 테스트 세트에 더 잘 일반화하는 데 도움이 되는 변수를 제거하는 프로세스입니다. 유용한 변수는 보존하면서 쓸모없는/중복된 변수는 제거하는 것이 목적입니다. 이 프로세스에 사용할 수 있는 도구는 여러 가지가 있지만 이 노트북에서는 결측값 비율이 높은 열과 서로 상관 관계가 높은 변수를 제거하는 방법을 고수할 것입니다. 나중에 Gradient Boosting Machine 또는 Random Forest와 같은 모델에서 반환된 피쳐 가져오기를 사용하여 피쳐 선택을 수행할 수 있습니다.\n" ] }, { "cell_type": "markdown", "id": "204b923b", "metadata": {}, "source": [ "## 3-1) Missing Values\n", "중요한 고려 사항은 데이터 프레임의 결측치입니다. 결측값이 너무 많은 열을 삭제해야 할 수 있습니다.\n" ] }, { "cell_type": "code", "execution_count": 48, "id": "00d00190", "metadata": {}, "outputs": [], "source": [ "def missing_values_table(df):\n", " mis_val = df.isnull().sum()\n", " \n", " mis_val_percent = 100 * df.isnull().sum() / len(df)\n", " \n", " mis_val_table = pd.concat([mis_val, mis_val_percent], axis=1)\n", " \n", " mis_val_table_ren_columns = mis_val_table.rename(\n", " columns = {0 : 'Missing Values', 1 : '% of Total Values'})\n", " \n", " mis_val_table_ren_columns = mis_val_table_ren_columns[\n", " mis_val_table_ren_columns.iloc[:,1] != 0].sort_values(\n", " '% of Total Values', ascending=False).round(1)\n", " \n", " print (\"Your selected dataframe has \" + str(df.shape[1]) + \" columns.\\n\" \n", " \"There are \" + str(mis_val_table_ren_columns.shape[0]) +\n", " \" columns that have missing values.\")\n", " \n", " return mis_val_table_ren_columns" ] }, { "cell_type": "code", "execution_count": 49, "id": "ad3a6a89", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Your selected dataframe has 333 columns.\n", "There are 278 columns that have missing values.\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Missing Values% of Total Values
bureau_AMT_ANNUITY_min22750274.0
bureau_AMT_ANNUITY_max22750274.0
bureau_AMT_ANNUITY_mean22750274.0
client_bureau_balance_STATUS_4_count_min21528070.0
client_bureau_balance_STATUS_3_count_norm_mean21528070.0
client_bureau_balance_MONTHS_BALANCE_count_min21528070.0
client_bureau_balance_STATUS_4_count_max21528070.0
client_bureau_balance_STATUS_4_count_mean21528070.0
client_bureau_balance_STATUS_3_count_norm_min21528070.0
client_bureau_balance_STATUS_3_count_norm_max21528070.0
\n", "
" ], "text/plain": [ " Missing Values \\\n", "bureau_AMT_ANNUITY_min 227502 \n", "bureau_AMT_ANNUITY_max 227502 \n", "bureau_AMT_ANNUITY_mean 227502 \n", "client_bureau_balance_STATUS_4_count_min 215280 \n", "client_bureau_balance_STATUS_3_count_norm_mean 215280 \n", "client_bureau_balance_MONTHS_BALANCE_count_min 215280 \n", "client_bureau_balance_STATUS_4_count_max 215280 \n", "client_bureau_balance_STATUS_4_count_mean 215280 \n", "client_bureau_balance_STATUS_3_count_norm_min 215280 \n", "client_bureau_balance_STATUS_3_count_norm_max 215280 \n", "\n", " % of Total Values \n", "bureau_AMT_ANNUITY_min 74.0 \n", "bureau_AMT_ANNUITY_max 74.0 \n", "bureau_AMT_ANNUITY_mean 74.0 \n", "client_bureau_balance_STATUS_4_count_min 70.0 \n", "client_bureau_balance_STATUS_3_count_norm_mean 70.0 \n", "client_bureau_balance_MONTHS_BALANCE_count_min 70.0 \n", "client_bureau_balance_STATUS_4_count_max 70.0 \n", "client_bureau_balance_STATUS_4_count_mean 70.0 \n", "client_bureau_balance_STATUS_3_count_norm_min 70.0 \n", "client_bureau_balance_STATUS_3_count_norm_max 70.0 " ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "missing_train = missing_values_table(train)\n", "missing_train.head(10)" ] }, { "cell_type": "code", "execution_count": 50, "id": "023d0f85", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "missing_train_vars = list(missing_train.index[missing_train['% of Total Values'] > 90])\n", "len(missing_train_vars)" ] }, { "cell_type": "markdown", "id": "16549e1a", "metadata": {}, "source": [ "### 3-1-1) Calculate Information for Testing Data\n" ] }, { "cell_type": "code", "execution_count": 51, "id": "0531f6aa", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Shape of Testing Data: (48744, 332)\n" ] } ], "source": [ "test = pd.read_csv('./input/application_test.csv')\n", "\n", "test = test.merge(bureau_counts, on = 'SK_ID_CURR', how = 'left')\n", "test = test.merge(bureau_agg, on = 'SK_ID_CURR', how = 'left')\n", "\n", "test = test.merge(bureau_balance_by_client, on = 'SK_ID_CURR', how = 'left')\n", "print('Shape of Testing Data: ', test.shape)" ] }, { "cell_type": "markdown", "id": "e9dc3c2e", "metadata": {}, "source": [ "테스트 및 교육 데이터 프레임을 정렬해야 합니다. 즉, 동일한 열을 가지도록 열을 일치시켜야 합니다. 여기서 문제가 되지는 않지만 변수를 한 번 핫 인코딩할 때는 데이터 프레임이 동일한 열을 가지도록 정렬해야 합니다.\n" ] }, { "cell_type": "code", "execution_count": 52, "id": "27e110fb", "metadata": {}, "outputs": [], "source": [ "train_labels = train['TARGET']\n", "\n", "# Align the dataframes, this will remove the 'TARGET' column\n", "train, test = train.align(test, join = 'inner', axis = 1)\n", "\n", "train['TARGET'] = train_labels" ] }, { "cell_type": "code", "execution_count": 53, "id": "49beb245", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Training Data Shape: (307511, 333)\n", "Testing Data Shape: (48744, 332)\n" ] } ], "source": [ "print('Training Data Shape: ', train.shape)\n", "print('Testing Data Shape: ', test.shape)" ] }, { "cell_type": "markdown", "id": "1e5a3c2a", "metadata": {}, "source": [ "이제 데이터 프레임에 동일한 열이 있습니다(교육 데이터의 TARGET 열 제외). \n", "즉, 교육 및 테스트 데이터 프레임 모두에서 동일한 열을 확인해야 하는 기계 학습 모델에서 사용할 수 있습니다.\n", "이제 삭제해야 할 열을 파악할 수 있도록 검정 데이터에서 결측값의 백분율을 살펴보겠습니다.\n" ] }, { "cell_type": "code", "execution_count": 54, "id": "0cba5928", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Your selected dataframe has 332 columns.\n", "There are 275 columns that have missing values.\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Missing Values% of Total Values
COMMONAREA_MEDI3349568.7
COMMONAREA_MODE3349568.7
COMMONAREA_AVG3349568.7
NONLIVINGAPARTMENTS_MEDI3334768.4
NONLIVINGAPARTMENTS_AVG3334768.4
NONLIVINGAPARTMENTS_MODE3334768.4
FONDKAPREMONT_MODE3279767.3
LIVINGAPARTMENTS_MEDI3278067.2
LIVINGAPARTMENTS_MODE3278067.2
LIVINGAPARTMENTS_AVG3278067.2
\n", "
" ], "text/plain": [ " Missing Values % of Total Values\n", "COMMONAREA_MEDI 33495 68.7\n", "COMMONAREA_MODE 33495 68.7\n", "COMMONAREA_AVG 33495 68.7\n", "NONLIVINGAPARTMENTS_MEDI 33347 68.4\n", "NONLIVINGAPARTMENTS_AVG 33347 68.4\n", "NONLIVINGAPARTMENTS_MODE 33347 68.4\n", "FONDKAPREMONT_MODE 32797 67.3\n", "LIVINGAPARTMENTS_MEDI 32780 67.2\n", "LIVINGAPARTMENTS_MODE 32780 67.2\n", "LIVINGAPARTMENTS_AVG 32780 67.2" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "missing_test = missing_values_table(test)\n", "missing_test.head(10)" ] }, { "cell_type": "code", "execution_count": 55, "id": "cdd84a4f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "missing_test_vars = list(missing_test.index[missing_test['% of Total Values'] > 90])\n", "len(missing_test_vars)" ] }, { "cell_type": "code", "execution_count": 56, "id": "62e7cfba", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "There are 0 columns with more than 90% missing in either the training or testing data.\n" ] } ], "source": [ "missing_columns = list(set(missing_test_vars + missing_train_vars))\n", "print('There are %d columns with more than 90%% missing in either the training or testing data.' % len(missing_columns))" ] }, { "cell_type": "code", "execution_count": 57, "id": "aad1462d", "metadata": {}, "outputs": [], "source": [ "# Drop the missing columns\n", "train = train.drop(columns = missing_columns)\n", "test = test.drop(columns = missing_columns)" ] }, { "cell_type": "markdown", "id": "4bd035b0", "metadata": {}, "source": [ "결측치가 90%를 초과하는 열이 없기 때문에 이 라운드에서는 열을 제거하지 못했습니다. 치수 축소를 위해 다른 피쳐 선택 방법을 적용해야 할 수도 있습니다.\n", "그러면 교육 데이터와 테스트 데이터를 모두 저장할 것입니다. 누락된 열을 삭제하기 위해 다른 백분율을 시도하고 결과를 비교하는 것이 좋습니다.\n" ] }, { "cell_type": "code", "execution_count": 58, "id": "885df99d", "metadata": {}, "outputs": [], "source": [ "train.to_csv('train_bureau_raw.csv', index = False)\n", "test.to_csv('test_bureau_raw.csv', index = False)" ] }, { "cell_type": "markdown", "id": "8c770a84", "metadata": {}, "source": [ "## 3-2) Correlations\n", "\n", "\n", "먼저 변수와 대상의 상관관계를 살펴보겠습니다. 우리가 생성한 모든 변수에서 교육 데이터에 이미 존재하는 변수보다 더 큰 상관 관계를 가질 수 있습니다(응용프로그램에서).\n" ] }, { "cell_type": "code", "execution_count": 59, "id": "63307154", "metadata": {}, "outputs": [], "source": [ "# Calculate all correlations in dataframe\n", "corrs = train.corr()" ] }, { "cell_type": "code", "execution_count": 60, "id": "5d53b46e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TARGET
TARGET1.000000
bureau_DAYS_CREDIT_mean0.089729
client_bureau_balance_MONTHS_BALANCE_min_mean0.089038
DAYS_BIRTH0.078239
bureau_CREDIT_ACTIVE_Active_count_norm0.077356
client_bureau_balance_MONTHS_BALANCE_mean_mean0.076424
bureau_DAYS_CREDIT_min0.075248
client_bureau_balance_MONTHS_BALANCE_min_min0.073225
client_bureau_balance_MONTHS_BALANCE_sum_mean0.072606
bureau_DAYS_CREDIT_UPDATE_mean0.068927
\n", "
" ], "text/plain": [ " TARGET\n", "TARGET 1.000000\n", "bureau_DAYS_CREDIT_mean 0.089729\n", "client_bureau_balance_MONTHS_BALANCE_min_mean 0.089038\n", "DAYS_BIRTH 0.078239\n", "bureau_CREDIT_ACTIVE_Active_count_norm 0.077356\n", "client_bureau_balance_MONTHS_BALANCE_mean_mean 0.076424\n", "bureau_DAYS_CREDIT_min 0.075248\n", "client_bureau_balance_MONTHS_BALANCE_min_min 0.073225\n", "client_bureau_balance_MONTHS_BALANCE_sum_mean 0.072606\n", "bureau_DAYS_CREDIT_UPDATE_mean 0.068927" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "corrs = corrs.sort_values('TARGET', ascending = False)\n", "\n", "# Ten most positive correlations\n", "pd.DataFrame(corrs['TARGET'].head(10))" ] }, { "cell_type": "code", "execution_count": 61, "id": "d4e052e4", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TARGET
client_bureau_balance_MONTHS_BALANCE_count_min-0.048224
client_bureau_balance_STATUS_C_count_norm_mean-0.055936
client_bureau_balance_STATUS_C_count_max-0.061083
client_bureau_balance_STATUS_C_count_mean-0.062954
client_bureau_balance_MONTHS_BALANCE_count_max-0.068792
bureau_CREDIT_ACTIVE_Closed_count_norm-0.079369
client_bureau_balance_MONTHS_BALANCE_count_mean-0.080193
EXT_SOURCE_1-0.155317
EXT_SOURCE_2-0.160472
EXT_SOURCE_3-0.178919
\n", "
" ], "text/plain": [ " TARGET\n", "client_bureau_balance_MONTHS_BALANCE_count_min -0.048224\n", "client_bureau_balance_STATUS_C_count_norm_mean -0.055936\n", "client_bureau_balance_STATUS_C_count_max -0.061083\n", "client_bureau_balance_STATUS_C_count_mean -0.062954\n", "client_bureau_balance_MONTHS_BALANCE_count_max -0.068792\n", "bureau_CREDIT_ACTIVE_Closed_count_norm -0.079369\n", "client_bureau_balance_MONTHS_BALANCE_count_mean -0.080193\n", "EXT_SOURCE_1 -0.155317\n", "EXT_SOURCE_2 -0.160472\n", "EXT_SOURCE_3 -0.178919" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Ten most negative correlations\n", "pd.DataFrame(corrs['TARGET'].dropna().tail(10))" ] }, { "cell_type": "markdown", "id": "0b577132", "metadata": {}, "source": [ "대상과의 상관관계가 가장 높은 변수(상관성이 1인 대상 제외)는 우리가 생성한 변수입니다. 그러나 변수가 상관관계가 있다고 해서 유용하다는 것은 아니며, 수백 개의 새로운 변수를 생성하면 일부는 단순히 무작위 노이즈 때문에 대상과 상관 관계가 있다는 것을 기억해야 합니다.\n", "\n", "회의적으로 상관 관계를 살펴보면 새로 생성된 변수 중 몇 개가 유용할 수 있습니다. 변수의 \"유용성\"을 평가하기 위해 모형에서 반환되는 피쳐 중요도를 살펴보겠습니다. 호기심을 위해(그리고 함수를 이미 작성했기 때문에) 새로 생성된 두 변수에 대한 kde 그림을 만들 수 있습니다." ] }, { "cell_type": "code", "execution_count": 62, "id": "ce832ca6", "metadata": {}, "outputs": [], "source": [ "# kde_target(var_name='client_bureau_balance_counts_mean', df=train) error" ] }, { "cell_type": "code", "execution_count": 63, "id": "3654468b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The correlation between bureau_CREDIT_ACTIVE_Active_count_norm and the TARGET is 0.0774\n", "Median value for loan that was not repaid = 0.5000\n", "Median value for loan that was repaid = 0.3636\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "kde_target(var_name='bureau_CREDIT_ACTIVE_Active_count_norm', df=train)" ] }, { "cell_type": "markdown", "id": "bb49eb4a", "metadata": {}, "source": [ "음, 이 배포판은 어디에나 있습니다. 이 변수는 CREMIT_ACTIVE 값이 활성인 이전 대출 수를 고객에 대한 총 이전 대출 수로 나눈 값을 나타냅니다. 여기 상관관계가 너무 약해서 결론을 내려서는 안 될 것 같아요!" ] }, { "cell_type": "markdown", "id": "8bb2d182", "metadata": {}, "source": [ "### 3-2-1) Collinear Variables\n", "변수와 목표 변수의 상관관계뿐만 아니라 각 변수와 다른 변수의 상관관계도 계산할 수 있습니다. 이를 통해 데이터에서 제거해야 할 높은 공선형 변수가 있는지 확인할 수 있습니다.\n", "다른 변수와의 상관 관계가 0.8보다 큰 변수를 살펴보겠습니다.\n" ] }, { "cell_type": "code", "execution_count": 64, "id": "9362e5c6", "metadata": {}, "outputs": [], "source": [ "# Set the threshold\n", "threshold = 0.8\n", "\n", "# Empty dictionary to hold correlated variables\n", "above_threshold_vars = {}\n", "\n", "# For each column, record the variables that are above the threshold\n", "for col in corrs:\n", " above_threshold_vars[col] = list(corrs.index[corrs[col] > threshold])" ] }, { "cell_type": "markdown", "id": "09c94c40", "metadata": {}, "source": [ "이러한 상관 관계가 높은 변수 쌍에 대해 두 변수 중 하나만 제거하려고 합니다. 다음 코드는 각 쌍 중 하나만 추가하여 제거할 변수 집합을 만듭니다.\n" ] }, { "cell_type": "code", "execution_count": 65, "id": "356f3c7c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of columns to remove: 134\n" ] } ], "source": [ "# Track columns to remove and columns already examined\n", "cols_to_remove = []\n", "cols_seen = []\n", "cols_to_remove_pair = []\n", "\n", "# Iterate through columns and correlated columns\n", "for key, value in above_threshold_vars.items():\n", " # Keep track of columns already examined\n", " cols_seen.append(key)\n", " for x in value:\n", " if x == key:\n", " next\n", " else:\n", " # Only want to remove one in a pair\n", " if x not in cols_seen:\n", " cols_to_remove.append(x)\n", " cols_to_remove_pair.append(key)\n", " \n", "cols_to_remove = list(set(cols_to_remove))\n", "print('Number of columns to remove: ', len(cols_to_remove))" ] }, { "cell_type": "markdown", "id": "df46c271", "metadata": {}, "source": [ "교육 및 테스트 데이터 세트 모두에서 이러한 열을 제거할 수 있습니다. 이러한 변수를 제거한 후 이러한 변수를 유지하는 성능(앞서 저장한 원시 csv 파일)을 비교해야 합니다.\n" ] }, { "cell_type": "code", "execution_count": 66, "id": "719a7ed5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Training Corrs Removed Shape: (307511, 199)\n", "Testing Corrs Removed Shape: (48744, 198)\n" ] } ], "source": [ "train_corrs_removed = train.drop(columns = cols_to_remove)\n", "test_corrs_removed = test.drop(columns = cols_to_remove)\n", "\n", "print('Training Corrs Removed Shape: ', train_corrs_removed.shape)\n", "print('Testing Corrs Removed Shape: ', test_corrs_removed.shape)" ] }, { "cell_type": "code", "execution_count": 67, "id": "40f805ad", "metadata": {}, "outputs": [], "source": [ "train_corrs_removed.to_csv('train_bureau_corrs_removed.csv', index = False)\n", "test_corrs_removed.to_csv('test_bureau_corrs_removed.csv', index = False)" ] }, { "cell_type": "markdown", "id": "5471acf1", "metadata": {}, "source": [ "# 4. Modeling\n" ] }, { "cell_type": "markdown", "id": "4a805a03", "metadata": {}, "source": [ "이러한 새로운 데이터 세트의 성능을 실제로 테스트하기 위해 이 데이터셋을 머신러닝에 사용해 보겠습니다. 여기서는 다른 노트북에서 개발한 기능을 사용하여 기능(상관성이 높은 변수가 제거된 원시 버전)을 비교합니다. 우리는 이런 종류의 실험을 할 수 있고, 경쟁사에 제출되었을 때 이 기능에 있는 애플리케이션 데이터들의 성능만 제어할 수 있을 것입니다. 이 성능을 이미 기록했으므로 제어 및 두 가지 테스트 조건을 나열할 수 있습니다.\n", "\n", "모든 데이터셋에 대해 정확한 하이퍼 파라미터와 함께 아래 표시된 모델을 사용하십시오.\n", "\n", "컨트롤: 응용 프로그램 파일의 데이터만 해당됩니다.\n", "테스트 1: 응용 프로그램 파일의 데이터와 bureau_balance 파일의 모든 데이터가 기록됩니다.\n", "테스트 2: 애플리케이션 파일의 데이터와 상관 관계가 높은 변수가 있는 bure_balance 파일을 모두 제거합니다.\n", " " ] }, { "cell_type": "code", "execution_count": 74, "id": "23e8e231", "metadata": {}, "outputs": [], "source": [ "import lightgbm as lgb\n", "\n", "from sklearn.model_selection import KFold\n", "from sklearn.metrics import roc_auc_score\n", "from sklearn.preprocessing import LabelEncoder\n", "\n", "import gc\n", "\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 87, "id": "b0c67879", "metadata": {}, "outputs": [], "source": [ "def model(features, test_features, encoding = 'ohe', n_folds = 5):\n", " \n", " \"\"\"Train and test a light gradient boosting model using\n", " cross validation. \n", " \n", " Parameters\n", " --------\n", " features (pd.DataFrame): \n", " dataframe of training features to use \n", " for training a model. Must include the TARGET column.\n", " test_features (pd.DataFrame): \n", " dataframe of testing features to use\n", " for making predictions with the model. \n", " encoding (str, default = 'ohe'): \n", " method for encoding categorical variables. Either 'ohe' for one-hot encoding or 'le' for integer label encoding\n", " n_folds (int, default = 5): number of folds to use for cross validation\n", " \n", " Return\n", " --------\n", " submission (pd.DataFrame): \n", " dataframe with `SK_ID_CURR` and `TARGET` probabilities\n", " predicted by the model.\n", " feature_importances (pd.DataFrame): \n", " dataframe with the feature importances from the model.\n", " valid_metrics (pd.DataFrame): \n", " dataframe with training and validation metrics (ROC AUC) for each fold and overall.\n", " \n", " \"\"\"\n", " \n", " # Extract the ids\n", " train_ids = features['SK_ID_CURR']\n", " test_ids = test_features['SK_ID_CURR']\n", " \n", " # Extract the labels for training\n", " labels = features['TARGET']\n", " \n", " # Remove the ids and target\n", " features = features.drop(columns = ['SK_ID_CURR', 'TARGET'])\n", " test_features = test_features.drop(columns = ['SK_ID_CURR'])\n", " \n", " \n", " # One Hot Encoding\n", " if encoding == 'ohe':\n", " features = pd.get_dummies(features)\n", " test_features = pd.get_dummies(test_features)\n", " \n", " # Align the dataframes by the columns\n", " features, test_features = features.align(test_features, join = 'inner', axis = 1)\n", " \n", " # No categorical indices to record\n", " cat_indices = 'auto'\n", " \n", " # Integer label encoding\n", " elif encoding == 'le':\n", " \n", " # Create a label encoder\n", " label_encoder = LabelEncoder()\n", " \n", " # List for storing categorical indices\n", " cat_indices = []\n", " \n", " # Iterate through each column\n", " for i, col in enumerate(features):\n", " if features[col].dtype == 'object':\n", " # Map the categorical features to integers\n", " features[col] = label_encoder.fit_transform(np.array(features[col].astype(str)).reshape((-1,)))\n", " test_features[col] = label_encoder.transform(np.array(test_features[col].astype(str)).reshape((-1,)))\n", "\n", " # Record the categorical indices\n", " cat_indices.append(i)\n", " \n", " # Catch error if label encoding scheme is not valid\n", " else:\n", " raise ValueError(\"Encoding must be either 'ohe' or 'le'\")\n", " \n", " print('Training Data Shape: ', features.shape)\n", " print('Testing Data Shape: ', test_features.shape)\n", " \n", " # Extract feature names\n", " feature_names = list(features.columns)\n", " \n", " # Convert to np arrays\n", " features = np.array(features)\n", " test_features = np.array(test_features)\n", " \n", " # Create the kfold object\n", " k_fold = KFold(n_splits = n_folds, shuffle = True, random_state = 50)\n", " \n", " # Empty array for feature importances\n", " feature_importance_values = np.zeros(len(feature_names))\n", " \n", " # Empty array for test predictions\n", " test_predictions = np.zeros(test_features.shape[0])\n", " \n", " # Empty array for out of fold validation predictions\n", " out_of_fold = np.zeros(features.shape[0])\n", " \n", " # Lists for recording validation and training scores\n", " valid_scores = []\n", " train_scores = []\n", " \n", " # Iterate through each fold\n", " for train_indices, valid_indices in k_fold.split(features):\n", " \n", " # Training data for the fold\n", " train_features, train_labels = features[train_indices], labels[train_indices]\n", " # Validation data for the fold\n", " valid_features, valid_labels = features[valid_indices], labels[valid_indices]\n", " \n", " # Create the model\n", " model = lgb.LGBMClassifier(n_estimators=10000, objective = 'binary', \n", " class_weight = 'balanced', learning_rate = 0.05, \n", " reg_alpha = 0.1, reg_lambda = 0.1, \n", " subsample = 0.8, n_jobs = -1, random_state = 50)\n", " \n", " # Train the model\n", " model.fit(train_features, train_labels, eval_metric = 'auc',\n", " eval_set = [(valid_features, valid_labels), (train_features, train_labels)],\n", " eval_names = ['valid', 'train'], categorical_feature = cat_indices,\n", " early_stopping_rounds = 100, verbose = 200)\n", " \n", " # Record the best iteration\n", " best_iteration = model.best_iteration_\n", " \n", " # Record the feature importances\n", " feature_importance_values += model.feature_importances_ / k_fold.n_splits\n", " \n", " # Make predictions\n", " test_predictions += model.predict_proba(test_features, num_iteration = best_iteration)[:, 1] / k_fold.n_splits\n", " \n", " # Record the out of fold predictions\n", " out_of_fold[valid_indices] = model.predict_proba(valid_features, num_iteration = best_iteration)[:, 1]\n", " \n", " # Record the best score\n", " valid_score = model.best_score_['valid']['auc']\n", " train_score = model.best_score_['train']['auc']\n", " \n", " valid_scores.append(valid_score)\n", " train_scores.append(train_score)\n", " \n", " # Clean up memory\n", " gc.enable()\n", " del model, train_features, valid_features\n", " gc.collect()\n", " \n", " # Make the submission dataframe\n", " submission = pd.DataFrame({'SK_ID_CURR': test_ids, 'TARGET': test_predictions})\n", " \n", " # Make the feature importance dataframe\n", " feature_importances = pd.DataFrame({'feature': feature_names, 'importance': feature_importance_values})\n", " \n", " # Overall validation score\n", " valid_auc = roc_auc_score(labels, out_of_fold)\n", " \n", " # Add the overall scores to the metrics\n", " valid_scores.append(valid_auc)\n", " train_scores.append(np.mean(train_scores))\n", " \n", " # Needed for creating dataframe of validation scores\n", " fold_names = list(range(n_folds))\n", " fold_names.append('overall')\n", " \n", " # Dataframe of validation scores\n", " metrics = pd.DataFrame({'fold': fold_names,\n", " 'train': train_scores,\n", " 'valid': valid_scores}) \n", " \n", " return submission, feature_importances, metrics" ] }, { "cell_type": "code", "execution_count": 80, "id": "16858a9a", "metadata": {}, "outputs": [], "source": [ "def plot_feature_importances(df):\n", " \"\"\"\n", " Plot importances returned by a model. This can work with any measure of\n", " feature importance provided that higher importance is better. \n", " \n", " Args:\n", " df (dataframe): feature importances. Must have the features in a column\n", " called `features` and the importances in a column called `importance\n", " \n", " Returns:\n", " shows a plot of the 15 most importance features\n", " \n", " df (dataframe): feature importances sorted by importance (highest to lowest) \n", " with a column for normalized importance\n", " \"\"\"\n", " \n", " # Sort features according to importance\n", " df = df.sort_values('importance', ascending = False).reset_index()\n", " \n", " # Normalize the feature importances to add up to one\n", " df['importance_normalized'] = df['importance'] / df['importance'].sum()\n", "\n", " # Make a horizontal bar chart of feature importances\n", " plt.figure(figsize = (10, 6))\n", " ax = plt.subplot()\n", " \n", " # Need to reverse the index to plot most important on top\n", " ax.barh(list(reversed(list(df.index[:15]))), \n", " df['importance_normalized'].head(15), \n", " align = 'center', edgecolor = 'k')\n", " \n", " # Set the yticks and labels\n", " ax.set_yticks(list(reversed(list(df.index[:15]))))\n", " ax.set_yticklabels(df['feature'].head(15))\n", " \n", " # Plot labeling\n", " plt.xlabel('Normalized Importance'); plt.title('Feature Importances')\n", " plt.show()\n", " \n", " return df" ] }, { "cell_type": "code", "execution_count": null, "id": "5596ead6", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "1f5f6ad2", "metadata": {}, "source": [ "Control\n", "실험의 첫 번째 단계는 관리 상태를 설정하는 것입니다. 이를 위해 위에서 정의한 함수(그라디언트 부스팅 머신 모델 구현)와 단일 메인 데이터 소스(애플리케이션)를 사용합니다.\n" ] }, { "cell_type": "code", "execution_count": 81, "id": "22aafc24", "metadata": {}, "outputs": [], "source": [ "train_control = pd.read_csv('./input/application_train.csv')\n", "test_control = pd.read_csv('./input/application_test.csv')" ] }, { "cell_type": "code", "execution_count": null, "id": "68b15d56", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "aff239f7", "metadata": {}, "source": [ "다행히도 시간을 들여 함수를 작성하면 사용이 간단합니다(이 노트에 중심 테마가 있는 경우 함수를 사용하여 작업을 단순화하고 재현할 수 있습니다!). 위의 함수는 경쟁업체에 업로드할 수 있는 제출 데이터 프레임, 기능 중요도의 fi 데이터 프레임, 검증 및 테스트 성능이 있는 메트릭 데이터 프레임을 반환합니다.\n" ] }, { "cell_type": "code", "execution_count": 88, "id": "45d05b54", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Training Data Shape: (307511, 241)\n", "Testing Data Shape: (48744, 241)\n", "[200]\ttrain's auc: 0.7989\ttrain's binary_logloss: 0.547642\tvalid's auc: 0.755463\tvalid's binary_logloss: 0.563361\n", "[400]\ttrain's auc: 0.82864\ttrain's binary_logloss: 0.518235\tvalid's auc: 0.755594\tvalid's binary_logloss: 0.544951\n", "[200]\ttrain's auc: 0.798638\ttrain's binary_logloss: 0.547974\tvalid's auc: 0.758354\tvalid's binary_logloss: 0.56326\n", "[200]\ttrain's auc: 0.7977\ttrain's binary_logloss: 0.549358\tvalid's auc: 0.763287\tvalid's binary_logloss: 0.564505\n", "[200]\ttrain's auc: 0.798947\ttrain's binary_logloss: 0.547854\tvalid's auc: 0.757823\tvalid's binary_logloss: 0.562315\n", "[200]\ttrain's auc: 0.798357\ttrain's binary_logloss: 0.548311\tvalid's auc: 0.758237\tvalid's binary_logloss: 0.564466\n" ] } ], "source": [ "submission, fi, metrics = model(train_control, test_control)" ] }, { "cell_type": "code", "execution_count": 89, "id": "16723891", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
foldtrainvalid
000.8157910.755755
110.8119120.758533
220.8112520.763822
330.8058990.758345
440.8074590.758535
5overall0.8104630.759002
\n", "
" ], "text/plain": [ " fold train valid\n", "0 0 0.815791 0.755755\n", "1 1 0.811912 0.758533\n", "2 2 0.811252 0.763822\n", "3 3 0.805899 0.758345\n", "4 4 0.807459 0.758535\n", "5 overall 0.810463 0.759002" ] }, "execution_count": 89, "metadata": {}, "output_type": "execute_result" } ], "source": [ "metrics" ] }, { "cell_type": "markdown", "id": "1bbd5d04", "metadata": {}, "source": [ "교육 점수가 검증 점수보다 높기 때문에 관리 기능이 약간 과적합됩니다. 이 문제는 정규화를 살펴볼 때 이후의 노트북에서 해결할 수 있습니다(이 모델에서는 이미 reg_lambda 및 reg_alpha와 조기 중지를 사용하여 일부 정규화를 수행하고 있습니다).\n", "\n", "다른 함수인 플롯_feature_imports를 사용하여 피쳐의 중요성을 시각화할 수 있습니다. 피쳐 중요도는 피쳐를 선택할 때 유용할 수 있습니다.\n" ] }, { "cell_type": "code", "execution_count": 91, "id": "9012a801", "metadata": {}, "outputs": [ { "data": { "image/png": "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48ePR2RkpFS7paUl0tLSsHz5csybNw93796FgYEBnJycsHLlSmHcoEGDkJycjOXLl8PDwwPFxcWwsLDAyJEjERISIvWOvtcpUrjFx8fL3CXt0qULDh06VM0rlaWhoYE9e/YgMjISS5Yswe+//w5NTU106dIFycnJ6NSpU5VzlO8++uWXX8rt9/T0xIwZM4RXcQAvc/a627dv12nxT0RERET1m0phYWHN7LxBRPWKaPOdug6BGiiX89E4EDlfobF8UF95zJ1ymDflMG/KYd6Ux9zVL1wTRkRERERE1Ihxeec7ysfHB5mZmXL7pk6dimnTpr3liN6e5cuXY8WKFXL7unbtih9++OEtR1Q7XM5H13UIDUpxUTG0tLXqOox6wcawWV2HQERERDWIRd87KioqCk+fPpXbVxMbndRnY8aMweDBg+X21cVOqLVF0eV59BKXoRAREVFjxaLvHWVqalrXIdQZfX39Rl/YEhERERGV4zN9REREREREjRiLPiIiIiIiokaMyzuJGim3KfPrOoQG5V3eyMXGsBmi5obWdRhERERUS1j0ETVSp5wD6zoEaii40ysREVGjxuWdREREREREjRiLPiIiIiIiokaMRR8REREREVEjVqNFX1BQEEQiEUQiEQwNDeHk5ISpU6eisLBQGNOu3f+3d+dhNab/A8ffUZFQik5RikQRg8g+dmVQGhSDhhprmBlLskuWrGOZMZZsLfhax9aM/DDkq8xgbIOYZrHMYCyVLVL9/nCd83U6pRydMmc+r+s61zXnee5zP5/7c55Jn+77eZ66qjavvqZPn67W1969e/H29sbBwQFra2vc3NwYOnQop0+fVrWJiYmhSpUqap/Lyspi5cqVtGrVChsbG+zs7OjWrRsHDhxQaxcfH4+5uTmNGzfmxYsXavvq1q3LsmXLCjTmLl26qMZgZWWFm5sbCxcuJDMzU+uYlC9HR0d69uzJ+fPn841tzpw5NGvWTPV+2LBh+Pn55Rv/33//jUKhwNXVlaysLOBlXnP7jl59xcfHv3P5r1SpEvXr1yc0NJRnz56ptctrHGvXrlWL5969e/kes3fv3lhYWHD48OF8+1e+hg0bpmq3a9cunj9/jqOjI/Pnz8/1GBEREdjY2JCamqpxXrz6unLlSoHyJIQQQggh/r0KfaavTZs2JCUlce7cOZYuXcp3333HmDFj1NoEBweTlJSk9ho7dqxqf1hYGB9//DG1a9cmJiaGxMREli5dSq1atZgyZcprj//JJ58wa9YsBgwYQEJCAnFxcTRs2BA/Pz/WrFmj0f769etERUW91Zj79u1LUlISP/74I0OGDGHmzJlqRcubxpSYmEhSUhJbtmwhJSWFnj17kpqa+lYx5mXjxo14enpSqlQpDh48CMCHH36o9t20adMGHx8ftW1NmjTJtb/izP/p06cJDQ0lIiKC8PBwjXZLly7VOO/69OnzRse6desWR48eZfjw4URGRqq2v9rn0qVLNbbljMfY2BhfX19iYmLIzs7WOE50dDReXl6YmZmptinPi1dfjo6ObxS/EEIIIYT49yn0u3eWKlUKhUIBQJUqVfDx8WHjxo1qbcqVK6dqk9PJkydZuHAh4eHhDB06VLXdwcGBFi1a8Nlnn+V57J07d7Jjxw6io6Pp2rWrarty5mfChAl4enqqzU4NGTKE8PBwfH19MTU11WbIlClTRjWewYMHExsby759+/jss8+0iqlSpUpYWlqiUCiYOXMmnp6enDx5kvbt22sV3+tER0czY8YMzp8/T1RUFB07dsTExAQTk//dur5UqVKULl06z+9M6V3Iv52dHdu2bePQoUNMmzZNrZ2ZmVm+Y8jPxo0bad++PUOGDKFx48bcv38fCwsLtX6VhVp+x/L39+frr78mPj6e999/X7X9/PnznDlzhlmzZqm1V54XQgghhBBCvAmdPrLh999/5+DBgxgZGRX4M1u3bqVs2bJ88sknue43MDDI87NbtmzB0dFRreBQGjVqFCtWrGD37t2qpXbwskjbvn07X331FcHBwQWO83VKly6tWtKqTUw5+wLIyMgolNhedfz4ce7fv0+HDh1wcXFhwYIF3L17l4oVK2rV37uQ//Pnz3PixAmqVq361n3llJ2dTXR0NKGhodjZ2eHm5sbmzZsZPny4Vv25uLjQqFEjoqOj1Yq+qKgoHB0dadGiRWGFLsRrPX3ylKtXr2r9+bf57L+d5E47kjftSN60I3nTnuTuzTg5Oems70Iv+v7v//6PKlWqkJmZSXp6OoDGjEVYWJjGcrc1a9bg6elJcnIy9vb2GBr+L7SIiAi1WZvExETs7Ow0jp2cnEzNmjVzjaty5cqUL1+eX375RW176dKlmThxIuPHjycgIEDrggdeXs926NAhDh06pCps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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fi_sorted = plot_feature_importances(fi)" ] }, { "cell_type": "code", "execution_count": 92, "id": "836f0859", "metadata": {}, "outputs": [], "source": [ "submission.to_csv('control.csv', index = False)" ] }, { "cell_type": "markdown", "id": "d71ee5d8", "metadata": {}, "source": [ "The control scores 0.745 when submitted to the competition.\n", "\n" ] }, { "cell_type": "markdown", "id": "ec6f8a8f", "metadata": {}, "source": [ "Test One\n", "\n", "첫 번째 테스트를 진행하겠습니다. 우리는 대부분의 일을 하는 함수에 데이터를 전달하기만 하면 됩니다.\n" ] }, { "cell_type": "code", "execution_count": 93, "id": "ea1af014", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Training Data Shape: (307511, 241)\n", "Testing Data Shape: (48744, 241)\n", "[200]\ttrain's auc: 0.7989\ttrain's binary_logloss: 0.547642\tvalid's auc: 0.755463\tvalid's binary_logloss: 0.563361\n", "[400]\ttrain's auc: 0.82864\ttrain's binary_logloss: 0.518235\tvalid's auc: 0.755594\tvalid's binary_logloss: 0.544951\n", "[200]\ttrain's auc: 0.798638\ttrain's binary_logloss: 0.547974\tvalid's auc: 0.758354\tvalid's binary_logloss: 0.56326\n", "[200]\ttrain's auc: 0.7977\ttrain's binary_logloss: 0.549358\tvalid's auc: 0.763287\tvalid's binary_logloss: 0.564505\n", "[200]\ttrain's auc: 0.798947\ttrain's binary_logloss: 0.547854\tvalid's auc: 0.757823\tvalid's binary_logloss: 0.562315\n", "[200]\ttrain's auc: 0.798357\ttrain's binary_logloss: 0.548311\tvalid's auc: 0.758237\tvalid's binary_logloss: 0.564466\n" ] } ], "source": [ "submission_raw, fi_raw, metrics_raw = model(train, test)" ] }, { "cell_type": "code", "execution_count": 94, "id": "edc752d8", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
foldtrainvalid
000.8157910.755755
110.8119120.758533
220.8112520.763822
330.8058990.758345
440.8074590.758535
5overall0.8104630.759002
\n", "
" ], "text/plain": [ " fold train valid\n", "0 0 0.815791 0.755755\n", "1 1 0.811912 0.758533\n", "2 2 0.811252 0.763822\n", "3 3 0.805899 0.758345\n", "4 4 0.807459 0.758535\n", "5 overall 0.810463 0.759002" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" } ], "source": [ "metrics_raw" ] }, { "cell_type": "markdown", "id": "358fb763", "metadata": {}, "source": [ "이 숫자에 기초하여, 조작된 형상은 대조군보다 더 나은 성능을 발휘합니다. 그러나 이 더 나은 검증 성능이 테스트 데이터로 전송되는지 여부는 예측 결과를 리더보드에 제출해야 합니다.\n" ] }, { "cell_type": "code", "execution_count": 95, "id": "42f9185b", "metadata": {}, "outputs": [ { "data": { "image/png": "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48ePR2RkpFS7paUl0tLSsHz5csybNw93796FgYEBnJycsHLlSmHcoEGDkJycjOXLl8PDwwPFxcWwsLDAyJEjERISIvWOvtcpUrjFx8fL3CXt0qULDh06VM0rlaWhoYE9e/YgMjISS5Yswe+//w5NTU106dIFycnJ6NSpU5VzlO8++uWXX8rt9/T0xIwZM4RXcQAvc/a627dv12nxT0RERET1m0phYWHN7LxBRPWKaPOdug6BGiiX89E4EDlfobF8UF95zJ1ymDflMG/KYd6Ux9zVL1wTRkRERERE1Ihxeec7ysfHB5mZmXL7pk6dimnTpr3liN6e5cuXY8WKFXL7unbtih9++OEtR1Q7XM5H13UIDUpxUTG0tLXqOox6wcawWV2HQERERDWIRd87KioqCk+fPpXbVxMbndRnY8aMweDBg+X21cVOqLVF0eV59BKXoRAREVFjxaLvHWVqalrXIdQZfX39Rl/YEhERERGV4zN9REREREREjRiLPiIiIiIiokaMyzuJGim3KfPrOoQG5V3eyMXGsBmi5obWdRhERERUS1j0ETVSp5wD6zoEaii40ysREVGjxuWdREREREREjRiLPiIiIiIiokaMRR8REREREVEjVqNFX1BQEEQiEUQiEQwNDeHk5ISpU6eisLBQGNOu3f+3d+dhNab/A8ffUZFQik5RikQRg8g+dmVQGhSDhhprmBlLskuWrGOZMZZsLfhax9aM/DDkq8xgbIOYZrHMYCyVLVL9/nCd83U6pRydMmc+r+s61zXnee5zP5/7c55Jn+77eZ66qjavvqZPn67W1969e/H29sbBwQFra2vc3NwYOnQop0+fVrWJiYmhSpUqap/Lyspi5cqVtGrVChsbG+zs7OjWrRsHDhxQaxcfH4+5uTmNGzfmxYsXavvq1q3LsmXLCjTmLl26qMZgZWWFm5sbCxcuJDMzU+uYlC9HR0d69uzJ+fPn841tzpw5NGvWTPV+2LBh+Pn55Rv/33//jUKhwNXVlaysLOBlXnP7jl59xcfHv3P5r1SpEvXr1yc0NJRnz56ptctrHGvXrlWL5969e/kes3fv3lhYWHD48OF8+1e+hg0bpmq3a9cunj9/jqOjI/Pnz8/1GBEREdjY2JCamqpxXrz6unLlSoHyJIQQQggh/r0KfaavTZs2JCUlce7cOZYuXcp3333HmDFj1NoEBweTlJSk9ho7dqxqf1hYGB9//DG1a9cmJiaGxMREli5dSq1atZgyZcprj//JJ58wa9YsBgwYQEJCAnFxcTRs2BA/Pz/WrFmj0f769etERUW91Zj79u1LUlISP/74I0OGDGHmzJlqRcubxpSYmEhSUhJbtmwhJSWFnj17kpqa+lYx5mXjxo14enpSqlQpDh48CMCHH36o9t20adMGHx8ftW1NmjTJtb/izP/p06cJDQ0lIiKC8PBwjXZLly7VOO/69OnzRse6desWR48eZfjw4URGRqq2v9rn0qVLNbbljMfY2BhfX19iYmLIzs7WOE50dDReXl6YmZmptinPi1dfjo6ObxS/EEIIIYT49yn0u3eWKlUKhUIBQJUqVfDx8WHjxo1qbcqVK6dqk9PJkydZuHAh4eHhDB06VLXdwcGBFi1a8Nlnn+V57J07d7Jjxw6io6Pp2rWrarty5mfChAl4enqqzU4NGTKE8PBwfH19MTU11WbIlClTRjWewYMHExsby759+/jss8+0iqlSpUpYWlqiUCiYOXMmnp6enDx5kvbt22sV3+tER0czY8YMzp8/T1RUFB07dsTExAQTk//dur5UqVKULl06z+9M6V3Iv52dHdu2bePQoUNMmzZNrZ2ZmVm+Y8jPxo0bad++PUOGDKFx48bcv38fCwsLtX6VhVp+x/L39+frr78mPj6e999/X7X9/PnznDlzhlmzZqm1V54XQgghhBBCvAmdPrLh999/5+DBgxgZGRX4M1u3bqVs2bJ88sknue43MDDI87NbtmzB0dFRreBQGjVqFCtWrGD37t2qpXbwskjbvn07X331FcHBwQWO83VKly6tWtKqTUw5+wLIyMgolNhedfz4ce7fv0+HDh1wcXFhwYIF3L17l4oVK2rV37uQ//Pnz3PixAmqVq361n3llJ2dTXR0NKGhodjZ2eHm5sbmzZsZPny4Vv25uLjQqFEjoqOj1Yq+qKgoHB0dadGiRWGFLsRrPX3ylKtXr2r9+bf57L+d5E47kjftSN60I3nTnuTuzTg5Oems70Iv+v7v//6PKlWqkJmZSXp6OoDGjEVYWJjGcrc1a9bg6elJcnIy9vb2GBr+L7SIiAi1WZvExETs7Ow0jp2cnEzNmjVzjaty5cqUL1+eX375RW176dKlmThxIuPHjycgIEDrggdeXs926NAhDh06pCps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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fi_raw_sorted = plot_feature_importances(fi_raw)" ] }, { "cell_type": "markdown", "id": "9ccb7a56", "metadata": {}, "source": [ "특징의 성향을 살펴본 결과, 우리가 구축한 몇 가지 특징들이 가장 중요한 것들 중 하나인 것 같습니다. 이 노트에서 우리가 만든 상위 100가지 가장 중요한 기능 중 몇 퍼센트를 찾아보겠습니다. 그러나 기존 기능과 비교하기보다는 원핫 인코딩된 기존 기능과 비교해야 합니다. 이것들은 이미 fi에 기록되어 있습니다.\n" ] }, { "cell_type": "code", "execution_count": 96, "id": "acdb37b4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "% of Top 100 Features created from the bureau data = 0.00\n" ] } ], "source": [ "top_100 = list(fi_raw_sorted['feature'])[:100]\n", "new_features = [x for x in top_100 if x not in list(fi['feature'])]\n", "\n", "print('%% of Top 100 Features created from the bureau data = %d.00' % len(new_features))" ] }, { "cell_type": "markdown", "id": "d72730b2", "metadata": {}, "source": [ "100대 특집 중 절반 이상이 저희가 만든 작품이에요! 그것은 우리가 노력한 모든 것이 보람 있었다는 자신감을 주어야 합니다.\n" ] }, { "cell_type": "code", "execution_count": 97, "id": "4c360c85", "metadata": {}, "outputs": [], "source": [ "submission_raw.to_csv('test_one.csv', index = False)" ] }, { "cell_type": "markdown", "id": "8b6dc93b", "metadata": {}, "source": [ "Test one scores 0.759 when submitted to the competition.\n", "\n" ] }, { "cell_type": "markdown", "id": "0d42c8bc", "metadata": {}, "source": [ "Test Two\n", "\n", "쉬웠으니까 한 번 더 달려보죠! 이전과 동일하지만 높은 공선형 변수를 제거합니다.\n", "\n" ] }, { "cell_type": "code", "execution_count": 98, "id": "3d6ca591", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Training Data Shape: (307511, 318)\n", "Testing Data Shape: (48744, 318)\n", "[200]\ttrain's auc: 0.807062\ttrain's binary_logloss: 0.539926\tvalid's auc: 0.761756\tvalid's binary_logloss: 0.555974\n", "[200]\ttrain's auc: 0.807403\ttrain's binary_logloss: 0.539835\tvalid's auc: 0.762487\tvalid's binary_logloss: 0.556178\n", "[200]\ttrain's auc: 0.806206\ttrain's binary_logloss: 0.541195\tvalid's auc: 0.766958\tvalid's binary_logloss: 0.557491\n", "[400]\ttrain's auc: 0.83864\ttrain's binary_logloss: 0.508571\tvalid's auc: 0.767385\tvalid's binary_logloss: 0.536782\n", "[200]\ttrain's auc: 0.806561\ttrain's binary_logloss: 0.540767\tvalid's auc: 0.763307\tvalid's binary_logloss: 0.556131\n", "[200]\ttrain's auc: 0.807104\ttrain's binary_logloss: 0.540208\tvalid's auc: 0.760759\tvalid's binary_logloss: 0.557689\n" ] } ], "source": [ "submission_corrs, fi_corrs, metrics_corr = model(train_corrs_removed, test_corrs_removed)" ] }, { "cell_type": "code", "execution_count": 99, "id": "69ec06e0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
foldtrainvalid
000.8198900.762222
110.8162960.762811
220.8358010.767546
330.8078120.763487
440.8236350.761030
5overall0.8206870.763372
\n", "
" ], "text/plain": [ " fold train valid\n", "0 0 0.819890 0.762222\n", "1 1 0.816296 0.762811\n", "2 2 0.835801 0.767546\n", "3 3 0.807812 0.763487\n", "4 4 0.823635 0.761030\n", "5 overall 0.820687 0.763372" ] }, "execution_count": 99, "metadata": {}, "output_type": "execute_result" } ], "source": [ "metrics_corr" ] }, { "cell_type": "markdown", "id": "5ddb0fe7", "metadata": {}, "source": [ "이러한 결과는 관리 수준보다는 낫지만 원시 특징보다는 약간 낮습니다." ] }, { "cell_type": "code", "execution_count": 100, "id": "efd3fccc", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fi_corrs_sorted = plot_feature_importances(fi_corrs)" ] }, { "cell_type": "code", "execution_count": 101, "id": "cb5642af", "metadata": {}, "outputs": [], "source": [ "submission_corrs.to_csv('test_two.csv', index = False)" ] }, { "cell_type": "markdown", "id": "68e2751a", "metadata": {}, "source": [ "Test Two scores 0.753 when submitted to the competition.\n" ] }, { "cell_type": "markdown", "id": "c5a6b135", "metadata": {}, "source": [ "Results\n", "\n", "그렇게 노력한 결과, 추가 정보를 포함하면 실적이 향상되었다고 할 수 있습니다! 이 모델은 데이터에 최적화되어 있지 않지만 계산된 기능을 사용할 때 원래 데이터 세트에 비해 눈에 띄게 개선되었습니다. 공식적으로 공연 내용을 요약해 보겠습니다.\n", "\n", "우리의 모든 노력은 원본 테스트 데이터에 비해 0.014 ROC AUC가 약간 개선된 것으로 해석됩니다. 높은 공선형 변수를 제거하면 성능이 약간 저하되므로 다른 피쳐 선택 방법을 고려하고자 합니다. 또한 우리가 만든 기능 중 일부는 모델에 따라 가장 중요한 기능 중 하나라고 할 수 있습니다.\n", "\n", "이런 대회에서는 이 정도 크기만 개선해도 리더보드의 100분의 1을 올릴 수 있습니다. 이 노트와 같이 수많은 작은 개선을 통해 우리는 점점 더 좋은 성과를 낼 수 있습니다. 저는 다른 사람들이 여기의 결과를 활용하여 스스로 개선하도록 격려하며, 제가 다른 사람들을 돕기 위해 취하는 조치들을 계속 기록할 것입니다.\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "id": "f9f156e9", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "7d5f7250", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "8625d022", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "d1175c78", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "0a069eb3", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "0f70d698", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "a314cced", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "8cb3b527", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "804ee574", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "6a8b0509", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "f91f5ef5", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "edc7c765", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "80a258a5", "metadata": {}, "outputs": [], "source": [] } ], "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.9.7" } }, "nbformat": 4, "nbformat_minor": 5 }