Skip to content

Instantly share code, notes, and snippets.

@lukemerrick
Last active April 28, 2021 11:50
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lukemerrick/76a6e8ce383431c0c6f9ad076ca087bd to your computer and use it in GitHub Desktop.
Save lukemerrick/76a6e8ce383431c0c6f9ad076ca087bd to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import pandas as pd\n",
"import seaborn as sns\n",
"\n",
"import fiddler as fdl\n",
"\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# use the nicer plotting styles from seaborn\n",
"sns.set()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"%load_ext autoreload\n",
"%autoreload 2"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Intro\n",
"This notebook assumes you already have the models and data you're interested in using uploaded to Fiddler. Please refer to the previous notebook in this series for more information on uploading to Fiddler. You will also need to have run notebook 1 in order to upload the bikesharing example used in this notebook.\n",
"\n",
"In this notebook we run through a number of other Fiddler functionalities that have been integrated into the Python package. Unlike the previous notebook, there is not as much of a sequential flow to the steps demonstrated here.\n",
"\n",
"## Before you start: set up your API connection\n",
"\n",
"### Launch onebox or authenticate with a remote server\n",
"Before you can start working with a Fiddler-integrated Jupyter environment, you should set up access to a running instance of Fiddler.\n",
"\n",
"#### Onebox\n",
"In onebox, this means running the `start.sh` script to launch onebox locally.\n",
"\n",
"#### Cloud\n",
"For the cloud version of our product, this means looking up your authentication token in the [Fiddler settings dashboard](https://app.fiddler.ai/settings/credentials)\n",
"\n",
"### Create a FiddlerApi object\n",
"\n",
"In order to get your data and models into the Fiddler Engine, you'll need to connect using the API. The `FiddlerApi` object to handles most of the nitty-gritty for you, so all you have to do is specify some details about the Fiddler system you're connecting to."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"# NOTE: typically the API url for your running instance of Fiddler will be \"https://api.fiddler.ai\" (or \"http://localhost:4100\" for onebox)\n",
"# however, use \"http://host.docker.internal:4100\" as our URL if Jupyter is running in a docker VM on the same macOS machine as onebox\n",
"url = 'http://host.docker.internal:4100'\n",
"\n",
"# see <Fiddler URL>/settings/credentials to find, create, or change this token\n",
"token = os.getenv('FIDDLER_API_TOKEN')\n",
"\n",
"# see <Fiddler URL>/settings/general to find this id (listed as \"Organization Name\")\n",
"org_id = 'onebox'\n",
"\n",
"fiddler_api = fdl.FiddlerApi(url=url, org_id=org_id, auth_token=token)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Pulling data from Fiddler"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['imdb_rnn',\n",
" 'iris',\n",
" 'bank_churn',\n",
" '20news',\n",
" 'p2p_loans',\n",
" 'winequality',\n",
" 'bikeshare']"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# let's see which datasets we have on Fiddler\n",
"fiddler_api.list_datasets()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"DatasetInfo:\n",
" display_name: Bikeshare Dataset\n",
" files: ['train.csv', 'test.csv']\n",
" columns:\n",
" column dtype count(possible_values)\n",
" 0 dteday STRING -\n",
" 1 season CATEGORY 4\n",
" 2 yr INTEGER -\n",
" 3 mnth INTEGER -\n",
" 4 hr INTEGER -\n",
" 5 holiday BOOLEAN -\n",
" 6 weekday INTEGER -\n",
" 7 workingday BOOLEAN -\n",
" 8 weathersit CATEGORY 7\n",
" 9 temp FLOAT -\n",
" 10 atemp FLOAT -\n",
" 11 hum FLOAT -\n",
" 12 windspeed FLOAT -\n",
" 13 casual INTEGER -\n",
" 14 registered INTEGER -\n",
" 15 cnt INTEGER -"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# the info for any dataset can quickly and easily be fetched with the `dataset_info` method\n",
"bikeshare_dataset_info = fiddler_api.get_dataset_info('bikeshare')\n",
"bikeshare_dataset_info"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The bikeshare_dataset object is a <class 'dict'> with keys (['train', 'test'])\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>8326</th>\n",
" <th>6451</th>\n",
" <th>6429</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>dteday</th>\n",
" <td>2011-12-18</td>\n",
" <td>2011-10-01</td>\n",
" <td>2011-09-30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>season</th>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>yr</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mnth</th>\n",
" <td>12</td>\n",
" <td>10</td>\n",
" <td>9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>hr</th>\n",
" <td>15</td>\n",
" <td>10</td>\n",
" <td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>holiday</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>weekday</th>\n",
" <td>0</td>\n",
" <td>6</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>workingday</th>\n",
" <td>False</td>\n",
" <td>False</td>\n",
" <td>True</td>\n",
" </tr>\n",
" <tr>\n",
" <th>weathersit</th>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>temp</th>\n",
" <td>0.32</td>\n",
" <td>0.4</td>\n",
" <td>0.64</td>\n",
" </tr>\n",
" <tr>\n",
" <th>atemp</th>\n",
" <td>0.303</td>\n",
" <td>0.4091</td>\n",
" <td>0.6212</td>\n",
" </tr>\n",
" <tr>\n",
" <th>hum</th>\n",
" <td>0.45</td>\n",
" <td>0.76</td>\n",
" <td>0.57</td>\n",
" </tr>\n",
" <tr>\n",
" <th>windspeed</th>\n",
" <td>0.2836</td>\n",
" <td>0.3582</td>\n",
" <td>0.194</td>\n",
" </tr>\n",
" <tr>\n",
" <th>casual</th>\n",
" <td>23</td>\n",
" <td>21</td>\n",
" <td>59</td>\n",
" </tr>\n",
" <tr>\n",
" <th>registered</th>\n",
" <td>184</td>\n",
" <td>100</td>\n",
" <td>195</td>\n",
" </tr>\n",
" <tr>\n",
" <th>cnt</th>\n",
" <td>207</td>\n",
" <td>121</td>\n",
" <td>254</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 8326 6451 6429\n",
"dteday 2011-12-18 2011-10-01 2011-09-30\n",
"season 4 4 4\n",
"yr 0 0 0\n",
"mnth 12 10 9\n",
"hr 15 10 12\n",
"holiday False False False\n",
"weekday 0 6 5\n",
"workingday False False True\n",
"weathersit 1 3 2\n",
"temp 0.32 0.4 0.64\n",
"atemp 0.303 0.4091 0.6212\n",
"hum 0.45 0.76 0.57\n",
"windspeed 0.2836 0.3582 0.194\n",
"casual 23 21 59\n",
"registered 184 100 195\n",
"cnt 207 121 254"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# we can also pull data from the dataset directly into Pandas\n",
"bikeshare_dataset = fiddler_api.get_dataset('bikeshare', max_rows=999_999)\n",
"print(f'The bikeshare_dataset object is a {type(bikeshare_dataset)} with keys ({list(bikeshare_dataset.keys())})')\n",
"\n",
"df_train = bikeshare_dataset['train']\n",
"df_test = bikeshare_dataset['test']\n",
"\n",
"# demo the data\n",
"df_train.sample(3, random_state=0).T"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f74890f93c8>"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# for example, let's plot a regression plot of the target (cnt) against the temperature feature (temp)\n",
"sns.regplot(df_train['temp'], df_train['cnt'], marker='.', scatter_kws=dict(alpha=0.1))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Using the Fiddler model-builder feature\n",
"If you have data but haven't built a model yet, you can take advantage of the model-builder feature to whip up a model instantly so you can dive right into running explanations."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['dteday',\n",
" 'season',\n",
" 'yr',\n",
" 'mnth',\n",
" 'hr',\n",
" 'holiday',\n",
" 'weekday',\n",
" 'workingday',\n",
" 'weathersit',\n",
" 'temp',\n",
" 'atemp',\n",
" 'hum',\n",
" 'windspeed',\n",
" 'casual',\n",
" 'registered',\n",
" 'cnt']"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"bikeshare_dataset_info.get_column_names()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"# fiddler_api.delete_model('bikeshare_forecasting', 'generated_bikeshare_model')"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'created_files': {'package.py': 'Wrapper code to run the model on the Fiddler engine',\n",
" 'model.yaml': 'Model metadata and configuration',\n",
" 'data_processor.py': 'Data cleaning and feature engineering code',\n",
" '__init__.py': 'Empty file. Makes this model directory a python package so the Fiddler engine can run it properly.',\n",
" 'model.pkl': 'Serialized model artifact.',\n",
" 'processor.pkl': 'Serialized model artifact.',\n",
" 'training_features.pkl': 'Serialized training data',\n",
" 'train.py': 'Model training script',\n",
" 'training_targets.pkl': 'Serialized training data'},\n",
" 'project_name': 'bikeshare_forecasting',\n",
" 'model_name': 'generated_bikeshare_model'}"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# NOTE: to avoid training on the whole dataset, we pass `train_splits`\n",
"features = list(set(bikeshare_dataset_info.get_column_names()) - {'casual', 'registered', 'cnt', 'dteday'})\n",
"fiddler_api.create_model(project_id='bikeshare_forecasting', \n",
" dataset_id='bikeshare',\n",
" target='cnt',\n",
" features=features,\n",
" model_id='generated_bikeshare_model',\n",
" train_splits=['train'])"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['knn_model', 'generated_bikeshare_model']"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# the new model shows up when we list the models in the bikeshare_forecasting project\n",
"fiddler_api.list_models(project_id='bikeshare_forecasting')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Explanations in Jupyter\n",
"We also support basic integration of our explanation and prediction functionality in Jupyter. The `FiddlerApi` object is your friend here."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>predicted_cnt</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>17.201259</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>13.841701</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>8.990367</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0.717645</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4.031056</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>-2.928235</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>16.928393</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>35.049540</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>47.441858</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>72.827217</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" predicted_cnt\n",
"0 17.201259\n",
"1 13.841701\n",
"2 8.990367\n",
"3 0.717645\n",
"4 4.031056\n",
"5 -2.928235\n",
"6 16.928393\n",
"7 35.049540\n",
"8 47.441858\n",
"9 72.827217"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# running some predictions on the generated model\n",
"fiddler_api.run_model(project_id='bikeshare_forecasting', model_id='generated_bikeshare_model', df=df_test.head(10))"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>predicted_cnt</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>29.084173</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>21.888947</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>17.315574</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>25.716166</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>26.971802</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>25.599356</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>28.150124</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>28.376281</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>34.132442</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>68.728265</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" predicted_cnt\n",
"0 29.084173\n",
"1 21.888947\n",
"2 17.315574\n",
"3 25.716166\n",
"4 26.971802\n",
"5 25.599356\n",
"6 28.150124\n",
"7 28.376281\n",
"8 34.132442\n",
"9 68.728265"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# compare against predictions on our kNN model\n",
"fiddler_api.run_model(project_id='bikeshare_forecasting', model_id='knn_model', df=df_test.head(10))"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"# Run explanations on both models\n",
"selected_point = df_test.head(1)\n",
"ex_generated = fiddler_api.run_explanation(\n",
" project_id='bikeshare_forecasting',\n",
" model_id='generated_bikeshare_model', \n",
" df=selected_point, \n",
" dataset_id='bikeshare')\n",
"\n",
"ex_knn = fiddler_api.run_explanation(\n",
" project_id='bikeshare_forecasting',\n",
" model_id='knn_model', \n",
" df=selected_point, \n",
" dataset_id='bikeshare')"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Top SHAP attributions on first row of bikeshare for generated model')"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAwYAAAGJCAYAAAAwvyTwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOzdeVhV1f7H8Q8zKpiCqN2yUrs5RiAikGlOhZo4oeaQWWaWTWoaOZRTaoXUzdnSe7OcMC8pmkPXNLWboGEldksrKxMVRZzA4Ezs3x/m+YmigAEHju/X8/g8nL33Wuu79zrneL5nrXW2i2EYhgAAAADc0FwdHQAAAAAAxyMxAAAAAEBiAAAAAIDEAAAAAIBIDAAAAACIxAAAAACASAwAOCmz2azg4GAdP35ckjRy5EjNmzevxOofM2aMFi5cWGL1lbU333xTYWFhateunX799Vc1b97c0SGVqry8PI0aNUrNmzfXgAEDrti/YsUKPfbYY1ct/+ijj2rDhg1FOvZ6lPTzs7gWL16siIgIBQcH648//nBYHBWNyWRSgwYNlJ6eXuZtx8XFafz48UU6tk+fPkpMTCzliOAMSAyAciI4ONj+r2HDhgoMDLQ/Xrt2bYm2tX//fg0aNEihoaEKDQ1VdHS0vvzyS0nSjh079MADD1xRpqD/WA4ePKgGDRpo+vTp+bZf/M8yKChIwcHBat26tWbMmKG8vLxix1rQf35F+U/O09NT33zzjWrVqlXsNi9X0AfBN954Q08++eRfrtsRfvvtN8XHx+vTTz/V1q1bVbduXaWkpFxXXaXxIbk0JCUl6dtvv9V///tfLVu2rNjlP/zwQ3Xu3LkUInO8P/74Q3FxcVq2bJm++eYbVa5c2dEhlZmK8vwFyoq7owMAcME333xj/7tdu3aaOnWq7r333hJvJy8vT0OHDtWQIUO0aNEiGYahvXv3yt29+G8Ha9asUbVq1fTJJ58oJibmijo2bdqk2rVr66efftIjjzyi+vXrq2fPniV1KldltVqv63xuFEePHlWNGjVUrVq1Qo+9mMy5upbM90glXV9RHT16VHXq1JG3t3eZtusIxX3+Z2RkKC8vT/Xq1St2W47qz6LgfQAovvL3SgZQoNzcXE2ePFn33XefWrdurTfffFMWi0XS/3/LP2vWLLVo0ULt2rXTxo0bC6znxIkTOn78uPr06SMPDw95enoqNDRUwcHBxYonLy9Pa9eu1ejRo2WxWPTFF19c9di///3vCg4O1k8//VTg/okTJ6p169Zq1qyZevXqpW+//VaS9Nlnn2nx4sVas2aNgoOD1atXL73xxhvat2+fXnnlFQUHB+uNN96wj1AsX75cHTp0UJcuXQoc4s/MzNTAgQMVHBysQYMG2acZHTx4UI0bN84X08VRie+//17Tp0/X7t27FRwcrJYtW0q6curHsmXL1KFDB4WFhem5557TyZMnJf3/6MnKlSvVoUMHhYaG5hthOXjwoPr166eQkBCFh4crJibmqtfx008/VefOndW8eXM99thj+u233+z7WrZsqcWLF6tLly4KCQnRqFGjZDabr6jj888/19NPP63Dhw8rODhYEyZMuOL8+/Tpo5kzZ6p379665557dOLECX300Udq166dgoOD1b59e23cuPGq1+ZyBdV39OhRPfnkk2rRooUiIyO1evVqSdL58+d19913Kzs7W5L0zjvvqGnTpsrNzZV0YQpUXFxcge1crc5ly5ZpypQp9jgXLFhQYPm8vDxNmDBBzZo1U+fOnfXVV1/lO4eCRqkMw9Brr72mgQMH2mOOj49XZGSkWrRooaFDh9qfZzabTZMnT1Z4eLhCQkLUtWtX/fLLL/a6Tp8+rSeeeELBwcHq27evjhw5Yt93tdeIdGFUbdSoURoxYoSCg4O1fv162Ww2zZ07V+3bt1dYWJhGjRqlc+fOXRH/gQMH1K1bN9lsNgUHB2vIkCGSpN27d6tHjx4KCQlRnz59lJqaes3+vFxqaqq6du2q4OBgjRo1Ss8991y+18vmzZsVFRWl5s2bq3///vr555/t+wp7LhdW9p///KceeughhYSESJLmzJljf+526dJF27Ztk6SrPn9zc3M1bdo03X///WrZsqVee+21fO3Pnz9f9957r1q3bl3oaG6fPn00e/Zs9erVS8HBwXruued0+vRpDR8+XM2aNVOfPn3yvUdd67ofOnRIffv2tffT5f2ZkpKi3r17q3nz5urRo4f27NlzzdiAAhkAyp22bdsaX375Zb5tb775ptGvXz8jMzPTyMjIMHr27GnMmzfPMAzD2L59u9GoUSMjLi7OMJlMxpdffmkEBgYav//++xV1WywWo23btsYzzzxjbN682Th58mS+/du3bzc6dOhwRbnevXsba9assT/+73//a9xzzz1Gdna2MX78eOP555+378vNzTXuuusu49ixY4ZhGMb+/fuNFi1aGImJiQWe7+rVq40zZ84YZrPZmDdvntG6dWvDbDYbhmEYM2bMMMaNG3fNWC629+STTxpnz541cnJyrohhxIgRRkhIiPH1118bubm5xquvvmoMGjTIMAzD+Pnnn41GjRpdtY3ly5fbj71oxIgRxty5cw3DMIxt27YZ9957r/HDDz8Yubm5xiuvvGI8/vjj+WJ79tlnjaysLOP33383QkJCjOTkZMMwDOOZZ54xFi1aZOTl5Rk5OTlGSkpKgddo//79RlBQkJGcnGyYTCZjzpw5RqdOnQyLxWIYhmHce++9xsMPP2xkZGQYmZmZRocOHYyEhIQC67q8jy8//969exvt2rUzDh48aJjNZiMzM9MICQkxDh06ZBiGYaSnpxs///zzVa/N5S6vz2KxGL169TKmTZtmmEwmIzU11QgNDbWfe3R0tPH5558bhmEY/fv3N9q3b28kJSXZ923btq3Adq5VZ2FxLl++3GjUqJGxdOlSw2w2G6tXrzZCQ0ONrKws+zlc/nywWCzGSy+9ZDz11FNGbm6uYRiGsX79eqNjx47GL7/8YpjNZuPtt982HnnkEcMwDGPz5s1Gnz59jKysLMNmsxk//vij/fU3YsQIIzw83Pjuu+8Ms9lsPP/888bLL79sj6+w10iTJk2Mbdu2GTabzcjJyTHeffddo1+/fkZ6erqRm5trvPzyy8aYMWMKPPfL+//kyZNGcHCwsX79esNisRgJCQlGWFiYce7cuav256VycnKMli1bGsuXLzcsFouxbt06o3HjxvbXyzfffGO0bNnS2Ldvn2G1Wo34+HjjwQcfLNJzuShle/bsaaSnpxs5OTn2Pjl+/Lhhs9mM1atXG0FBQUZmZuZVnxcTJkwwnn/+eePs2bPGuXPnjMGDBxuzZ8+29+F9991n/Pzzz0Z2drbx3HPP5XufuVzv3r2Njh07GocPHzZOnz5tPPDAA0ZkZKSxa9cuw2KxGMOHDzcmTJhQ6HXPy8szunXrZn+P37lzpxEYGGh/bzx8+LDRokUL48svvzRsNpuxbds2IywszDhz5swVz1/gWhgxACqIdevW6fnnn5efn59q1KihYcOG5fsG083NTc8995w8PT117733KiIiQp9++ukV9bi7u2vJkiXy9/fX9OnTdd9992nQoEE6fPiw/Zi0tDQ1b94837/vvvsuXz2rV69W27ZtVaVKFXXp0kWff/65zp49m++Yhx56SKGhoXr++ec1cOBARUVFFXhu3bt310033SQPDw89/fTTOnPmTL54iurpp59W1apVrzpdpEOHDgoODpaXl5defPFFJSUl6dSpU8Vu53Jr165Vnz591LBhQ3l5eemll17Szp07lZGRYT/mqaeeko+Pj+rUqaPmzZvrhx9+kHShP44cOaKMjAx5e3vbv+W83IYNG/TAAw8oLCxMnp6eevrpp3Xq1Kl8/fLYY4+pRo0a8vPz0/33329v43r07t1b9erVk4eHh9zc3CRJP/74o0wmk2rVqqX69etfd31paWnav3+/XnzxRXl6euruu+9W9+7d7c/n0NBQ7d69W2azWYcOHVK/fv301VdfKTs7WwcOHCjwGv3222/XrLMoateurQEDBsjDw0Pdu3dXrVq1rjoSZjabNXz4cFmtVs2ZM0deXl6SLsxZHzZsmOrWrSsPDw8999xz+vrrr3Xy5El5eHgoOzvbPkrw97//Xf7+/vY6O3XqpCZNmsjDw0NdunTJ13+FvUZatGih+++/X66urvL29lZ8fLxGjRqlWrVqycvLS88++6w2bNggwzAKvQ5btmxRo0aN1LlzZ7m7u6tnz56qXbu2duzYYT/m0v68fLpOSkqKvLy81K9fP7m7u6tLly5q0KCBff/KlSs1YMAANW3aVG5ubnr44YdlNpv1v//9z37M1Z7LRS1bq1Yt+/tA586dVbNmTbm6utr79dLjL2W1WpWQkKDx48eratWq8vX11ZNPPqn169dLkjZu3Kg+ffqofv36qlKlip599tlCr2fv3r116623qlq1amrZsqXq16+vFi1ayN3dXZGRkfZzu9Z1/+2333Tw4EH7e3xERIRatWplb2PNmjV64IEHdO+998rV1VX333+/7rzzTvvaMaComHwHVACGYejkyZO65ZZb7NtuueUW+xQFSfLz87N/OLm4v6Ah/ov7pkyZIkk6cuSIxo0bp3HjxmnJkiWSpFtvvVWbN2/OV6ZPnz72v7Ozs/XZZ5/p7bfflnThQ0n16tW1YcMG9evXz37c+vXrVbt27ULP791339XHH3+skydPysXFRSaTSadPny603OVuvvnma+6/NJZq1aqpcuXKOnHihDw8PIrd1qVOnDih8PBw++OqVavKx8dHx48fV9WqVSVJAQEB9v2VKlWy//LLuHHj9M4776hHjx7y8/PTkCFD1K1btwLb+Nvf/mZ/7Obmplq1auV7DtSoUcP+t7e393Vdw4suvVY33XST4uLi9P7772vMmDFq3ry5xo4dq9tvv/266jtx4oT8/PzyJXB/+9vflJycLOnC82nu3Lnau3evmjZtqvDwcL3xxhu65557dNddd8nHx+eK+gurs7gxStd+DR08eFA5OTlavXp1vg/GR48e1cSJE+2vL+lCX6Wnp6t169b65ZdfNGHCBB0/flyRkZF66aWXVKVKFUlX9t+lvw5U2Gvk0tgNw1B6erqGDh0qFxcX+/a8vDydPn1afn5+17wOlz/XpAvX8tLn2rVe1ydOnLhi/6WvzSNHjmjjxo365z//ad9msViK9FwuStnL3wdWrVqlDz/8UMeOHZN0YbH11V4bJ06ckMVi0UMPPWTfZhiGvY8vf61f+p58NZcmf97e3lc8vtjP17ruF5OkS9/j//a3v+n8+fOSLlyX9evXa9OmTfb9Vqv1qs9f4GpIDIAKwMXFRTVq1NCRI0d02223SbrwAeTSX9w5ffq0TCaT/T+Oo0ePXvXb50vdcsst6tevnyZNmlTkeDZt2qScnByNHz/evujw3LlzWrNmTb7EoCi+/PJLLVmyRIsXL1b9+vVlGIaaNWtm/2bz0g82FxW07VrbL7p0Lu+ZM2f0xx9/KCAgQGazWTabTWazWZ6enpJkXyNQlHpr1qypo0eP2h+fO3dO2dnZRfpFpFq1aun111+XYRjavXu3nnjiCYWGhl7xAeHyNmw2m44fP14iv7pUkMvPuU2bNmrTpo1ycnI0Y8YMTZo0Se+//36h16ag+mrWrKlTp04pNzfX/kH+2LFjqlmzpiQpJCRE+/fv17Zt2xQaGqpGjRrp119/1ZdffqkWLVoUWH9hdRbF5T85efTo0auWb9Sokbp27aonnnhCS5YsUZ06dSRd+FAaExOjyMjIAss9/vjjevzxx5WRkaHnn39eH374oYYNG3bNuAp7jUj5r6+Li4tq1aql2bNnq2nTpkU690vVrFlTSUlJ+bYdO3Ys33PtWv0eEBBwxbU8duyYmjRpIunCNWrTpo0GDx5c7NiKW/bXX3/V1KlT9cEHHygwMFCurq7q2LHjVd9fAgIC5O7urs2bN6t69eqFntulr8m/6lrXPSAg4Ir3+GPHjtm/eLj55pvVu3dvvfrqqyUWD25MTCUCKoguXbpo7ty5On36tDIzM7VgwQJ17drVvt9qtWrevHkym81KSkrSzp07C/xwcvLkSc2ZM0eHDx+WYRjKzMzU6tWrFRQUVORYLiYAa9eu1Zo1a7RmzRp9+OGH2rt3r3799ddindf58+fl4eEhPz8/WSwWzZw5UyaTyb7f399faWlp+T4E+fv7X9dUoy1btmjv3r0ym8165513FBYWJn9/f9WsWVN+fn5au3atbDabli1bdsW3l8eOHbMv9r5cly5dtGrVKvtUm7i4OIWHh+cbJbiaDRs26Pjx43JxcbH/J39x6s6lOnXqpM2bN+urr76SxWLRe++9p2rVql3XB7/iOn78uLZt26acnBx5enqqcuXK9oSwsGtTkNtvv1133XWX3nnnHfs0kDVr1tifz1WrVtXf//53rVixQqGhoXJ1dVXTpk21atUqhYaGXledRZGenq4VK1bIarUqMTFR6enpuu+++656fM+ePTVs2DANGjTIvlC4b9++mj9/vn260NmzZ+1T+r799lvt27dPVqtVlSpVkoeHR5F+zaew10hB+vbtq7feesv+LXlmZqa2bt1apOvQrl07ff/999q0aZOsVqvWrFmjo0ePqnXr1kUqHxoaKpPJpJUrV8pqtWrDhg06cOCAfX+fPn20dOlS7du3T4Zh6Pz589qyZYtycnIKrbu4Zf/44w+5urrKz89PeXl5WrFihX7//Xf7/sufvx4eHoqOjta0adN06tQpGYahY8eO2afkdOrUSatWrdKvv/6q8+fPa+7cuUW6JkVxretet25d1a1b1/4en5ycnG+aW48ePbRp0yYlJSXJZrMpNzdXSUlJ+aYzAkVBYgBUEC+88ILq16+vLl26qFu3bmrWrJn9F0SkC9/8u7m56b777tP48eP1+uuv27/FvJSXl5cOHTqkgQMHqlmzZurWrZuqVq2qqVOnFimOw4cPa8+ePRo0aJACAgLs/4KDg9WiRQutWbOmWOfVtm1bNW/eXB06dFD79u1VvXr1fFMdHnroIeXm5qpFixbq27evpAtziBMTExUaGqrY2Ngit9W1a1fFxcUpLCxMBw8e1JtvvinpwgfxqVOnau7cuQoPD1d6err9201JatWqlW69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\n",
"text/plain": [
"<Figure size 864x432 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Create a plot comparing attributions\n",
"fig = plt.figure(figsize=(12, 6))\n",
"comparison_table = pd.DataFrame({\n",
" 'Generated Model': pd.Series(ex_generated.attributions, index=ex_generated.inputs),\n",
" 'kNN Model': pd.Series(ex_knn.attributions, index=ex_knn.inputs)\n",
"})\n",
"comparison_table = comparison_table.loc[comparison_table['kNN Model'].abs().sort_values(ascending=False).index, :]\n",
"\n",
"melted_table = (comparison_table\n",
" .reset_index()\n",
" .rename(columns={'index': 'Feature'})\n",
" .melt(id_vars='Feature', \n",
" var_name='Model', \n",
" value_name='Attribution'))\n",
"sns.barplot(x='Attribution', y='Feature', hue='Model', data=melted_table)\n",
"\n",
"plt.title('Top SHAP attributions on first row of bikeshare for generated model')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Conclusion\n",
"As we have seen in this notebook, once data and models have been deployed to Fiddler, it becomes very easy to share the data, automatically train a model on Fiddler, and run explanations all without leaving"
]
}
],
"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.7"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment