diff --git a/notebooks/EDA_Hillstrom_dataset_tutorial.ipynb b/notebooks/EDA_Hillstrom_dataset_tutorial.ipynb new file mode 100644 index 0000000..d6538b8 --- /dev/null +++ b/notebooks/EDA_Hillstrom_dataset_tutorial.ipynb @@ -0,0 +1,1938 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "c553a794", + "metadata": {}, + "source": [ + "# 🎯 EDA Hillstrom `tutorial`\n", + "\n", + "
\n", + "
\n", + " \n", + " \n", + " \n", + "
\n", + " SCIKIT-UPLIFT REPO | \n", + " SCIKIT-UPLIFT DOCS | \n", + " USER GUIDE\n", + "
\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": 125, + "id": "5e223c64", + "metadata": {}, + "outputs": [], + "source": [ + "import sys\n", + "\n", + "# install uplift library scikit-uplift and other libraries \n", + "!{sys.executable} -m pip install scikit-uplift dill catboost" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "05decfa4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\anatoly\\appdata\\local\\programs\\python\\python39\\lib\\site-packages (from requests->scikit-uplift) (2021.5.30)\n", + "Requirement already satisfied: chardet<5,>=3.0.2 in c:\\users\\anatoly\\appdata\\local\\programs\\python\\python39\\lib\\site-packages (from requests->scikit-uplift) (4.0.0)\n" + ] + } + ], + "source": [ + "from matplotlib import pyplot as plt\n", + "from sklift.metrics import uplift_at_k\n", + "import seaborn as sns\n", + "import numpy as np\n", + "import pandas as pd" + ] + }, + { + "cell_type": "markdown", + "id": "57c436ed", + "metadata": {}, + "source": [ + "# 📝 Load dataset" + ] + }, + { + "cell_type": "markdown", + "id": "02983e22", + "metadata": {}, + "source": [ + "We are going to use a Hillstrom dataset from the MineThatData [hosted](https://blog.minethatdata.com/2008/03/minethatdata-e-mail-analytics-and-data.html) in march 2008 by the president of this company Kevin Hillstrom.\n", + "\n", + "MineThatData is a consulting company that helps CEO understand the complex relationship between Customers, Advertising, Products, Brands, and Channels." + ] + }, + { + "cell_type": "markdown", + "id": "e97e5c2e", + "metadata": {}, + "source": [ + "### Data description\n", + "\n", + "✏️ Dataset can be loaded from sklift.datasets module using fetch_hillstrom function.\n", + "\n", + "Read more about dataset in the [api docs](https://www.uplift-modeling.com/en/latest/api/datasets/fetch_hillstrom.html).\n", + "\n", + "This dataset contains 64,000 customers who last purchased within twelve months. The customers were involved in an e-mail test \n", + "\n", + "#### ✏️ Major columns:\n", + "\n", + "- `conversion` - (binary): target. 1/0 indicator, 1 = Customer purchased merchandise in the following two weeks.\n", + "- `visit` - (binary): target. 1/0 indicator, 1 = Customer visited website in the following two weeks.\n", + "- `spend` - (float): target. Actual dollars spent in the following two weeks.\n", + "- `segment` - (str): treatment. The e-mail campaign the customer received\n", + "\n", + "Read more in the [docs](https://www.uplift-modeling.com/en/latest/api/datasets/fetch_hillstrom.html#hillstrom)\n", + "\n", + "There are 3 types of targets (visit/conversion/spend) that we could get, it depends from the task of the customer. We should input target in the bracket when we download dataset from the library sklift" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "c9882f49", + "metadata": {}, + "outputs": [], + "source": [ + "from sklift.datasets import fetch_hillstrom\n", + "\n", + "# returns sklearn Bunch object\n", + "# with data, target, treatment keys\n", + "# data features (pd.DataFrame), target (pd.Series), treatment (pd.Series) values \n", + "dataset = fetch_hillstrom()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "1bdea302", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Dataset type: \n", + "\n", + "Dataset features shape: (64000, 8)\n", + "Dataset target shape: (64000,)\n", + "Dataset treatment shape: (64000,)\n" + ] + } + ], + "source": [ + "print(f\"Dataset type: {type(dataset)}\\n\")\n", + "print(f\"Dataset features shape: {dataset.data.shape}\")\n", + "print(f\"Dataset target shape: {dataset.target.shape}\")\n", + "print(f\"Dataset treatment shape: {dataset.treatment.shape}\")" + ] + }, + { + "cell_type": "markdown", + "id": "517ed54f", + "metadata": {}, + "source": [ + "# 📝 EDA" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "f468bf6b", + "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", + "
recencyhistory_segmenthistorymenswomenszip_codenewbiechannel
0102) $100 - $200142.4410Surburban0Phone
163) $200 - $350329.0811Rural1Web
272) $100 - $200180.6501Surburban1Web
395) $500 - $750675.8310Rural1Web
421) $0 - $10045.3410Urban0Web
63995102) $100 - $200105.5410Urban0Web
6399651) $0 - $10038.9101Urban1Phone
6399761) $0 - $10029.9910Urban1Phone
6399815) $500 - $750552.9410Surburban1Multichannel
6399914) $350 - $500472.8201Surburban0Web
\n", + "
" + ], + "text/plain": [ + " recency history_segment history mens womens zip_code newbie \\\n", + "0 10 2) $100 - $200 142.44 1 0 Surburban 0 \n", + "1 6 3) $200 - $350 329.08 1 1 Rural 1 \n", + "2 7 2) $100 - $200 180.65 0 1 Surburban 1 \n", + "3 9 5) $500 - $750 675.83 1 0 Rural 1 \n", + "4 2 1) $0 - $100 45.34 1 0 Urban 0 \n", + "63995 10 2) $100 - $200 105.54 1 0 Urban 0 \n", + "63996 5 1) $0 - $100 38.91 0 1 Urban 1 \n", + "63997 6 1) $0 - $100 29.99 1 0 Urban 1 \n", + "63998 1 5) $500 - $750 552.94 1 0 Surburban 1 \n", + "63999 1 4) $350 - $500 472.82 0 1 Surburban 0 \n", + "\n", + " channel \n", + "0 Phone \n", + "1 Web \n", + "2 Web \n", + "3 Web \n", + "4 Web \n", + "63995 Web \n", + "63996 Phone \n", + "63997 Phone \n", + "63998 Multichannel \n", + "63999 Web " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.data.head().append(dataset.data.tail())" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "e96da0a8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 64000 entries, 0 to 63999\n", + "Data columns (total 8 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 recency 64000 non-null int64 \n", + " 1 history_segment 64000 non-null object \n", + " 2 history 64000 non-null float64\n", + " 3 mens 64000 non-null int64 \n", + " 4 womens 64000 non-null int64 \n", + " 5 zip_code 64000 non-null object \n", + " 6 newbie 64000 non-null int64 \n", + " 7 channel 64000 non-null object \n", + "dtypes: float64(1), int64(4), object(3)\n", + "memory usage: 3.9+ MB\n" + ] + } + ], + "source": [ + "#info about types and null cells in dataset\n", + "dataset.data.info()" + ] + }, + { + "cell_type": "markdown", + "id": "d7e509f1", + "metadata": {}, + "source": [ + "# 📄 Categorical data" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "9dd7253f", + "metadata": {}, + "outputs": [], + "source": [ + "cat_features = ['channel', 'zip_code', 'history_segment', 'newbie']" + ] + }, + { + "cell_type": "markdown", + "id": "443621e7", + "metadata": {}, + "source": [ + "**Channel**" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "cbd0fcd8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['Phone', 'Web', 'Multichannel'], dtype=object)" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.data.channel.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "a638b2fd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYMAAAEvCAYAAACnuq2HAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Z1A+gAAAACXBIWXMAAAsTAAALEwEAmpwYAAAWCUlEQVR4nO3df7DddZ3f8eeLZGEZVgTE3qGENahpdwIoYhZwddpbnYWAOwW7rgOlEpSa7QBWdzPtZnc7gwtrx20XtmVH6caSCh3Lj110yEpcmjJcXWtBQCgBlCGDYUk2QjUIBHfU4Lt/fL9Xj+GGnNx78/3ee8/zMXPmnvM+3+/5vs/9Jud1v5/vj5OqQpI02g7quwFJUv8MA0mSYSBJMgwkSRgGkiQMA0kSsLjvBqbr6KOPrqVLl/bdxgHz4osvcthhh/XdhqbBdTe/LfT1d//993+nql67Z33ehsHSpUu57777+m7jgJmYmGB8fLzvNjQNrrv5baGvvyRPTlV3mEiSZBhIkgwDSRKGgSQJw0CShGEgScIwkCRhGEiSmMcnnXVt6drbO13empN2c1FHy9z6iXd3shxJc5dbBpIktwy08C3krTpwy06zwy0DSZJhIEkyDCRJGAaSJAwDSRKGgSQJw0CShGEgScIwkCRhGEiSMAwkSRgGkiQMA0kShoEkCcNAkoRhIEnCMJAkMUQYJDkuyV1JHk3ySJKPtPWPJdme5MH2dvbAPL+bZEuSx5KcOVBf2da2JFk7UD8+yT1t/eYkB8/2G5Uk7d0wWwa7gTVVtRw4Hbg0yfL2uT+pqpPb20aA9rnzgBOAlcCnkixKsgj4JHAWsBw4f+B1/qh9rTcCzwIXz9L7kyQNYZ9hUFU7qurr7f0XgG8Ax77CLOcAN1XVD6rqW8AW4NT2tqWqnqiqHwI3AeckCfBO4C/a+a8Hzp3m+5EkTcN+7TNIshR4C3BPW7osyUNJ1ic5sq0dCzw1MNu2tra3+muA71XV7j3qkqSOLB52wiS/ANwKfLSqnk9yLXAlUO3Pq4APHpAuf9rDamA1wNjYGBMTEwdycT9jzUm79z3RLBo7tLtldvl77MNCXnew8Ndf13bt2jWSv9OhwiDJz9EEwWer6nMAVfX0wPOfBr7QPtwOHDcw+5K2xl7q3wWOSLK43ToYnP5nVNU6YB3AihUranx8fJj2Z8VFa2/vbFnQfJhctXnorJ6RrReMd7KcvizkdQcLf/11bWJigi4/W+aKYY4mCnAd8I2qunqgfszAZO8BHm7vbwDOS3JIkuOBZcDXgHuBZe2RQwfT7GTeUFUF3AW8t51/FXDbzN6WJGl/DPPny9uB9wObkzzY1n6P5migk2mGibYCvwlQVY8kuQV4lOZIpEur6iWAJJcBdwCLgPVV9Uj7er8D3JTkD4EHaMJHktSRfYZBVX0FyBRPbXyFeT4OfHyK+sap5quqJ2iONpIk9cAzkCVJhoEkyTCQJGEYSJIwDCRJGAaSJAwDSRKGgSQJw0CShGEgScIwkCRhGEiSMAwkSRgGkiQMA0kShoEkCcNAkoRhIEnCMJAkYRhIkjAMJEkYBpIkDANJEoaBJAnDQJKEYSBJwjCQJGEYSJIYIgySHJfkriSPJnkkyUfa+lFJNiV5vP15ZFtPkmuSbEnyUJJTBl5rVTv940lWDdTfmmRzO881SXIg3qwkaWrDbBnsBtZU1XLgdODSJMuBtcCdVbUMuLN9DHAWsKy9rQauhSY8gMuB04BTgcsnA6Sd5kMD862c+VuTJA1rn2FQVTuq6uvt/ReAbwDHAucA17eTXQ+c294/B7ihGncDRyQ5BjgT2FRVO6vqWWATsLJ97vCquruqCrhh4LUkSR3Yr30GSZYCbwHuAcaqakf71LeBsfb+scBTA7Nta2uvVN82RV2S1JHFw06Y5BeAW4GPVtXzg8P6VVVJ6gD0t2cPq2mGnhgbG2NiYuJAL/In1py0u7NlAYwd2t0yu/w99mEhrztY+Ouva7t27RrJ3+lQYZDk52iC4LNV9bm2/HSSY6pqRzvU80xb3w4cNzD7kra2HRjfoz7R1pdMMf3LVNU6YB3AihUranx8fKrJDoiL1t7e2bKg+TC5avPQWT0jWy8Y72Q5fVnI6w4W/vrr2sTEBF1+tswVwxxNFOA64BtVdfXAUxuAySOCVgG3DdQvbI8qOh14rh1OugM4I8mR7Y7jM4A72ueeT3J6u6wLB15LktSBYf58eTvwfmBzkgfb2u8BnwBuSXIx8CTwvva5jcDZwBbg+8AHAKpqZ5IrgXvb6a6oqp3t/UuAzwCHAl9sb5KkjuwzDKrqK8Dejvt/1xTTF3DpXl5rPbB+ivp9wIn76kWSdGB4BrIkyTCQJBkGkiQMA0kShoEkCcNAkoRhIEnCMJAkYRhIkjAMJEkYBpIkDANJEoaBJAnDQJKEYSBJwjCQJGEYSJIwDCRJGAaSJAwDSRKGgSQJw0CShGEgScIwkCRhGEiSMAwkSRgGkiQMA0kSQ4RBkvVJnkny8EDtY0m2J3mwvZ098NzvJtmS5LEkZw7UV7a1LUnWDtSPT3JPW785ycGz+QYlSfs2zJbBZ4CVU9T/pKpObm8bAZIsB84DTmjn+VSSRUkWAZ8EzgKWA+e30wL8UftabwSeBS6eyRuSJO2/fYZBVX0Z2Dnk650D3FRVP6iqbwFbgFPb25aqeqKqfgjcBJyTJMA7gb9o578eOHf/3oIkaaYWz2Dey5JcCNwHrKmqZ4FjgbsHptnW1gCe2qN+GvAa4HtVtXuK6V8myWpgNcDY2BgTExMzaH//rDlp974nmkVjh3a3zC5/j31YyOsOFv7669quXbtG8nc63TC4FrgSqPbnVcAHZ6upvamqdcA6gBUrVtT4+PiBXuRPXLT29s6WBc2HyVWbZ5LVw9t6wXgny+nLQl53sPDXX9cmJibo8rNlrpjWv9iqenryfpJPA19oH24HjhuYdElbYy/17wJHJFncbh0MTi9J6si0Di1NcszAw/cAk0cabQDOS3JIkuOBZcDXgHuBZe2RQwfT7GTeUFUF3AW8t51/FXDbdHqSJE3fPrcMktwIjANHJ9kGXA6MJzmZZphoK/CbAFX1SJJbgEeB3cClVfVS+zqXAXcAi4D1VfVIu4jfAW5K8ofAA8B1s/XmJEnD2WcYVNX5U5T3+oFdVR8HPj5FfSOwcYr6EzRHG0mSeuIZyJIkw0CSZBhIkjAMJEkYBpIkDANJEoaBJAnDQJKEYSBJwjCQJGEYSJIwDCRJGAaSJAwDSRKGgSQJw0CShGEgScIwkCRhGEiSMAwkSRgGkiQMA0kShoEkCcNAkoRhIEnCMJAkYRhIkhgiDJKsT/JMkocHakcl2ZTk8fbnkW09Sa5JsiXJQ0lOGZhnVTv940lWDdTfmmRzO881STLbb1KS9MqG2TL4DLByj9pa4M6qWgbc2T4GOAtY1t5WA9dCEx7A5cBpwKnA5ZMB0k7zoYH59lyWJOkA22cYVNWXgZ17lM8Brm/vXw+cO1C/oRp3A0ckOQY4E9hUVTur6llgE7Cyfe7wqrq7qgq4YeC1JEkdme4+g7Gq2tHe/zYw1t4/FnhqYLptbe2V6tumqEuSOrR4pi9QVZWkZqOZfUmymmb4ibGxMSYmJrpYLABrTtrd2bIAxg7tbpld/h77sJDXHSz89de1Xbt2jeTvdLph8HSSY6pqRzvU80xb3w4cNzDdkra2HRjfoz7R1pdMMf2UqmodsA5gxYoVNT4+vrdJZ91Fa2/vbFnQfJhctXnGWT2UrReMd7KcvizkdQcLf/11bWJigi4/W+aK6Q4TbQAmjwhaBdw2UL+wParodOC5djjpDuCMJEe2O47PAO5on3s+yentUUQXDryWJKkj+/zzJcmNNH/VH51kG81RQZ8AbklyMfAk8L528o3A2cAW4PvABwCqameSK4F72+muqKrJndKX0ByxdCjwxfYmSerQPsOgqs7fy1PvmmLaAi7dy+usB9ZPUb8POHFffUiSDhzPQJYkGQaSJMNAkoRhIEnCMJAkYRhIkjAMJEkYBpIkDANJEoaBJAnDQJLELHyfgSQdSEt7uAR5l5c93/qJd3e2rFfiloEkyTCQJBkGkiQMA0kShoEkCcNAkoRhIEnCMJAkYRhIkjAMJEkYBpIkDANJEoaBJAnDQJKEYSBJwjCQJDHDMEiyNcnmJA8mua+tHZVkU5LH259HtvUkuSbJliQPJTll4HVWtdM/nmTVzN6SJGl/zcaWwT+pqpOrakX7eC1wZ1UtA+5sHwOcBSxrb6uBa6EJD+By4DTgVODyyQCRJHXjQAwTnQNc396/Hjh3oH5DNe4GjkhyDHAmsKmqdlbVs8AmYOUB6EuStBczDYMC/meS+5OsbmtjVbWjvf9tYKy9fyzw1MC829ra3uqSpI4snuH876iq7Un+HrApyTcHn6yqSlIzXMZPtIGzGmBsbIyJiYnZeul9WnPS7s6WBTB2aHfL7PL32IeFvO7A9TfbRnX9zSgMqmp7+/OZJJ+nGfN/OskxVbWjHQZ6pp18O3DcwOxL2tp2YHyP+sRelrcOWAewYsWKGh8fn2qyA+Kitbd3tixo/jFetXmmWT2crReMd7KcvizkdQeuv9k2qutv2sNESQ5L8qrJ+8AZwMPABmDyiKBVwG3t/Q3Ahe1RRacDz7XDSXcAZyQ5st1xfEZbkyR1ZCbxNwZ8Psnk6/yPqvqrJPcCtyS5GHgSeF87/UbgbGAL8H3gAwBVtTPJlcC97XRXVNXOGfQlSdpP0w6DqnoCePMU9e8C75qiXsCle3mt9cD66fYiSZoZz0CWJBkGkiTDQJKEYSBJwjCQJGEYSJIwDCRJGAaSJAwDSRKGgSQJw0CShGEgScIwkCRhGEiSMAwkSRgGkiQMA0kShoEkCcNAkoRhIEnCMJAkYRhIkjAMJEkYBpIkDANJEoaBJAnDQJKEYSBJYg6FQZKVSR5LsiXJ2r77kaRRMifCIMki4JPAWcBy4Pwky/vtSpJGx5wIA+BUYEtVPVFVPwRuAs7puSdJGhmpqr57IMl7gZVV9S/bx+8HTquqy/aYbjWwun34D4HHOm20W0cD3+m7CU2L625+W+jr73VV9do9i4v76GS6qmodsK7vPrqQ5L6qWtF3H9p/rrv5bVTX31wZJtoOHDfweElbkyR1YK6Ewb3AsiTHJzkYOA/Y0HNPkjQy5sQwUVXtTnIZcAewCFhfVY/03FbfRmI4bIFy3c1vI7n+5sQOZElSv+bKMJEkqUeGgSTJMJAkGQZzTpLDk7yq7z4kjRZ3IM8RSX4ZWA+8CgjwPeCDVXV/n31peEleByyrqv+V5FBgcVW90Hdf2rskv/1Kz1fV1V310rc5cWipALgOuKSq/hogyTuA/wa8qdeuNJQkH6K5VMpRwBtoTpz8L8C7+uxL++RWeMstgzkiyQNV9ZY9al+vqlP66knDS/IgzQUX75lcj0k2V9VJvTYmDcl9Bj1LckqSU4AvJfmzJONJ/nGSTwETPben4f2gveIuAEkWA/6lNU8k+QdJ7kzycPv4TUn+Xd99dcktg54luesVnq6qemdnzWjakvwHmv08FwIfBi4BHq2q3++zLw0nyZeAfwP82cCW3cNVdWK/nXXHMJBmQZKDgIuBM2gOALgD+K/lf7B5Icm9VfXLg8O1SR6sqpN7bq0z7kCeI5KMAf8e+PtVdVb7TW9vq6rrem5NQ6iqHwOfbm+af76T5A20Q3vtd6zs6LelbrllMEck+SLN0UO/X1VvbsecH3AH5PyQ5O3Ax4DX0fyRFZphvtf32ZeGk+T1NBeo+xXgWeBbwL+oqq199tUlw2COcDN1fkvyTeC3gPuBlybrVfXd3prSfktyGHDQKJ4f4jDR3PFiktfw083U04Hn+m1J++G5qvpi301oepIcAvw6sBRYnASAqrqix7Y6ZRj0LMlHga8C/xa4DXh9kv8NvBb4jR5b0/65K8l/BD4H/GCyWFVf768l7YfbaP74up+B9TdKHCbqWZI/phmn/CXgmzRf9/ll4MaqWshfyr2g7OUQYQ8NnidG7TDSqRgGc0T7dZ8raILhbe3te1W1vNfGpBGQZB3wp1W1ue9e+uIw0dxxKHA48Or29rfAyP7DnG+SvBq4HPhHbelLwBVV5X6f+eEdwEVJvkUzTDR5NNjIXBvMLYOetX+RnAC8ANwD3A3cXVXP9tqY9kuSW4GHgevb0vuBN1fVP+uvKw2rveLsy1TVk1330he3DPr3i8AhwOM0+wu20VzWQPPLG6rq1wce/0F78TrNA1X1ZJJFwBgj+rk4km96LqmqlWmOYzuBZn/BGuDEJDuB/1NVl/faoIb1d0neUVVfgZ+chPZ3PfekISX5MM0w39PAj9tyMUKXkHeYaA5JsgR4O00o/Brwmqo6otemNJQkbwZuoNnfE2AncFFV/d9eG9NQkmwBThvlkwQNg54l+dc0H/6/AvyI5pyDydvm9po3mieSHA5QVc/33YuG1x4a/KtVtbvvXvriMFH/lgJ/DvxWVY3UhbEWEs9gnfeeACaS3M7PnjTo116qG1X1it/Bqnlj5M9gnef+pr0d3N5GjsNE0izwDFbNd24ZSLPjq0lOGuUzWOezJK+luT7YCcDPT9ZH6XIihoE0A0k20xyCuBj4QJInGNEzWOe5zwI30xzF96+AVcD/67WjjjlMJM3A3s5cnTRKZ7DOZ0nur6q3JnloMsAnv2Ok79664paBNDNP0/wl+Uaaa0ldN8qHJ85jP2p/7kjybpprgx3VYz+dc8tAmoEkN9N8kPw1cBbwZFV9pN+utL+S/BrNOjwO+FOai0b+QVVt6LWxDhkG0gwk2Tz5PdXt91Z/rapO6bktab85TCTNzOTwAlW1e/JkM80v7dFEH6I9aXCyXlUf7KunrrllIM1AkpeAFycf0nwvxff56dFEh/fVm4aX5Ks0w0T3Ay9N1qvq1t6a6phhIGnkJXmwqk7uu48+HdR3A5I0B3whydl9N9EntwwkjawkL9CcNBjgMJoTBn/ECA7zGQaSJIeJJCnJe5K8euDxEUnO7bGlzrllIGnkTbUDOckDVfWWnlrqnFsGkjT1Z+FInYdlGEgS3Jfk6iRvaG9X05xzMDIMA0mCDwM/pLmM9c00RxVd2mtHHXOfgSRptMbEJGlQkv9UVR9N8pc05xv8jKr6pz201QvDQNIo++/tzz/utYs5wDCQNLKqanIn8clV9Z8Hn0vyEeBL3XfVD3cgS1Lzncd7uqjrJvrkloGkkZXkfOCfA8cnGfxWs1cBO/vpqh+GgaRR9lVgB3A0cNVA/QXgoV466omHlkqS3DKQNLoGLmH9sqfwEtaSpFHjloGkkZfkF6eqV9XfdN1LX9wykDTykmweePjzwPHAY1V1Qk8tdc4tA0kjr6pOGnyc5BTgkp7a6YVbBpI0hSSb9wyJhcwtA0kjL8lvDzw8CDgF+Nue2umFYSBJzRnHk3YDtwO39tRLLxwmkiS5ZSBpdO1xPaKX8fsMJGk0vA14CrgRuIfmzOOR5DCRpJGVZBHwq8D5wJto9hXcWFWP9NpYD/w+A0kjq6peqqq/qqpVwOnAFmAiyWU9t9Y5h4kkjbQkhwDvptk6WApcA3y+z5764DCRpJGV5AbgRGAjcFNVPdxzS70xDCSNrCQ/Bl5sHw5+GHoJa0nS6HEHsiTJMJAkGQaSJAwDSRKGgSQJ+P8m/8QcQkF4rAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "dataset.data.channel.value_counts().plot(kind = 'bar', grid=True)" + ] + }, + { + "cell_type": "markdown", + "id": "37991502", + "metadata": {}, + "source": [ + "**Zip code**" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "765cd3f1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['Surburban', 'Rural', 'Urban'], dtype=object)" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.data.zip_code.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "b44a7f47", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "dataset.data.zip_code.value_counts().plot(kind = 'bar', grid=True)" + ] + }, + { + "cell_type": "markdown", + "id": "6483e5e8", + "metadata": {}, + "source": [ + "**History segment**" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "cbbe9e89", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['2) $100 - $200', '3) $200 - $350', '5) $500 - $750',\n", + " '1) $0 - $100', '6) $750 - $1,000', '4) $350 - $500',\n", + " '7) $1,000 +'], dtype=object)" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.data.history_segment.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "2c53d180", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "dataset.data.history_segment.value_counts().plot(kind = 'bar', grid=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "3c2aca87", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "dataset.data.womens.value_counts().plot(kind = 'bar', grid=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "2e99e8a5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "dataset.data.mens.value_counts().plot(kind = 'bar', grid=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "82ca1614", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1 35182\n", + "0 28818\n", + "Name: womens, dtype: int64" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.data.womens.value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "c66258e5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "womens\n", + "0 45.028125\n", + "1 54.971875\n", + "dtype: float64" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.data.groupby('womens').size()/dataset.data['womens'].count()*100" + ] + }, + { + "cell_type": "markdown", + "id": "5aed1905", + "metadata": {}, + "source": [ + "- `55%` - womens purchases\n", + "- `44%` - mens purchases" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "e829d37b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1 35266\n", + "0 28734\n", + "Name: mens, dtype: int64" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.data.mens.value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "eaa81820", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "mens\n", + "0 44.896875\n", + "1 55.103125\n", + "dtype: float64" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.data.groupby('mens').size()/dataset.data['mens'].count()*100" + ] + }, + { + "cell_type": "markdown", + "id": "2349e910", + "metadata": {}, + "source": [ + "- `55%` - mens purchases\n", + "- `44%` - womens purchases" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "bb32fa92", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize = (14,8))\n", + "\n", + "sns.set()\n", + "sns.heatmap(dataset.data.corr().round(3), annot=True, square = True, linewidths=.75, cmap='RdPu', fmt = '.2f',annot_kws = {\"size\": 10} )\n", + "\n", + "plt.title('Correlation matrix')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "aa0b2435", + "metadata": {}, + "source": [ + "- Womens and mens are in inverse correlation. I propose to make 1 column \"gender\" and merge." + ] + }, + { + "cell_type": "markdown", + "id": "9ca9101c", + "metadata": {}, + "source": [ + "- As we can see, there is high correlation between \"history_segment\" and \"history\". Could we merge it also and transform columns to numeric data?" + ] + }, + { + "cell_type": "markdown", + "id": "83160e2c", + "metadata": {}, + "source": [ + "# 📄 Numeric data" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "6ce14108", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "dataset.data.loc[:, 'recency'].hist(figsize=(8, 4), bins=12, grid=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "cb95b5c2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "29.99 7947\n", + "81.20 9\n", + "53.79 9\n", + "60.51 8\n", + "88.09 8\n", + " ... \n", + "200.53 1\n", + "234.76 1\n", + "239.91 1\n", + "99.85 1\n", + "738.50 1\n", + "Name: history, Length: 34833, dtype: int64" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.data.history.value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "7739b8d2", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "dataset.data.loc[:, 'history'].hist(figsize=(8, 4), bins=20, grid=True);" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "0009afc4", + "metadata": {}, + "outputs": [], + "source": [ + "dataset.data['history_log'] = np.log(dataset.data['history'] + 1.1)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "e11fa9ca", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "dataset.data.loc[:, 'history_log'].hist(figsize=(8, 4), bins=20, grid=True);" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "f99160f9", + "metadata": {}, + "outputs": [], + "source": [ + "numeric_features = ['history_log', 'recency']" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "8ec394d6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['recency',\n", + " 'history_segment',\n", + " 'history',\n", + " 'mens',\n", + " 'womens',\n", + " 'zip_code',\n", + " 'newbie',\n", + " 'channel',\n", + " 'history_log']" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.data.columns.to_list()" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "6951a5ee", + "metadata": {}, + "outputs": [], + "source": [ + "final_features = ['recency', 'history_segment', 'mens', 'womens', 'zip_code', 'newbie', 'channel', 'history_log']" + ] + }, + { + "cell_type": "markdown", + "id": "a6d14da2", + "metadata": {}, + "source": [ + "# 🎯 Target data" + ] + }, + { + "cell_type": "markdown", + "id": "a17b48db", + "metadata": {}, + "source": [ + "Let's segment dataset data" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "2a6cc7c9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 Womens E-Mail\n", + "1 No E-Mail\n", + "2 Womens E-Mail\n", + "3 Mens E-Mail\n", + "4 Womens E-Mail\n", + "Name: segment, dtype: object" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.treatment.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "ef7aa5d4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['Womens E-Mail', 'No E-Mail', 'Mens E-Mail'], dtype=object)" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.treatment.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "229b6409", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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mpoKQGZmJmlpaWzcuJHBgwezdu3aTlo1ERHxlU+hcODAAeNxSkoKKSkpbV4zatQodu3a1aYeFhZGXl5em3poaChbtmzxpQ0REekiOqNZREQMCgURETEoFERExKBQEBERg0JBREQMCgURETEoFERExKBQEBERg0JBREQMCgURETEoFERExKBQEBERg0JBREQMCgURETEoFERExKBQEBERg9eh4Ha7mTRpEufOnQNgx44dTJo0CYfDweLFi/niiy8AWL9+PePHj2fy5MlMnjyZbdu2AVBeXs6UKVOIj49n6dKlNDU1AVBVVUVKSgoJCQnMnTuXurq6zl5HERHxklehcOzYMaZPn05FRQUAp0+f5vXXX+fNN99k165dtLS0sH37dgDKyspYu3YtBQUFFBQUGHdnW7hwIRkZGRQVFeHxeMjNzQVg2bJlzJgxA6fTyfDhw8nJyemC1RQREW94FQq5ublkZmZit9sB6NOnDy+99BLBwcFYLBbuv/9+qqqqgOuhsHnzZhwOB8uXL6ehoYHKykrq6+sJDw8HIDk5GafTSWNjIyUlJcTHx7eqi4iIOby6R/OKFStaPQ8NDSU0NBSACxcusG3bNlatWkVdXR0PPPAAixYtIjQ0lLS0NHJychg3bhw2m814v81mw+VycfHiRYKDg7Fara3qvhg0KNin18uN2Wz9zW5BOkDj1335y9h5FQrfxOVy8eMf/5gpU6YwcuRIADZv3mwsf/bZZ1myZAnR0dFt3muxWPB4PF9b98X5825aWtr+nK7gL4PWlWpqrpjdQpfR+HVfGrvO06uX5YYfptt99NHHH3/M9OnTefzxx3nuueeA618a5+XlGa/xeDxYrVZCQkKora016jU1NdjtdgYOHIjb7aa5ublVXUREzNGuUHC73fzoRz9i/vz5PPvss0a9b9++rFmzhk8//RSPx8O2bduIjY0lNDSUwMBASktLAcjPzycqKoqAgAAiIiIoLCxsVRcREXO0a/ooLy+P2tpa3njjDd544w0AYmJimD9/PsuXL2fu3Lk0Njbygx/8gGeeeQaA7Oxs0tPTqaurY9iwYaSmpgKQmZlJWloaGzduZPDgwaxdu7aTVk1ERHzlUygcOHAAgFmzZjFr1qyvfU18fLxxNNFXhYWFtZpa+lJoaChbtmzxpQ0REekiOqNZREQMCgURETEoFERExKBQEBERg0JBREQMCgURETEoFERExKBQEBERg0JBREQMCgURETEoFERExKBQEBERg0JBREQMCgURETEoFERExOBVKLjdbiZNmsS5c+cAKC4uxuFwEBcXx7p164zXlZeXM2XKFOLj41m6dClNTU3A9dt0pqSkkJCQwNy5c6mrqwPg8uXLzJ49m8TERFJSUqipqens9RMRER/cNBSOHTvG9OnTqaioAKC+vp4lS5aQk5NDYWEhZWVlHDx4EICFCxeSkZFBUVERHo+H3NxcAJYtW8aMGTNwOp0MHz6cnJwcAF599VUiIiLYs2cPTzzxBCtWrOii1RQREW/cNBRyc3PJzMzEbrcDcPz4cYYOHcqQIUOwWq04HA6cTieVlZXU19cTHh4OQHJyMk6nk8bGRkpKSoy7sX1ZB3jnnXdwOBwATJo0iXfffZfGxsauWE8REfHCTW/H+def3qurq7HZbMZzu92Oy+VqU7fZbLhcLi5evEhwcDBWq7VV/a9/ltVqJTg4mAsXLhASEuL1CgwaFOz1a+XmbLb+ZrcgHaDx6778Zex8ukczgMfjaVOzWCw+179Jr16+ffd9/ryblpa2v6Mr+MugdaWamitmt9BlNH7dl8au8/TqZbnhh2mfjz4KCQmhtrbWeF5dXY3dbm9Tr6mpwW63M3DgQNxuN83Nza3qcH0v48v3NDU14Xa7GTBggK8tiYhIJ/E5FEaMGMHp06c5c+YMzc3N7N69m6ioKEJDQwkMDKS0tBSA/Px8oqKiCAgIICIigsLCwlZ1gOjoaPLz8wEoLCwkIiKCgICATlo1ERHxlc/TR4GBgWRlZTFv3jwaGhqIjo4mISEBgOzsbNLT06mrq2PYsGGkpqYCkJmZSVpaGhs3bmTw4MGsXbsWgPnz55OWlkZSUhL9+/cnOzu7E1dNRER85XUoHDhwwHg8atQodu3a1eY1YWFh5OXltamHhoayZcuWNvUBAwawadMmb1sQEZEupjOaRUTEoFAQERGDQkFERAwKBRERMSgURETEoFAQERGDQkFERAwKBRERMSgURETEoFAQERGDQkFERAwKBRERMSgURETEoFAQERGDQkFERAw+32TnS//1X//F1q1bjefnzp1j8uTJXLt2jdLSUm677TYAnn/+eWJjYykuLmbVqlU0NDSQmJjIggULACgvLyc9PR23201ERATLli3Dam13WyIi0gHt3lN44oknKCgooKCggOzsbAYNGsTzzz9PWVkZW7duNZbFxsZSX1/PkiVLyMnJobCwkLKyMg4ePAjAwoULycjIoKioCI/HQ25ubqetnIiI+KZTpo9eeuklFixYQN++famqqiIjIwOHw8Frr71GS0sLx48fZ+jQoQwZMgSr1YrD4cDpdFJZWUl9fT3h4eEAJCcn43Q6O6MlERFphw7P0xQXF1NfX09iYiKffvopkZGRLF++nKCgIObMmUNeXh5BQUHYbDbjPXa7HZfLRXV1dau6zWbD5XL59PsHDQru6CrIV9hs/c1uQTpA49d9+cvYdTgU3nzzTZ555hkAhgwZwoYNG4xlM2fOJD8/n4SEhDbvs1gseDyer6374vx5Ny0tbX9OV/CXQetKNTVXzG6hy2j8ui+NXefp1ctyww/THZo++uKLLygpKSEmJgaAU6dOUVRUZCz3eDxYrVZCQkKora016tXV1djt9jb1mpoa7HZ7R1oSEZEO6FAonDp1iu9+97sEBQUB10Ng5cqVXLp0icbGRnbs2EFsbCwjRozg9OnTnDlzhubmZnbv3k1UVBShoaEEBgZSWloKQH5+PlFRUR1fKxERaZcOTR99+umn3HXXXcbzsLAwZs+ezfTp02lqaiIuLo5JkyYBkJWVxbx582hoaCA6OtqYUsrOziY9PZ26ujqGDRtGampqR1oSEZEO6FAoTJw4kYkTJ7aqpaSkkJKS0ua1o0aNYteuXW3qYWFh5OXldaQNERHpJDqjWUREDAoFERExKBRERMSgUBAREYNCQUREDAoFERExKBRERMSgUBAREYNCQUREDAoFERExKBRERMSgUBAREYNCQUREDAoFERExKBRERMTQofsppKamcv78eazW6z9m+fLlnD17lo0bN9LY2MisWbOMeysUFxezatUqGhoaSExMZMGCBQCUl5eTnp6O2+0mIiKCZcuWGT9PRERurXbvKXg8Hj755BMKCgqM/+666y7WrVvH9u3bKSgoYMeOHfzf//0f9fX1LFmyhJycHAoLCykrK+PgwYMALFy4kIyMDIqKivB4POTm5nbayomIiG/aHQqffPIJFouFf/7nf+bRRx9l69atFBcXExkZyYABAwgKCiI+Ph6n08nx48cZOnQoQ4YMwWq14nA4cDqdVFZWUl9fT3h4OADJyck4nc7OWjcREfFRu+dpLl++zKhR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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "dataset.treatment.value_counts().plot(kind = 'bar', grid = 'True')" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "78f3f7e8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 0\n", + "1 0\n", + "2 0\n", + "3 0\n", + "4 0\n", + "Name: visit, dtype: int64" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.target.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "777b3584", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "dataset.target.value_counts().plot(kind = 'bar')" + ] + }, + { + "cell_type": "markdown", + "id": "f331cdf9", + "metadata": {}, + "source": [ + "Target is disbalanced" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "dc53d3d6", + "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", + "
visit01
segment
Mens E-Mail0.8172430.182757
No E-Mail0.8938330.106167
Womens E-Mail0.8486000.151400
\n", + "
" + ], + "text/plain": [ + "visit 0 1\n", + "segment \n", + "Mens E-Mail 0.817243 0.182757\n", + "No E-Mail 0.893833 0.106167\n", + "Womens E-Mail 0.848600 0.151400" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd \n", + "\n", + "pd.crosstab(dataset.treatment, dataset.target, normalize='index')" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "e1422eb7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0, 1], dtype=int64)" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.target.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "bcc5192b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Treatment & Target')" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "crosstab = pd.crosstab(dataset.treatment, dataset.target, normalize='index')\n", + " \n", + "sns.heatmap(crosstab, annot=True, fmt=\".2f\", linewidths=1, square = True, cmap = 'RdPu')\n", + "plt.xlabel('Target')\n", + "plt.title(\"Treatment & Target\")" + ] + }, + { + "cell_type": "markdown", + "id": "6a1f69fc", + "metadata": {}, + "source": [ + "There are two cases:\n", + "- `Womens E-mail - No E-mail`\n", + "- `Mens E-mail - No E-mail`\n", + "\n", + "In our tutorial we perform with first. The second you could explore by yourself." + ] + }, + { + "cell_type": "markdown", + "id": "0ee63ffc", + "metadata": {}, + "source": [ + "## Womens E-mail - No E-mail" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "00d59845", + "metadata": {}, + "outputs": [], + "source": [ + "# make treatment binary\n", + "treat_dict_womens = {\n", + " 'Womens E-Mail': 1,\n", + " 'No E-Mail': 0, \n", + " 'Mens E-Mail': 0\n", + " }\n", + "dataset.treatment_womens = dataset.treatment.map(treat_dict_womens)" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "38975696", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "dataset.treatment_womens.value_counts().plot(kind = 'bar', grid = 'True')" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "30893b76", + "metadata": {}, + "outputs": [], + "source": [ + "stratify_cols = pd.concat([dataset.treatment_womens, dataset.target], axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "bef56cf6", + "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", + "
segmentvisit
010
100
\n", + "
" + ], + "text/plain": [ + " segment visit\n", + "0 1 0\n", + "1 0 0" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "stratify_cols.head(2)" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "0e52cefe", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train shape: (44800, 9)\n", + "Validation shape: (19200, 9)\n" + ] + } + ], + "source": [ + "from sklearn.model_selection import train_test_split\n", + "\n", + "stratify_cols = pd.concat([dataset.treatment_womens, dataset.target], axis=1)\n", + "\n", + "X_train, X_val, trmnt_train, trmnt_val, y_train, y_val = train_test_split(\n", + " dataset.data,\n", + " dataset.treatment_womens,\n", + " dataset.target,\n", + " stratify=stratify_cols,\n", + " test_size=0.3,\n", + " random_state=42\n", + ")\n", + "\n", + "print(f\"Train shape: {X_train.shape}\")\n", + "print(f\"Validation shape: {X_val.shape}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "c8b0523d", + "metadata": {}, + "outputs": [], + "source": [ + "from sklift.models import ClassTransformation\n", + "from catboost import CatBoostClassifier\n", + "\n", + "estimator = CatBoostClassifier(verbose=100, \n", + " cat_features=cat_features,\n", + " random_state=42,\n", + " thread_count=1\n", + " )\n", + "\n", + "ct_model = ClassTransformation(estimator=estimator)" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "b6b47265", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + ":1: UserWarning: It is recommended to use this approach on treatment balanced data. Current sample size is unbalanced.\n", + " ct_model.fit(\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Learning rate set to 0.052243\n", + "0:\tlearn: 0.6899802\ttotal: 438ms\tremaining: 7m 18s\n", + "100:\tlearn: 0.6609514\ttotal: 14.1s\tremaining: 2m 5s\n", + "200:\tlearn: 0.6590899\ttotal: 28.2s\tremaining: 1m 51s\n", + "300:\tlearn: 0.6567741\ttotal: 44.3s\tremaining: 1m 42s\n", + "400:\tlearn: 0.6542030\ttotal: 1m 1s\tremaining: 1m 31s\n", + "500:\tlearn: 0.6519431\ttotal: 1m 17s\tremaining: 1m 17s\n", + "600:\tlearn: 0.6499765\ttotal: 1m 33s\tremaining: 1m 2s\n", + "700:\tlearn: 0.6479570\ttotal: 1m 51s\tremaining: 47.6s\n", + "800:\tlearn: 0.6456324\ttotal: 2m 8s\tremaining: 31.9s\n", + "900:\tlearn: 0.6436541\ttotal: 2m 25s\tremaining: 16s\n", + "999:\tlearn: 0.6416725\ttotal: 2m 42s\tremaining: 0us\n" + ] + }, + { + "data": { + "text/plain": [ + "ClassTransformation(estimator=)" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ct_model.fit(\n", + " X=X_train, \n", + " y=y_train, \n", + " treatment=trmnt_train\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "1eae8382", + "metadata": {}, + "outputs": [], + "source": [ + "from sklift.metrics import uplift_at_k" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "da7c489e", + "metadata": {}, + "outputs": [], + "source": [ + "uplift_predictions = ct_model.predict(X_val)" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "56c39c27", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "uplift@10%: 0.0162 (sort groups by uplift together)\n", + "uplift@10%: 0.0192 (sort groups by uplift separately)\n" + ] + } + ], + "source": [ + "# k = 10%\n", + "k = 0.1 \n", + "\n", + "# strategy='overall' sort by uplift treatment and control together\n", + "uplift_overall = uplift_at_k(y_val, uplift_predictions, trmnt_val, strategy='overall', k=k)\n", + "\n", + "# strategy='by_group' sort by uplift treatment and control separately\n", + "uplift_bygroup = uplift_at_k(y_val, uplift_predictions, trmnt_val, strategy='by_group', k=k)\n", + "\n", + "\n", + "print(f\"uplift@{k * 100:.0f}%: {uplift_overall:.4f} (sort groups by uplift together)\")\n", + "print(f\"uplift@{k * 100:.0f}%: {uplift_bygroup:.4f} (sort groups by uplift separately)\")" + ] + }, + { + "cell_type": "markdown", + "id": "e84867d2", + "metadata": {}, + "source": [ + "# 🎯 Adversarial validation " + ] + }, + { + "cell_type": "markdown", + "id": "42438771", + "metadata": {}, + "source": [ + "The general idea of adversarial validation is to check the degree of similarity between training and tests in terms of feature distribution: if they are difficult to distinguish, the distribution is probably similar and the usual validation techniques should work" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "id": "bee7b6a2", + "metadata": {}, + "outputs": [], + "source": [ + "train_proportion = 0.7\n", + "train_test_cut = int(dataset.data.shape[0] * train_proportion)" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "id": "2bdbcf43", + "metadata": {}, + "outputs": [], + "source": [ + "dataset.data.loc[:train_test_cut, 'dataset_label'] = 0" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "id": "bd788227", + "metadata": {}, + "outputs": [], + "source": [ + "dataset.data.loc[train_test_cut:, 'dataset_label'] = 1" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "id": "8075b15a", + "metadata": {}, + "outputs": [], + "source": [ + "target = 'dataset_label'" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "id": "4b6c468f", + "metadata": {}, + "outputs": [], + "source": [ + "df_train = dataset.data[:train_test_cut] " + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "id": "f840e966", + "metadata": {}, + "outputs": [], + "source": [ + "df_test = dataset.data[train_test_cut:] " + ] + }, + { + "cell_type": "code", + "execution_count": 116, + "id": "df188f77", + "metadata": {}, + "outputs": [], + "source": [ + "from catboost import Pool" + ] + }, + { + "cell_type": "markdown", + "id": "c7c7544c", + "metadata": {}, + "source": [ + "This is the target that we’ll train a model to predict. Right now, the train and test datasets are separate, and each dataset has only one label for the target value. If we trained a model on this training set, it would just learn that everything was 0. We want to instead shuffle the train and test datasets, and then create new datasets for fitting and evaluating the adversarial validation model. I define a function for combining, shuffling, and re-splitting:" + ] + }, + { + "cell_type": "code", + "execution_count": 117, + "id": "8c96050e", + "metadata": {}, + "outputs": [], + "source": [ + "def create_adversarial_data(df_train, df_test, cols, N_val=6400):\n", + " df_master = pd.concat([df_train[cols], df_test[cols]], axis=0)\n", + " adversarial_val = df_master.sample(N_val, replace=False)\n", + " adversarial_train = df_master[~df_master.index.isin(adversarial_val.index)]\n", + " return adversarial_train, adversarial_val" + ] + }, + { + "cell_type": "code", + "execution_count": 118, + "id": "80f446a3", + "metadata": {}, + "outputs": [], + "source": [ + "final_features = ['recency', 'history_segment', 'mens', 'womens', 'zip_code', 'newbie', 'channel', 'history_log']" + ] + }, + { + "cell_type": "code", + "execution_count": 119, + "id": "e8c2cc41", + "metadata": {}, + "outputs": [], + "source": [ + "features = final_features\n", + "all_cols = features + [target]\n", + "adversarial_train, adversarial_test = create_adversarial_data(df_train, df_test, all_cols)" + ] + }, + { + "cell_type": "code", + "execution_count": 120, + "id": "7e3e6574", + "metadata": {}, + "outputs": [], + "source": [ + "train_data = Pool(\n", + " data=adversarial_train[features],\n", + " label=adversarial_train[target],\n", + " cat_features=cat_features\n", + ")\n", + "holdout_data = Pool(\n", + " data=adversarial_test[features],\n", + " label=adversarial_test[target],\n", + " cat_features=cat_features\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 121, + "id": "164d5393", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Learning rate set to 0.234819\n", + "0:\ttest: 0.5130548\tbest: 0.5130548 (0)\ttotal: 113ms\tremaining: 11.2s\n", + "1:\ttest: 0.5109823\tbest: 0.5130548 (0)\ttotal: 179ms\tremaining: 8.79s\n", + "2:\ttest: 0.5080080\tbest: 0.5130548 (0)\ttotal: 251ms\tremaining: 8.1s\n", + "3:\ttest: 0.5121898\tbest: 0.5130548 (0)\ttotal: 317ms\tremaining: 7.6s\n", + "4:\ttest: 0.5092711\tbest: 0.5130548 (0)\ttotal: 380ms\tremaining: 7.22s\n", + "5:\ttest: 0.5082763\tbest: 0.5130548 (0)\ttotal: 436ms\tremaining: 6.83s\n", + "6:\ttest: 0.5078603\tbest: 0.5130548 (0)\ttotal: 491ms\tremaining: 6.52s\n", + "7:\ttest: 0.5078408\tbest: 0.5130548 (0)\ttotal: 521ms\tremaining: 5.99s\n", + "8:\ttest: 0.5072985\tbest: 0.5130548 (0)\ttotal: 589ms\tremaining: 5.96s\n", + "9:\ttest: 0.5073745\tbest: 0.5130548 (0)\ttotal: 626ms\tremaining: 5.64s\n", + "10:\ttest: 0.5076422\tbest: 0.5130548 (0)\ttotal: 657ms\tremaining: 5.31s\n", + "11:\ttest: 0.5077096\tbest: 0.5130548 (0)\ttotal: 723ms\tremaining: 5.3s\n", + "12:\ttest: 0.5079760\tbest: 0.5130548 (0)\ttotal: 787ms\tremaining: 5.27s\n", + "13:\ttest: 0.5079760\tbest: 0.5130548 (0)\ttotal: 812ms\tremaining: 4.99s\n", + "14:\ttest: 0.5078911\tbest: 0.5130548 (0)\ttotal: 901ms\tremaining: 5.11s\n", + "15:\ttest: 0.5085221\tbest: 0.5130548 (0)\ttotal: 962ms\tremaining: 5.05s\n", + "16:\ttest: 0.5085221\tbest: 0.5130548 (0)\ttotal: 998ms\tremaining: 4.87s\n", + "17:\ttest: 0.5088082\tbest: 0.5130548 (0)\ttotal: 1.07s\tremaining: 4.87s\n", + "18:\ttest: 0.5102033\tbest: 0.5130548 (0)\ttotal: 1.11s\tremaining: 4.75s\n", + "19:\ttest: 0.5102033\tbest: 0.5130548 (0)\ttotal: 1.14s\tremaining: 4.57s\n", + "20:\ttest: 0.5091191\tbest: 0.5130548 (0)\ttotal: 1.17s\tremaining: 4.39s\n", + "21:\ttest: 0.5099598\tbest: 0.5130548 (0)\ttotal: 1.23s\tremaining: 4.34s\n", + "22:\ttest: 0.5099598\tbest: 0.5130548 (0)\ttotal: 1.25s\tremaining: 4.18s\n", + "23:\ttest: 0.5124841\tbest: 0.5130548 (0)\ttotal: 1.31s\tremaining: 4.16s\n", + "24:\ttest: 0.5124841\tbest: 0.5130548 (0)\ttotal: 1.34s\tremaining: 4.02s\n", + "25:\ttest: 0.5124841\tbest: 0.5130548 (0)\ttotal: 1.37s\tremaining: 3.89s\n", + "26:\ttest: 0.5126382\tbest: 0.5130548 (0)\ttotal: 1.42s\tremaining: 3.85s\n", + "27:\ttest: 0.5127858\tbest: 0.5130548 (0)\ttotal: 1.48s\tremaining: 3.81s\n", + "28:\ttest: 0.5130221\tbest: 0.5130548 (0)\ttotal: 1.54s\tremaining: 3.77s\n", + "29:\ttest: 0.5125187\tbest: 0.5130548 (0)\ttotal: 1.61s\tremaining: 3.75s\n", + "30:\ttest: 0.5119062\tbest: 0.5130548 (0)\ttotal: 1.67s\tremaining: 3.71s\n", + "31:\ttest: 0.5119062\tbest: 0.5130548 (0)\ttotal: 1.71s\tremaining: 3.63s\n", + "32:\ttest: 0.5119065\tbest: 0.5130548 (0)\ttotal: 1.76s\tremaining: 3.58s\n", + "33:\ttest: 0.5119168\tbest: 0.5130548 (0)\ttotal: 1.83s\tremaining: 3.54s\n", + "34:\ttest: 0.5119168\tbest: 0.5130548 (0)\ttotal: 1.88s\tremaining: 3.49s\n", + "35:\ttest: 0.5119277\tbest: 0.5130548 (0)\ttotal: 1.94s\tremaining: 3.44s\n", + "36:\ttest: 0.5143258\tbest: 0.5143258 (36)\ttotal: 2s\tremaining: 3.41s\n", + "37:\ttest: 0.5145906\tbest: 0.5145906 (37)\ttotal: 2.07s\tremaining: 3.37s\n", + "38:\ttest: 0.5150807\tbest: 0.5150807 (38)\ttotal: 2.12s\tremaining: 3.32s\n", + "39:\ttest: 0.5150807\tbest: 0.5150807 (38)\ttotal: 2.15s\tremaining: 3.22s\n", + "40:\ttest: 0.5150807\tbest: 0.5150807 (38)\ttotal: 2.17s\tremaining: 3.12s\n", + "41:\ttest: 0.5139849\tbest: 0.5150807 (38)\ttotal: 2.23s\tremaining: 3.08s\n", + "42:\ttest: 0.5136584\tbest: 0.5150807 (38)\ttotal: 2.29s\tremaining: 3.04s\n", + "43:\ttest: 0.5139842\tbest: 0.5150807 (38)\ttotal: 2.36s\tremaining: 3.01s\n", + "44:\ttest: 0.5153170\tbest: 0.5153170 (44)\ttotal: 2.43s\tremaining: 2.97s\n", + "45:\ttest: 0.5150217\tbest: 0.5153170 (44)\ttotal: 2.49s\tremaining: 2.93s\n", + "46:\ttest: 0.5151375\tbest: 0.5153170 (44)\ttotal: 2.56s\tremaining: 2.89s\n", + "47:\ttest: 0.5155845\tbest: 0.5155845 (47)\ttotal: 2.61s\tremaining: 2.83s\n", + "48:\ttest: 0.5156149\tbest: 0.5156149 (48)\ttotal: 2.67s\tremaining: 2.78s\n", + "49:\ttest: 0.5170975\tbest: 0.5170975 (49)\ttotal: 2.73s\tremaining: 2.73s\n", + "50:\ttest: 0.5172240\tbest: 0.5172240 (50)\ttotal: 2.8s\tremaining: 2.69s\n", + "51:\ttest: 0.5172212\tbest: 0.5172240 (50)\ttotal: 2.85s\tremaining: 2.63s\n", + "52:\ttest: 0.5172322\tbest: 0.5172322 (52)\ttotal: 2.91s\tremaining: 2.58s\n", + "53:\ttest: 0.5166552\tbest: 0.5172322 (52)\ttotal: 2.97s\tremaining: 2.53s\n", + "54:\ttest: 0.5166552\tbest: 0.5172322 (52)\ttotal: 3s\tremaining: 2.46s\n", + "55:\ttest: 0.5148724\tbest: 0.5172322 (52)\ttotal: 3.06s\tremaining: 2.4s\n", + "56:\ttest: 0.5147731\tbest: 0.5172322 (52)\ttotal: 3.12s\tremaining: 2.35s\n", + "57:\ttest: 0.5149763\tbest: 0.5172322 (52)\ttotal: 3.17s\tremaining: 2.3s\n", + "58:\ttest: 0.5149423\tbest: 0.5172322 (52)\ttotal: 3.24s\tremaining: 2.25s\n", + "59:\ttest: 0.5155427\tbest: 0.5172322 (52)\ttotal: 3.3s\tremaining: 2.2s\n", + "60:\ttest: 0.5155427\tbest: 0.5172322 (52)\ttotal: 3.36s\tremaining: 2.15s\n", + "61:\ttest: 0.5155542\tbest: 0.5172322 (52)\ttotal: 3.42s\tremaining: 2.1s\n", + "62:\ttest: 0.5156125\tbest: 0.5172322 (52)\ttotal: 3.48s\tremaining: 2.05s\n", + "63:\ttest: 0.5154880\tbest: 0.5172322 (52)\ttotal: 3.55s\tremaining: 2s\n", + "64:\ttest: 0.5140872\tbest: 0.5172322 (52)\ttotal: 3.6s\tremaining: 1.94s\n", + "65:\ttest: 0.5139578\tbest: 0.5172322 (52)\ttotal: 3.66s\tremaining: 1.89s\n", + "66:\ttest: 0.5134700\tbest: 0.5172322 (52)\ttotal: 3.72s\tremaining: 1.83s\n", + "67:\ttest: 0.5134209\tbest: 0.5172322 (52)\ttotal: 3.79s\tremaining: 1.78s\n", + "68:\ttest: 0.5137175\tbest: 0.5172322 (52)\ttotal: 3.85s\tremaining: 1.73s\n", + "69:\ttest: 0.5145397\tbest: 0.5172322 (52)\ttotal: 3.91s\tremaining: 1.67s\n", + "70:\ttest: 0.5151316\tbest: 0.5172322 (52)\ttotal: 3.97s\tremaining: 1.62s\n", + "71:\ttest: 0.5151316\tbest: 0.5172322 (52)\ttotal: 4.03s\tremaining: 1.57s\n", + "72:\ttest: 0.5154323\tbest: 0.5172322 (52)\ttotal: 4.09s\tremaining: 1.51s\n", + "73:\ttest: 0.5154323\tbest: 0.5172322 (52)\ttotal: 4.14s\tremaining: 1.46s\n", + "74:\ttest: 0.5154456\tbest: 0.5172322 (52)\ttotal: 4.21s\tremaining: 1.4s\n", + "75:\ttest: 0.5154456\tbest: 0.5172322 (52)\ttotal: 4.27s\tremaining: 1.35s\n", + "76:\ttest: 0.5156375\tbest: 0.5172322 (52)\ttotal: 4.32s\tremaining: 1.29s\n", + "77:\ttest: 0.5158455\tbest: 0.5172322 (52)\ttotal: 4.38s\tremaining: 1.24s\n", + "78:\ttest: 0.5158064\tbest: 0.5172322 (52)\ttotal: 4.44s\tremaining: 1.18s\n", + "79:\ttest: 0.5158064\tbest: 0.5172322 (52)\ttotal: 4.51s\tremaining: 1.13s\n", + "80:\ttest: 0.5164766\tbest: 0.5172322 (52)\ttotal: 4.57s\tremaining: 1.07s\n", + "81:\ttest: 0.5137400\tbest: 0.5172322 (52)\ttotal: 4.63s\tremaining: 1.01s\n", + "82:\ttest: 0.5150029\tbest: 0.5172322 (52)\ttotal: 4.69s\tremaining: 960ms\n", + "83:\ttest: 0.5159938\tbest: 0.5172322 (52)\ttotal: 4.75s\tremaining: 905ms\n", + "84:\ttest: 0.5133364\tbest: 0.5172322 (52)\ttotal: 4.81s\tremaining: 849ms\n", + "85:\ttest: 0.5127295\tbest: 0.5172322 (52)\ttotal: 4.87s\tremaining: 792ms\n", + "86:\ttest: 0.5128319\tbest: 0.5172322 (52)\ttotal: 4.93s\tremaining: 738ms\n", + "87:\ttest: 0.5128633\tbest: 0.5172322 (52)\ttotal: 5.01s\tremaining: 683ms\n", + "88:\ttest: 0.5127721\tbest: 0.5172322 (52)\ttotal: 5.07s\tremaining: 627ms\n", + "89:\ttest: 0.5128172\tbest: 0.5172322 (52)\ttotal: 5.14s\tremaining: 571ms\n", + "90:\ttest: 0.5128195\tbest: 0.5172322 (52)\ttotal: 5.21s\tremaining: 515ms\n", + "91:\ttest: 0.5128195\tbest: 0.5172322 (52)\ttotal: 5.27s\tremaining: 458ms\n", + "92:\ttest: 0.5126648\tbest: 0.5172322 (52)\ttotal: 5.36s\tremaining: 403ms\n", + "93:\ttest: 0.5122866\tbest: 0.5172322 (52)\ttotal: 5.45s\tremaining: 348ms\n", + "94:\ttest: 0.5119554\tbest: 0.5172322 (52)\ttotal: 5.54s\tremaining: 291ms\n", + "95:\ttest: 0.5118455\tbest: 0.5172322 (52)\ttotal: 5.6s\tremaining: 233ms\n", + "96:\ttest: 0.5119052\tbest: 0.5172322 (52)\ttotal: 5.67s\tremaining: 175ms\n", + "97:\ttest: 0.5125816\tbest: 0.5172322 (52)\ttotal: 5.72s\tremaining: 117ms\n", + "98:\ttest: 0.5126916\tbest: 0.5172322 (52)\ttotal: 5.78s\tremaining: 58.4ms\n", + "99:\ttest: 0.5133625\tbest: 0.5172322 (52)\ttotal: 5.84s\tremaining: 0us\n", + "\n", + "bestTest = 0.5172322343\n", + "bestIteration = 52\n", + "\n", + "Shrink model to first 53 iterations.\n" + ] + } + ], + "source": [ + "params = {\n", + " 'iterations': 100,\n", + " 'eval_metric': 'AUC',\n", + " 'od_type': 'Iter',\n", + " 'od_wait': 50,\n", + "}\n", + "\n", + "model = CatBoostClassifier(**params)\n", + "_ = model.fit(train_data, eval_set=holdout_data)" + ] + }, + { + "cell_type": "code", + "execution_count": 122, + "id": "34ca0539", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.metrics import roc_curve, roc_auc_score" + ] + }, + { + "cell_type": "code", + "execution_count": 123, + "id": "49bd16cf", + "metadata": {}, + "outputs": [], + "source": [ + "def plot_roc(y_trues, y_preds, labels, x_max=1.0):\n", + " fig, ax = plt.subplots()\n", + " for i, y_pred in enumerate(y_preds):\n", + " y_true = y_trues[i]\n", + " fpr, tpr, thresholds = roc_curve(y_true, y_pred)\n", + " auc = roc_auc_score(y_true, y_pred)\n", + " ax.plot(fpr, tpr, label='%s; AUC=%.3f' % (labels[i], auc), marker='o', markersize=1)\n", + "\n", + " ax.legend()\n", + " ax.grid()\n", + " ax.plot(np.linspace(0, 1, 20), np.linspace(0, 1, 20), linestyle='--')\n", + " ax.set_title('ROC curve')\n", + " ax.set_xlabel('False Positive Rate')\n", + " ax.set_xlim([-0.01, x_max])\n", + " _ = ax.set_ylabel('True Positive Rate')" + ] + }, + { + "cell_type": "code", + "execution_count": 124, + "id": "be78be7c", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_roc(\n", + " [holdout_data.get_label()],\n", + " [model.predict_proba(holdout_data)[:,1]],\n", + " ['Baseline']\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "f1539290", + "metadata": {}, + "source": [ + "The ROC curve above is for the validation dataset and the values come close to 50% which indicates that it is difficult to distinguish between train and test set and they come from the same distribution.\n" + ] + }, + { + "cell_type": "markdown", + "id": "cf20f332", + "metadata": {}, + "source": [ + "`So, in this case, our usual method for stratified train validation split should work fine and will perform equally well on the unseen test set`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7da9aae1", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "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.9.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}