{ "cells": [ { "cell_type": "raw", "metadata": {}, "source": [ "\n", "
\n", "
\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Contamination?\n", "Lately, I've been working a lot on the Kaggle Titanic competition. To pick up good data science practices, I've been taking the time to work through many issues in my machine learning pipeline. One issue that I discovered in the pipeline was **contamination**. Contamination occurs when you include information about your test set in your training set, and results in an overly-optimistic estimate of your model's score (accuracy, AUC, etc.). It generally arises from processing training and test data **together** before model validation. In this post, I provide two examples of contamination in the pipeline I used for the Kaggle Titanic competition.\n", " \n", "# Approach for the Kaggle Titanic Competition\n", "Thus far, my broad approach was: \n", " \n", "1. Data cleaning\n", "2. Impute values to passenger Age\n", "3. Mean-encode categorical features\n", "4. Use cross validation for feature selection and hyperparameter tuning\n", " \n", "The first phase required transformation of data that could be done safely on both training and test sets together without contamination. However, the next two phases (missing value imputation and mean encoding) required me to impute values or mean-encode the training set before performing the same transformations **using the training set mappings** on the test set. Finally, I discovered issues with my approach to cross validation in the fourth phase, but I'll address these in a separate post. \n", " " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Import modules\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import matplotlib\n", "import warnings\n", "\n", "# Settings\n", "%matplotlib inline\n", "matplotlib.style.use('ggplot')\n", "warnings.filterwarnings('ignore')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Examples on Contamination" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 1: Missing Value Imputation of Passenger Age\n", "Approximately 20% of the observations in the feature Age were missing. As such, some kind of imputation was required to make the most of the data." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Import data\n", "df = pd.read_csv('../datasets/train.csv')\n", "\n", "# Plot % missing values\n", "(df.isnull().sum(axis = 0) / df.shape[0] * 100).plot.bar()\n", "plt.title('% Missing')\n", "plt.xlabel('Feature')\n", "plt.ylabel('%')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Approach to Imputation\n", "Having discovered that the distributions of age differed by passengers' titles, I decided to impute missing values using random numbers (with a fixed random seed) drawn from a normal distribution with the following parameters: \n", " \n", "1. **Mean:** The median age of people with the same title.\n", "2. **Standard Deviation:** The standard deviation of age of people with the same title.\n", " " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Extract title\n", "df['title'] = df.Name.str.replace('.*, ', '').str.replace(' .*', '')\n", "df.title[(df.title != 'Mr.') & (df.title != 'Miss.') & (df.title != 'Mrs.') & (df.title != 'Master.')] = 'Other'\n", "\n", "# Plot age distributions by title\n", "df.groupby('title').Age.plot.density()\n", "plt.title('Distribution of Age by Density')\n", "plt.xlabel('Age')\n", "plt.ylabel('Density')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The Problem\n", "The mistake I made was to perform the imputation on the entire dataset **before** running cross validation for feature selection and hyperparameter tuning. Suppose we have a dataset `X_full` that has been split into a training set `X_train` and a test set `X_test`, both containing the Age feature and other features generated from it. When I imputed missing values on `X_full`, I unknowingly included Age values from `X_test` to inform imputation in `X_train`, because the median and standard deviation of Age in the full dataset were derived from both `X_train` and `X_test`. To see how different they could be, I perform an arbitrary split of the data - first 700 observations for `X_train` and the remainder for `X_test` - and compare the distribution of age of passengers with title \"Mrs.\" and \"Other\"." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Attach split identifier\n", "df['Split'] = 'train'\n", "df.loc[700:, 'Split'] = 'test'\n", "\n", "# Plot distribution for passengers with the title Mrs.\n", "df[df.title == 'Mrs.'].groupby('Split').Age.plot.density(legend = True)\n", "df[df.title == 'Mrs.'].Age.plot.density(legend = True)\n", "plt.title('Title == \"Mrs.\"')\n", "plt.xlabel('Age')\n", "plt.show()\n", "\n", "# Plot distribution for passengers with the title Other\n", "df[df.title == 'Other'].groupby('Split').Age.plot.density(legend = True)\n", "df[df.title == 'Other'].Age.plot.density(legend = True)\n", "plt.title('Title == \"Other\"')\n", "plt.xlabel('Age')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using a combined distribution (purple) would compromise the estimates of median and standard deviation from the training set. This leads to inaccuracy because in reality, we would not know the **true** distribution of age of passengers in unseen data. All we have to work with is the train dataset. Hence, imputation on the test set must use the estimates of median and standard deviation from the training set." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 2: Encoding of Features\n", "As part of feature engineering, I mean-encoded several categorical features. Mean encoding is a technique where you replace a category e.g. A, B, and C, with the proportion of \"positive\" target values it is associated with. In the example below, we have a dataset with 6 training observations, three of which are of category A, and three of which are of category B. 66.67% of category A observations are positive (`target == 1`) and 33.33% are negative (`target == 0`). Thus, we replace all As with 66.67%. We then do the same for all observations of category B. In the test set, the percentages are reversed for category A and B. " ] }, { "cell_type": "code", "execution_count": 5, "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", "
catsplittargetcat_fulltrain_onlytest_onlytest_mapped
0Atrain10.50.666667NaNNaN
1Atrain10.50.666667NaNNaN
2Atrain00.50.666667NaNNaN
3Btrain10.50.333333NaNNaN
4Btrain00.50.333333NaNNaN
5Btrain00.50.333333NaNNaN
6Atest00.5NaN0.3333330.666667
7Atest00.5NaN0.3333330.666667
8Atest10.5NaN0.3333330.666667
9Btest10.5NaN0.6666670.333333
10Btest10.5NaN0.6666670.333333
11Btest00.5NaN0.6666670.333333
\n", "
" ], "text/plain": [ " cat split target cat_full train_only test_only test_mapped\n", "0 A train 1 0.5 0.666667 NaN NaN\n", "1 A train 1 0.5 0.666667 NaN NaN\n", "2 A train 0 0.5 0.666667 NaN NaN\n", "3 B train 1 0.5 0.333333 NaN NaN\n", "4 B train 0 0.5 0.333333 NaN NaN\n", "5 B train 0 0.5 0.333333 NaN NaN\n", "6 A test 0 0.5 NaN 0.333333 0.666667\n", "7 A test 0 0.5 NaN 0.333333 0.666667\n", "8 A test 1 0.5 NaN 0.333333 0.666667\n", "9 B test 1 0.5 NaN 0.666667 0.333333\n", "10 B test 1 0.5 NaN 0.666667 0.333333\n", "11 B test 0 0.5 NaN 0.666667 0.333333" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Create fake data\n", "fake_data = pd.DataFrame(\n", " [\n", " {'target': 1, 'cat': 'A', 'split': 'train'}, {'target': 1, 'cat': 'A', 'split': 'train'},\n", " {'target': 0, 'cat': 'A', 'split': 'train'}, {'target': 1, 'cat': 'B', 'split': 'train'},\n", " {'target': 0, 'cat': 'B', 'split': 'train'}, {'target': 0, 'cat': 'B', 'split': 'train'},\n", " {'target': 0, 'cat': 'A', 'split': 'test'}, {'target': 0, 'cat': 'A', 'split': 'test'},\n", " {'target': 1, 'cat': 'A', 'split': 'test'}, {'target': 1, 'cat': 'B', 'split': 'test'},\n", " {'target': 1, 'cat': 'B', 'split': 'test'}, {'target': 0, 'cat': 'B', 'split': 'test'}\n", " ]\n", ")\n", "\n", "# Mean encoding\n", "fake_data['cat_full'] = fake_data.cat.map(fake_data.groupby('cat').target.mean())\n", "fake_data['train_only'] = fake_data[fake_data.split == 'train'].cat.map(fake_data[fake_data.split == 'train'].groupby('cat').target.mean())\n", "fake_data['test_only'] = fake_data[fake_data.split == 'test'].cat.map(fake_data[fake_data.split == 'test'].groupby('cat').target.mean())\n", "fake_data['test_mapped'] = fake_data[fake_data.split == 'test'].cat.map(fake_data[fake_data.split == 'train'].groupby('cat').target.mean())\n", "\n", "# View\n", "fake_data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Had we used the full dataset to perform mean encoding, we would have obtained `cat_full`. That is, we would have (correctly) discovered that the category was not particularly useful for predicting the target. If instead we mapped the training set percentages to the test set, we would have obtained even worse predictions, because the true percentages in the test set were inversed. The model would likely have generated the opposite predictions. The principle here is that data from the test set must not be included in any transformations made on the training set." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Conclusion\n", "To get unbiased estimates of model accuracy, we must ensure that no information on any feature in the test set is captured in the training set. This does not apply only when scoring the model on a validation set or a training set. It applies also to scoring of the model **during cross validation** (which I'll address in a separate post). To avoid contamination, we need to identify data transformations or feature generation processes that *might give away test set information*, and handle them separately. These processes should be applied on the **training set only**, and the respective feature mappings should be saved so they can be applied to the test set." ] } ], "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.6.6" } }, "nbformat": 4, "nbformat_minor": 2 }