{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Lead scoring\n",
"\n",
"This notebook outlines a lead scoring use case that predicts whether a prospect will become a customer. You can frame this use case as a binary classification problem.\n",
"\n",
"The dataset used in this notebook is from the UCI Machine Learning Repository and includes information from a direct telemarketing campaign of a Portuguese bank. It was published in a paper by Sérgio Moro and colleagues in 2014. The target is indicated by the feature “**y**”; a “yes” means that the prospect purchased the product being offered and “no” means that they did not.\n",
" \n",
"\n",
"*[Moro et al., 2014] S. Moro, P. Cortez and P. Rita. A Data-Driven Approach to Predict the Success of Bank Telemarketing. Decision Support Systems, Elsevier, 62:22-31, June 2014*\n",
"\n",
"## Prerequisites\n",
"\n",
"* A DataRobot login \n",
"* A DataRobot API key \n",
"* [The sample training dataset](bank-full.csv)\n",
"* Python 3.7+\n",
"* DataRobot API version 2.21+"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Setup\n",
"\n",
"### Import Libraries"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
":219: RuntimeWarning: scipy._lib.messagestream.MessageStream size changed, may indicate binary incompatibility. Expected 56 from C header, got 64 from PyObject\n"
]
}
],
"source": [
"import datarobot as dr\n",
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"import seaborn as sns"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Connect to DataRobot"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# If the config file is not in the default location described in the API Quickstart guide, '~/.config/datarobot/drconfig.yaml', then you will need to call\n",
"# dr.Client(config_path='path-to-drconfig.yaml')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Read more about different options for [connecting to DataRobot from the client](https://docs.datarobot.com/en/docs/api/api-quickstart/api-qs.html)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Upload a dataset"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" age \n",
" job \n",
" marital \n",
" education \n",
" default \n",
" balance \n",
" housing \n",
" loan \n",
" contact \n",
" day \n",
" month \n",
" duration \n",
" campaign \n",
" pdays \n",
" previous \n",
" poutcome \n",
" y \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 58 \n",
" management \n",
" married \n",
" tertiary \n",
" no \n",
" 2143 \n",
" yes \n",
" no \n",
" unknown \n",
" 5 \n",
" may \n",
" 261 \n",
" 1 \n",
" -1 \n",
" 0 \n",
" unknown \n",
" no \n",
" \n",
" \n",
" 1 \n",
" 44 \n",
" technician \n",
" single \n",
" secondary \n",
" no \n",
" 29 \n",
" yes \n",
" no \n",
" unknown \n",
" 5 \n",
" may \n",
" 151 \n",
" 1 \n",
" -1 \n",
" 0 \n",
" unknown \n",
" no \n",
" \n",
" \n",
" 2 \n",
" 33 \n",
" entrepreneur \n",
" married \n",
" secondary \n",
" no \n",
" 2 \n",
" yes \n",
" yes \n",
" unknown \n",
" 5 \n",
" may \n",
" 76 \n",
" 1 \n",
" -1 \n",
" 0 \n",
" unknown \n",
" no \n",
" \n",
" \n",
" 3 \n",
" 47 \n",
" blue-collar \n",
" married \n",
" unknown \n",
" no \n",
" 1506 \n",
" yes \n",
" no \n",
" unknown \n",
" 5 \n",
" may \n",
" 92 \n",
" 1 \n",
" -1 \n",
" 0 \n",
" unknown \n",
" no \n",
" \n",
" \n",
" 4 \n",
" 33 \n",
" unknown \n",
" single \n",
" unknown \n",
" no \n",
" 1 \n",
" no \n",
" no \n",
" unknown \n",
" 5 \n",
" may \n",
" 198 \n",
" 1 \n",
" -1 \n",
" 0 \n",
" unknown \n",
" no \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" age job marital education default balance housing loan \\\n",
"0 58 management married tertiary no 2143 yes no \n",
"1 44 technician single secondary no 29 yes no \n",
"2 33 entrepreneur married secondary no 2 yes yes \n",
"3 47 blue-collar married unknown no 1506 yes no \n",
"4 33 unknown single unknown no 1 no no \n",
"\n",
" contact day month duration campaign pdays previous poutcome y \n",
"0 unknown 5 may 261 1 -1 0 unknown no \n",
"1 unknown 5 may 151 1 -1 0 unknown no \n",
"2 unknown 5 may 76 1 -1 0 unknown no \n",
"3 unknown 5 may 92 1 -1 0 unknown no \n",
"4 unknown 5 may 198 1 -1 0 unknown no "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data_path = \"https://docs.datarobot.com/en/docs/api/guide/common-case/bank-full.csv\"\n",
"\n",
"df = pd.read_csv(data_path) # Add your dataset here\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Create a project\n",
"\n",
"Start the project with the dataset **bank-full.csv** and indicate the target as “**y**”. Set the Autopilot modeling mode to \"**Quick**\".\n"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"project = dr.Project.create(project_name='Lead-Scoring',\n",
" sourcedata= df)\n",
")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"project.set_target(target=\"y\", worker_count=\"-1\", mode=dr.AUTOPILOT_MODE.QUICK)\n",
"\n",
"project.wait_for_autopilot() # Wait for autopilot to complete"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It can be onerous to rerun Autopilot every time you want to run the script. If your project is already created, then comment out the last line of code above to ensure you do not rerun Autopilot. You can then simply refer to the project using the `GetProject` function (uncomment and use the code below).\n"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"# project = dr.Project.get(project_id='YOUR_PROJECT_ID')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Select a model to evaluate\n",
"\n",
"DataRobot recommends evaluating the 80% version of the top model using the code below."
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [],
"source": [
"models = project.get_models(\n",
" search_params={\n",
" \"sample_pct__gt\": 80,\n",
" }\n",
")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"model = models[1]\n",
"model.id"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Get validation scores\n",
"\n",
"You can get the validation and cross-validation scores for every possible metric of the model using the code below. You can also pull these scores for multiple models if you want to compare them programmatically."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"model.metrics"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### ROC Curve\n",
"\n",
"After obtaining the overall performance of the model, you can plot the ROC curve using the code below."
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" accuracy \n",
" f1_score \n",
" false_negative_score \n",
" true_negative_score \n",
" true_positive_score \n",
" false_positive_score \n",
" true_negative_rate \n",
" false_positive_rate \n",
" true_positive_rate \n",
" matthews_correlation_coefficient \n",
" positive_predictive_value \n",
" negative_predictive_value \n",
" threshold \n",
" fraction_predicted_as_positive \n",
" fraction_predicted_as_negative \n",
" lift_positive \n",
" lift_negative \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 0.883021 \n",
" 0.000000 \n",
" 4231 \n",
" 31938 \n",
" 0 \n",
" 0 \n",
" 1.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.883021 \n",
" 1.000000 \n",
" 0.000000 \n",
" 1.000000 \n",
" 0.000000 \n",
" 1.000000 \n",
" \n",
" \n",
" 1 \n",
" 0.883049 \n",
" 0.000473 \n",
" 4230 \n",
" 31938 \n",
" 1 \n",
" 0 \n",
" 1.000000 \n",
" 0.000000 \n",
" 0.000236 \n",
" 0.014447 \n",
" 1.000000 \n",
" 0.883046 \n",
" 0.980059 \n",
" 0.000028 \n",
" 0.999972 \n",
" 8.548570 \n",
" 1.000028 \n",
" \n",
" \n",
" 2 \n",
" 0.884542 \n",
" 0.029289 \n",
" 4168 \n",
" 31930 \n",
" 63 \n",
" 8 \n",
" 0.999750 \n",
" 0.000250 \n",
" 0.014890 \n",
" 0.106300 \n",
" 0.887324 \n",
" 0.884537 \n",
" 0.930287 \n",
" 0.001963 \n",
" 0.998037 \n",
" 7.585351 \n",
" 1.001716 \n",
" \n",
" \n",
" 3 \n",
" 0.888772 \n",
" 0.110939 \n",
" 3980 \n",
" 31895 \n",
" 251 \n",
" 43 \n",
" 0.998654 \n",
" 0.001346 \n",
" 0.059324 \n",
" 0.207523 \n",
" 0.853741 \n",
" 0.889059 \n",
" 0.875943 \n",
" 0.008129 \n",
" 0.991871 \n",
" 7.298269 \n",
" 1.006838 \n",
" \n",
" \n",
" 4 \n",
" 0.889657 \n",
" 0.131069 \n",
" 3930 \n",
" 31877 \n",
" 301 \n",
" 61 \n",
" 0.998090 \n",
" 0.001910 \n",
" 0.071142 \n",
" 0.223533 \n",
" 0.831492 \n",
" 0.890245 \n",
" 0.862702 \n",
" 0.010009 \n",
" 0.989991 \n",
" 7.108065 \n",
" 1.008180 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" accuracy f1_score false_negative_score true_negative_score \\\n",
"0 0.883021 0.000000 4231 31938 \n",
"1 0.883049 0.000473 4230 31938 \n",
"2 0.884542 0.029289 4168 31930 \n",
"3 0.888772 0.110939 3980 31895 \n",
"4 0.889657 0.131069 3930 31877 \n",
"\n",
" true_positive_score false_positive_score true_negative_rate \\\n",
"0 0 0 1.000000 \n",
"1 1 0 1.000000 \n",
"2 63 8 0.999750 \n",
"3 251 43 0.998654 \n",
"4 301 61 0.998090 \n",
"\n",
" false_positive_rate true_positive_rate matthews_correlation_coefficient \\\n",
"0 0.000000 0.000000 0.000000 \n",
"1 0.000000 0.000236 0.014447 \n",
"2 0.000250 0.014890 0.106300 \n",
"3 0.001346 0.059324 0.207523 \n",
"4 0.001910 0.071142 0.223533 \n",
"\n",
" positive_predictive_value negative_predictive_value threshold \\\n",
"0 0.000000 0.883021 1.000000 \n",
"1 1.000000 0.883046 0.980059 \n",
"2 0.887324 0.884537 0.930287 \n",
"3 0.853741 0.889059 0.875943 \n",
"4 0.831492 0.890245 0.862702 \n",
"\n",
" fraction_predicted_as_positive fraction_predicted_as_negative \\\n",
"0 0.000000 1.000000 \n",
"1 0.000028 0.999972 \n",
"2 0.001963 0.998037 \n",
"3 0.008129 0.991871 \n",
"4 0.010009 0.989991 \n",
"\n",
" lift_positive lift_negative \n",
"0 0.000000 1.000000 \n",
"1 8.548570 1.000028 \n",
"2 7.585351 1.001716 \n",
"3 7.298269 1.006838 \n",
"4 7.108065 1.008180 "
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"roc = model.get_roc_curve(\"crossValidation\")\n",
"\n",
"# Save the result into a pandas dataframe\n",
"df = pd.DataFrame(roc.roc_points)\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"dr_roc_green = \"#03c75f\"\n",
"white = \"#ffffff\"\n",
"dr_purple = \"#65147D\"\n",
"dr_dense_green = \"#018f4f\"\n",
"dr_dark_blue = \"#08233F\"\n",
"\n",
"fig = plt.figure(figsize=(8, 8))\n",
"axes = fig.add_subplot(1, 1, 1, facecolor=dr_dark_blue)\n",
"\n",
"plt.scatter(df.false_positive_rate, df.true_positive_rate, color=dr_roc_green)\n",
"plt.plot(df.false_positive_rate, df.true_positive_rate, color=dr_roc_green)\n",
"plt.plot([0, 1], [0, 1], color=white, alpha=0.25)\n",
"plt.title(\"ROC curve\")\n",
"plt.xlabel(\"False Positive Rate (Fallout)\")\n",
"plt.xlim([0, 1])\n",
"plt.ylabel(\"True Positive Rate (Sensitivity)\")\n",
"plt.ylim([0, 1])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"View a sample ROC Curve below."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from IPython import display\n",
"\n",
"display.Image(\"./roccurve.png\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Get Feature Impact\n",
"\n",
"Use the code below to understand which features have the highest impact on driving model decisions."
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" redundantWith \n",
" featureName \n",
" impactNormalized \n",
" impactUnnormalized \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" None \n",
" duration \n",
" 1.000000 \n",
" 0.256413 \n",
" \n",
" \n",
" 1 \n",
" None \n",
" month \n",
" 0.370865 \n",
" 0.095095 \n",
" \n",
" \n",
" 2 \n",
" None \n",
" day \n",
" 0.186467 \n",
" 0.047813 \n",
" \n",
" \n",
" 3 \n",
" None \n",
" contact \n",
" 0.116615 \n",
" 0.029902 \n",
" \n",
" \n",
" 4 \n",
" None \n",
" poutcome \n",
" 0.086397 \n",
" 0.022153 \n",
" \n",
" \n",
" 5 \n",
" None \n",
" balance \n",
" 0.080238 \n",
" 0.020574 \n",
" \n",
" \n",
" 6 \n",
" None \n",
" age \n",
" 0.070169 \n",
" 0.017992 \n",
" \n",
" \n",
" 7 \n",
" None \n",
" housing \n",
" 0.065196 \n",
" 0.016717 \n",
" \n",
" \n",
" 8 \n",
" None \n",
" pdays \n",
" 0.055162 \n",
" 0.014144 \n",
" \n",
" \n",
" 9 \n",
" None \n",
" campaign \n",
" 0.053662 \n",
" 0.013760 \n",
" \n",
" \n",
" 10 \n",
" None \n",
" education \n",
" 0.024921 \n",
" 0.006390 \n",
" \n",
" \n",
" 11 \n",
" None \n",
" job \n",
" 0.023866 \n",
" 0.006120 \n",
" \n",
" \n",
" 12 \n",
" None \n",
" marital \n",
" 0.018290 \n",
" 0.004690 \n",
" \n",
" \n",
" 13 \n",
" None \n",
" previous \n",
" 0.010864 \n",
" 0.002786 \n",
" \n",
" \n",
" 14 \n",
" None \n",
" loan \n",
" 0.008976 \n",
" 0.002302 \n",
" \n",
" \n",
" 15 \n",
" None \n",
" default \n",
" 0.001796 \n",
" 0.000461 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" redundantWith featureName impactNormalized impactUnnormalized\n",
"0 None duration 1.000000 0.256413\n",
"1 None month 0.370865 0.095095\n",
"2 None day 0.186467 0.047813\n",
"3 None contact 0.116615 0.029902\n",
"4 None poutcome 0.086397 0.022153\n",
"5 None balance 0.080238 0.020574\n",
"6 None age 0.070169 0.017992\n",
"7 None housing 0.065196 0.016717\n",
"8 None pdays 0.055162 0.014144\n",
"9 None campaign 0.053662 0.013760\n",
"10 None education 0.024921 0.006390\n",
"11 None job 0.023866 0.006120\n",
"12 None marital 0.018290 0.004690\n",
"13 None previous 0.010864 0.002786\n",
"14 None loan 0.008976 0.002302\n",
"15 None default 0.001796 0.000461"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Get Feature Impact\n",
"feature_impact = model.get_or_request_feature_impact()\n",
"\n",
"# Save feature impact in pandas dataframe\n",
"fi_df = pd.DataFrame(feature_impact)\n",
"fi_df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Feature Impact is calculated using [permutation](https://docs.datarobot.com/en/docs/modeling/analyze-models/understand/feature-impact.html#shared-permutation-based-feature-impact). In the example output above, the most impactful feature is **duration**, followed by **month** and **day**. To plot these Feature Impact scores:\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(figsize=(12, 5))\n",
"\n",
"# Plot feature impact\n",
"sns.barplot(x=\"impactNormalized\", y=\"featureName\", data=fi_df, color=\"#2D8FE2\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Unlock holdout\n",
"\n",
"By default, DataRobot uses a five-fold cross-validation and 20% holdout partitioning . The holdout data is not used during model training, however you can unlock it and pull the new scores to see how your model predicts on new data. "
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {},
"outputs": [],
"source": [
"training_predictions_job = model.request_training_predictions(dr.enums.DATA_SUBSET.HOLDOUT)\n",
"training_predictions = training_predictions_job.get_result_when_complete()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Use the code below to download the predicitions as a CSV."
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {},
"outputs": [],
"source": [
"training_predictions.download_to_csv(\"predictions.csv\")"
]
}
],
"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.8.8"
}
},
"nbformat": 4,
"nbformat_minor": 4
}