Files
fenago f3b24b4b7f added
2021-02-07 15:16:01 +05:00

291 lines
7.5 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {},
"colab_type": "code",
"id": "aUF-lH3fFBsa"
},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
},
"colab_type": "code",
"executionInfo": {
"elapsed": 2336,
"status": "ok",
"timestamp": 1573001775617,
"user": {
"displayName": "Anthony So",
"photoUrl": "https://lh3.googleusercontent.com/a-/AAuE7mCYY-iGjUIqBSnlLoszfZTN7rU7FRNg05Rdt9Ii3A=s64",
"userId": "11809607246124237079"
},
"user_tz": -660
},
"id": "8JSOq_4DFCKB",
"outputId": "97e1bf86-b8b7-4b63-b795-0a771d1e0336"
},
"outputs": [],
"source": [
"file_url = '../bank-full.csv'\n",
"bankData = pd.read_csv(file_url, sep=\";\")\n",
"bankData.head()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 173
},
"colab_type": "code",
"executionInfo": {
"elapsed": 2328,
"status": "ok",
"timestamp": 1573001775618,
"user": {
"displayName": "Anthony So",
"photoUrl": "https://lh3.googleusercontent.com/a-/AAuE7mCYY-iGjUIqBSnlLoszfZTN7rU7FRNg05Rdt9Ii3A=s64",
"userId": "11809607246124237079"
},
"user_tz": -660
},
"id": "5_K4qSskFOiX",
"outputId": "4f6d26d9-9d9c-41fb-bb4c-bec08a74da4c"
},
"outputs": [],
"source": [
"# Relationship between housing and propensity for term deposits\n",
"bankData.groupby(['housing', 'y'])['y'].agg(houseTot='count').reset_index()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 173
},
"colab_type": "code",
"executionInfo": {
"elapsed": 2322,
"status": "ok",
"timestamp": 1573001775619,
"user": {
"displayName": "Anthony So",
"photoUrl": "https://lh3.googleusercontent.com/a-/AAuE7mCYY-iGjUIqBSnlLoszfZTN7rU7FRNg05Rdt9Ii3A=s64",
"userId": "11809607246124237079"
},
"user_tz": -660
},
"id": "HBJQtKjUFfC1",
"outputId": "42939e01-5c7f-4e13-8f93-a97fba2d62bb"
},
"outputs": [],
"source": [
"# Relationship between having a loan and propensity for term deposits\n",
"bankData.groupby(['loan', 'y'])['y'].agg(loanTot='count').reset_index()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
},
"colab_type": "code",
"executionInfo": {
"elapsed": 2315,
"status": "ok",
"timestamp": 1573001775619,
"user": {
"displayName": "Anthony So",
"photoUrl": "https://lh3.googleusercontent.com/a-/AAuE7mCYY-iGjUIqBSnlLoszfZTN7rU7FRNg05Rdt9Ii3A=s64",
"userId": "11809607246124237079"
},
"user_tz": -660
},
"id": "ktpNZGC2Qz70",
"outputId": "ca650459-4e00-427e-e913-c84e46d4e26b"
},
"outputs": [],
"source": [
"# Taking the quantiles for 25%, 50% and 75% of the balance data\n",
"import numpy as np\n",
"np.quantile(bankData['balance'],[0.25,0.5,0.75])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
},
"colab_type": "code",
"executionInfo": {
"elapsed": 2309,
"status": "ok",
"timestamp": 1573001775620,
"user": {
"displayName": "Anthony So",
"photoUrl": "https://lh3.googleusercontent.com/a-/AAuE7mCYY-iGjUIqBSnlLoszfZTN7rU7FRNg05Rdt9Ii3A=s64",
"userId": "11809607246124237079"
},
"user_tz": -660
},
"id": "BbcbCowlRCsc",
"outputId": "6bdb3a5c-42d4-4566-c04a-929bf614db1b"
},
"outputs": [],
"source": [
"# Creating new features for bank data based on the quantile values\n",
"\n",
"bankData['balanceClass'] = 'Quant1'\n",
"\n",
"bankData.loc[(bankData['balance'] > 72) & (bankData['balance'] < 448), 'balanceClass'] = 'Quant2'\n",
"\n",
"bankData.loc[(bankData['balance'] > 448) & (bankData['balance'] < 1428), 'balanceClass'] = 'Quant3'\n",
"\n",
"bankData.loc[bankData['balance'] > 1428, 'balanceClass'] = 'Quant4'\n",
"\n",
"bankData.head()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 173
},
"colab_type": "code",
"executionInfo": {
"elapsed": 2303,
"status": "ok",
"timestamp": 1573001775621,
"user": {
"displayName": "Anthony So",
"photoUrl": "https://lh3.googleusercontent.com/a-/AAuE7mCYY-iGjUIqBSnlLoszfZTN7rU7FRNg05Rdt9Ii3A=s64",
"userId": "11809607246124237079"
},
"user_tz": -660
},
"id": "fGVxqFC3FzTL",
"outputId": "1ec443fa-32ee-4482-e620-1f8d27091e0a"
},
"outputs": [],
"source": [
"# Calculating the customers under each quantile \n",
"balanceTot = bankData.groupby(['balanceClass'])['y'].agg(balanceTot='count').reset_index()\n",
"balanceTot"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 297
},
"colab_type": "code",
"executionInfo": {
"elapsed": 2294,
"status": "ok",
"timestamp": 1573001775621,
"user": {
"displayName": "Anthony So",
"photoUrl": "https://lh3.googleusercontent.com/a-/AAuE7mCYY-iGjUIqBSnlLoszfZTN7rU7FRNg05Rdt9Ii3A=s64",
"userId": "11809607246124237079"
},
"user_tz": -660
},
"id": "vKet2DvBF_p3",
"outputId": "d56e51b5-ed2e-4d4e-9c97-dcae53e88a03"
},
"outputs": [],
"source": [
"# Calculating the total customers categorised as per quantile and propensity classification\n",
"balanceProp = bankData.groupby(['balanceClass', 'y'])['y'].agg(balanceCat='count').reset_index()\n",
"balanceProp"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 297
},
"colab_type": "code",
"executionInfo": {
"elapsed": 2289,
"status": "ok",
"timestamp": 1573001775622,
"user": {
"displayName": "Anthony So",
"photoUrl": "https://lh3.googleusercontent.com/a-/AAuE7mCYY-iGjUIqBSnlLoszfZTN7rU7FRNg05Rdt9Ii3A=s64",
"userId": "11809607246124237079"
},
"user_tz": -660
},
"id": "ljhfRWOAGHKi",
"outputId": "f0db8c52-9d68-4a77-d5c0-46f86758fd4c"
},
"outputs": [],
"source": [
"# Merging both the data frames\n",
"balanceComb = pd.merge(balanceProp, balanceTot, on = ['balanceClass'])\n",
"balanceComb['catProp'] = (balanceComb.balanceCat / balanceComb.balanceTot)*100\n",
"balanceComb"
]
}
],
"metadata": {
"colab": {
"collapsed_sections": [],
"name": "Exercise3.03_updated.ipynb",
"provenance": []
},
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
}