Skip to content

Instantly share code, notes, and snippets.

@Saurabh7
Created July 28, 2017 06:48
Show Gist options
  • Save Saurabh7/e59b9ea4341e317d5a2f45a830d07a53 to your computer and use it in GitHub Desktop.
Save Saurabh7/e59b9ea4341e317d5a2f45a830d07a53 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": [
{
"data": {
"text/html": [
"<script>jQuery(function() {if (jQuery(\"body.notebook_app\").length == 0) { jQuery(\".input_area\").toggle(); jQuery(\".prompt\").toggle();}});</script>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<button onclick=\"jQuery('.input_area').toggle(); jQuery('.prompt').toggle();\">Toggle code</button>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import IPython.core.display as di\n",
"\n",
"# This line will hide code by default when the notebook is exported as HTML\n",
"di.display_html('<script>jQuery(function() {if (jQuery(\"body.notebook_app\").length == 0) { jQuery(\".input_area\").toggle(); jQuery(\".prompt\").toggle();}});</script>', raw=True)\n",
"\n",
"# This line will add a button to toggle visibility of code blocks, for use with the HTML export version\n",
"di.display_html('''<button onclick=\"jQuery('.input_area').toggle(); jQuery('.prompt').toggle();\">Toggle code</button>''', raw=True)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True, read_preference=Primary())"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from mongoengine import connect\n",
"from jarvis.settings import DevConfig\n",
"CONFIG = DevConfig\n",
"connect(**CONFIG.JARVIS_DB_MONGO_SETTNGS)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"collection_name = 'paths'"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from mongoengine import DynamicDocument\n",
"\n",
"class MongoPaths(DynamicDocument):\n",
" \"\"\"Document for results of path analysis.\"\"\"\n",
"\n",
" meta = {'collection': collection_name,\n",
" 'db_alias': 'jarvis_db'}\n",
"\n",
" @classmethod\n",
" def attribute_names(cls):\n",
" \"\"\"Return fields present in documents.\"\"\"\n",
" map_fn = 'function() {for (var key in this) { emit(key, null); }}'\n",
" reduce_fn = 'function(key, stuff) { return null; }'\n",
" output = 'inline'\n",
" key_gen = cls.objects.map_reduce(map_fn, reduce_fn, output)\n",
" return map(lambda item: item.key, key_gen)\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import pandas as pd\n",
"from IPython.display import display"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"imp_factors = {'v0': 1, 'spend_prop': 0, 'v1': 2, 'v2': 3, 'v3': 4, 'prec': 5, 'rec': 6, 'f1':7, 'mcc':8}"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def evaluate(account_list, metric):\n",
" columns = []\n",
" final_data = {'precision': [],\n",
" 'recall': [],\n",
" 'mcc': [],\n",
"# 'check_threshold': [],\n",
"# 'true_spend_prop': [],\n",
" 'goal_metric': []}\n",
"\n",
" for imp_factor in imp_factors.keys():\n",
" document_list = list(MongoPaths._get_collection().find({'account_ids': account_list, 'impact_factor': imp_factor, 'goal_metric': metric}))\n",
" df = pd.DataFrame(document_list)\n",
" df_clean = df[['start_date', 'end_date', 'precision', 'recall', 'mcc', 'f1', 'check_threshold', 'true_spend_prop', 'goal_metric']]\n",
" final_data['precision'].append(df_clean['precision'].mean())\n",
" final_data['recall'].append(df_clean['recall'].mean())\n",
" final_data['mcc'].append(df_clean['mcc'].mean())\n",
"# final_data['check_threshold'].append(df_clean['check_threshold'].values.tolist())\n",
"# final_data['true_spend_prop'].append(df_clean['true_spend_prop'].values.tolist())\n",
" final_data['goal_metric'].append(df_clean['goal_metric'].unique()[0])\n",
" columns.append(imp_factor) \n",
" \n",
"# document_list = list(MongoPaths._get_collection().find({'account_ids': account_list, 'impact_factor': 'spend_prop', 'goal_metric': metric}))\n",
"# df = pd.DataFrame(document_list)\n",
"# df2 = df[['start_date', 'end_date', 'precision', 'recall', 'mcc', 'f1', 'check_threshold', 'true_spend_prop', 'goal_metric']][1:]\n",
"\n",
"# out_df = (df1.merge(df2, on=['start_date', 'end_date'], how='inner', suffixes=('_imp_factor', '_spend_prop'))\n",
"# [['start_date', 'end_date', 'precision_imp_factor', 'precision_spend_prop', 'recall_imp_factor',\n",
"# 'recall_spend_prop','mcc_imp_factor', 'mcc_spend_prop', 'check_threshold_imp_factor', 'true_spend_prop_imp_factor', 'check_threshold_spend_prop', 'true_spend_prop_spend_prop']])\n",
"\n",
"# final_data = []\n",
"# final_data.append({'precision': [out_df['precision_r'].mean(), out_df]})\n",
"# pd.DataFrame.from_items(d.items(), \n",
"# orient='index', \n",
"# columns=['A','B','C','D'])\n",
"\n",
"# print('Precision: ', out_df['precision_imp_factor'].mean(), out_df['precision_spend_prop'].mean())\n",
"# print('Recall: ', out_df['recall_imp_factor'].mean(), out_df['recall_spend_prop'].mean())\n",
"# print('MCC: ', out_df['mcc_imp_factor'].mean(), out_df['mcc_spend_prop'].mean())\n",
"# display(out_df)# 'true_spend_prop', 'goal_metric'])\n",
"# print(final_data)\n",
" result_df = pd.DataFrame.from_items(final_data.items(),\n",
" orient='index',\n",
" columns=columns)\n",
" result_df = result_df[['spend_prop', 'v0', 'v1', 'v2', 'v3' , 'prec', 'rec', 'f1', 'mcc']]\n",
" display(result_df)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Zivame\n",
"#### GA: ROAS"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>spend_prop</th>\n",
" <th>v0</th>\n",
" <th>v1</th>\n",
" <th>v2</th>\n",
" <th>v3</th>\n",
" <th>prec</th>\n",
" <th>rec</th>\n",
" <th>f1</th>\n",
" <th>mcc</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>mcc</th>\n",
" <td>0.274766</td>\n",
" <td>0.350275</td>\n",
" <td>0.222063</td>\n",
" <td>0.269517</td>\n",
" <td>0.324866</td>\n",
" <td>0.453942</td>\n",
" <td>0.324866</td>\n",
" <td>0.324866</td>\n",
" <td>0.501032</td>\n",
" </tr>\n",
" <tr>\n",
" <th>precision</th>\n",
" <td>0.625183</td>\n",
" <td>0.872206</td>\n",
" <td>0.620224</td>\n",
" <td>0.889225</td>\n",
" <td>0.653959</td>\n",
" <td>0.996687</td>\n",
" <td>0.653959</td>\n",
" <td>0.653959</td>\n",
" <td>0.848311</td>\n",
" </tr>\n",
" <tr>\n",
" <th>goal_metric</th>\n",
" <td>ga_fb_roas</td>\n",
" <td>ga_fb_roas</td>\n",
" <td>ga_fb_roas</td>\n",
" <td>ga_fb_roas</td>\n",
" <td>ga_fb_roas</td>\n",
" <td>ga_fb_roas</td>\n",
" <td>ga_fb_roas</td>\n",
" <td>ga_fb_roas</td>\n",
" <td>ga_fb_roas</td>\n",
" </tr>\n",
" <tr>\n",
" <th>recall</th>\n",
" <td>0.76483</td>\n",
" <td>0.359539</td>\n",
" <td>0.725703</td>\n",
" <td>0.211984</td>\n",
" <td>0.783732</td>\n",
" <td>0.361647</td>\n",
" <td>0.783732</td>\n",
" <td>0.783732</td>\n",
" <td>0.623372</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" spend_prop v0 v1 v2 v3 \\\n",
"mcc 0.274766 0.350275 0.222063 0.269517 0.324866 \n",
"precision 0.625183 0.872206 0.620224 0.889225 0.653959 \n",
"goal_metric ga_fb_roas ga_fb_roas ga_fb_roas ga_fb_roas ga_fb_roas \n",
"recall 0.76483 0.359539 0.725703 0.211984 0.783732 \n",
"\n",
" prec rec f1 mcc \n",
"mcc 0.453942 0.324866 0.324866 0.501032 \n",
"precision 0.996687 0.653959 0.653959 0.848311 \n",
"goal_metric ga_fb_roas ga_fb_roas ga_fb_roas ga_fb_roas \n",
"recall 0.361647 0.783732 0.783732 0.623372 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"evaluate(account_list = [15],\n",
" metric = 'ga_fb_roas')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### GA: CPT"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>spend_prop</th>\n",
" <th>v0</th>\n",
" <th>v1</th>\n",
" <th>v2</th>\n",
" <th>v3</th>\n",
" <th>prec</th>\n",
" <th>rec</th>\n",
" <th>f1</th>\n",
" <th>mcc</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>mcc</th>\n",
" <td>0.227556</td>\n",
" <td>0.30687</td>\n",
" <td>0.268401</td>\n",
" <td>0.290398</td>\n",
" <td>0.319504</td>\n",
" <td>0.42255</td>\n",
" <td>0.319504</td>\n",
" <td>0.324111</td>\n",
" <td>0.520104</td>\n",
" </tr>\n",
" <tr>\n",
" <th>precision</th>\n",
" <td>0.671594</td>\n",
" <td>0.929437</td>\n",
" <td>0.699243</td>\n",
" <td>0.964356</td>\n",
" <td>0.711197</td>\n",
" <td>1</td>\n",
" <td>0.711197</td>\n",
" <td>0.712995</td>\n",
" <td>0.889325</td>\n",
" </tr>\n",
" <tr>\n",
" <th>goal_metric</th>\n",
" <td>ga_fb_cpt</td>\n",
" <td>ga_fb_cpt</td>\n",
" <td>ga_fb_cpt</td>\n",
" <td>ga_fb_cpt</td>\n",
" <td>ga_fb_cpt</td>\n",
" <td>ga_fb_cpt</td>\n",
" <td>ga_fb_cpt</td>\n",
" <td>ga_fb_cpt</td>\n",
" <td>ga_fb_cpt</td>\n",
" </tr>\n",
" <tr>\n",
" <th>recall</th>\n",
" <td>0.797859</td>\n",
" <td>0.277344</td>\n",
" <td>0.742436</td>\n",
" <td>0.215558</td>\n",
" <td>0.789177</td>\n",
" <td>0.353178</td>\n",
" <td>0.789177</td>\n",
" <td>0.794873</td>\n",
" <td>0.650183</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" spend_prop v0 v1 v2 v3 prec \\\n",
"mcc 0.227556 0.30687 0.268401 0.290398 0.319504 0.42255 \n",
"precision 0.671594 0.929437 0.699243 0.964356 0.711197 1 \n",
"goal_metric ga_fb_cpt ga_fb_cpt ga_fb_cpt ga_fb_cpt ga_fb_cpt ga_fb_cpt \n",
"recall 0.797859 0.277344 0.742436 0.215558 0.789177 0.353178 \n",
"\n",
" rec f1 mcc \n",
"mcc 0.319504 0.324111 0.520104 \n",
"precision 0.711197 0.712995 0.889325 \n",
"goal_metric ga_fb_cpt ga_fb_cpt ga_fb_cpt \n",
"recall 0.789177 0.794873 0.650183 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"evaluate(account_list = [15],\n",
" metric = 'ga_fb_cpt')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### FB: CTR"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>spend_prop</th>\n",
" <th>v0</th>\n",
" <th>v1</th>\n",
" <th>v2</th>\n",
" <th>v3</th>\n",
" <th>prec</th>\n",
" <th>rec</th>\n",
" <th>f1</th>\n",
" <th>mcc</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>mcc</th>\n",
" <td>0.134941</td>\n",
" <td>0.36679</td>\n",
" <td>0.121082</td>\n",
" <td>0.284684</td>\n",
" <td>0.157097</td>\n",
" <td>0.442726</td>\n",
" <td>0.157097</td>\n",
" <td>0.157097</td>\n",
" <td>0.527579</td>\n",
" </tr>\n",
" <tr>\n",
" <th>precision</th>\n",
" <td>0.646217</td>\n",
" <td>0.896422</td>\n",
" <td>0.644901</td>\n",
" <td>0.952777</td>\n",
" <td>0.651156</td>\n",
" <td>0.99938</td>\n",
" <td>0.651156</td>\n",
" <td>0.651156</td>\n",
" <td>0.895304</td>\n",
" </tr>\n",
" <tr>\n",
" <th>goal_metric</th>\n",
" <td>fb_ctr</td>\n",
" <td>fb_ctr</td>\n",
" <td>fb_ctr</td>\n",
" <td>fb_ctr</td>\n",
" <td>fb_ctr</td>\n",
" <td>fb_ctr</td>\n",
" <td>fb_ctr</td>\n",
" <td>fb_ctr</td>\n",
" <td>fb_ctr</td>\n",
" </tr>\n",
" <tr>\n",
" <th>recall</th>\n",
" <td>0.880671</td>\n",
" <td>0.418139</td>\n",
" <td>0.854445</td>\n",
" <td>0.219177</td>\n",
" <td>0.888584</td>\n",
" <td>0.383823</td>\n",
" <td>0.888584</td>\n",
" <td>0.888584</td>\n",
" <td>0.677653</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" spend_prop v0 v1 v2 v3 prec \\\n",
"mcc 0.134941 0.36679 0.121082 0.284684 0.157097 0.442726 \n",
"precision 0.646217 0.896422 0.644901 0.952777 0.651156 0.99938 \n",
"goal_metric fb_ctr fb_ctr fb_ctr fb_ctr fb_ctr fb_ctr \n",
"recall 0.880671 0.418139 0.854445 0.219177 0.888584 0.383823 \n",
"\n",
" rec f1 mcc \n",
"mcc 0.157097 0.157097 0.527579 \n",
"precision 0.651156 0.651156 0.895304 \n",
"goal_metric fb_ctr fb_ctr fb_ctr \n",
"recall 0.888584 0.888584 0.677653 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"evaluate(account_list = [15],\n",
" metric = 'fb_ctr')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Faballey\n",
"#### GA: ROAS"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>spend_prop</th>\n",
" <th>v0</th>\n",
" <th>v1</th>\n",
" <th>v2</th>\n",
" <th>v3</th>\n",
" <th>prec</th>\n",
" <th>rec</th>\n",
" <th>f1</th>\n",
" <th>mcc</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>mcc</th>\n",
" <td>0.269403</td>\n",
" <td>0.258644</td>\n",
" <td>0.277162</td>\n",
" <td>0.255336</td>\n",
" <td>0.320009</td>\n",
" <td>0.439511</td>\n",
" <td>0.320009</td>\n",
" <td>0.300392</td>\n",
" <td>0.419809</td>\n",
" </tr>\n",
" <tr>\n",
" <th>precision</th>\n",
" <td>0.665001</td>\n",
" <td>0.717352</td>\n",
" <td>0.677783</td>\n",
" <td>0.77269</td>\n",
" <td>0.704376</td>\n",
" <td>0.875977</td>\n",
" <td>0.704376</td>\n",
" <td>0.687478</td>\n",
" <td>0.786963</td>\n",
" </tr>\n",
" <tr>\n",
" <th>goal_metric</th>\n",
" <td>ga_fb_roas</td>\n",
" <td>ga_fb_roas</td>\n",
" <td>ga_fb_roas</td>\n",
" <td>ga_fb_roas</td>\n",
" <td>ga_fb_roas</td>\n",
" <td>ga_fb_roas</td>\n",
" <td>ga_fb_roas</td>\n",
" <td>ga_fb_roas</td>\n",
" <td>ga_fb_roas</td>\n",
" </tr>\n",
" <tr>\n",
" <th>recall</th>\n",
" <td>0.632011</td>\n",
" <td>0.425837</td>\n",
" <td>0.6194</td>\n",
" <td>0.310233</td>\n",
" <td>0.631468</td>\n",
" <td>0.476165</td>\n",
" <td>0.631468</td>\n",
" <td>0.631468</td>\n",
" <td>0.585078</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" spend_prop v0 v1 v2 v3 \\\n",
"mcc 0.269403 0.258644 0.277162 0.255336 0.320009 \n",
"precision 0.665001 0.717352 0.677783 0.77269 0.704376 \n",
"goal_metric ga_fb_roas ga_fb_roas ga_fb_roas ga_fb_roas ga_fb_roas \n",
"recall 0.632011 0.425837 0.6194 0.310233 0.631468 \n",
"\n",
" prec rec f1 mcc \n",
"mcc 0.439511 0.320009 0.300392 0.419809 \n",
"precision 0.875977 0.704376 0.687478 0.786963 \n",
"goal_metric ga_fb_roas ga_fb_roas ga_fb_roas ga_fb_roas \n",
"recall 0.476165 0.631468 0.631468 0.585078 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"evaluate(account_list = [261, 260],\n",
" metric = 'ga_fb_roas')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"account_list = [15]\n",
"metric = 'ga_fb_cpt'\n",
"imp_factor = 'v0'\n",
"document_list = list(MongoPaths._get_collection().find({'account_ids': account_list, 'impact_factor':imp_factor, 'goal_metric': metric}))\n",
"df = pd.DataFrame(document_list)\n",
"df[['start_date', 'end_date', 'precision', 'recall', 'mcc', 'f1', 'check_threshold', 'true_spend_prop']]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"account_list = [15]\n",
"metric = 'ga_fb_cpt'\n",
"imp_factor = 'spend_prop'\n",
"document_list = list(MongoPaths._get_collection().find({'account_ids': account_list, 'impact_factor':imp_factor, 'goal_metric': metric}))\n",
"df = pd.DataFrame(document_list)\n",
"df[['start_date', 'end_date', 'precision', 'recall', 'mcc', 'f1', 'check_threshold', 'true_spend_prop']]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"document_list = list(MongoPaths._get_collection().find({'account_ids': account_list, 'impact_factor': 'spend_prop', 'goal_metric': metric}))\n",
"pd.DataFrame(document_list)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def print_scores(account_list, metric):\n",
" print('\\n imp_factor:')\n",
" document_list = list(MongoPaths._get_collection().find({'account_ids': account_list, 'impact_factor': 'v0', 'goal_metric': metric}))\n",
"\n",
" print('precision:', pd.np.mean([doc['precision'] for doc in document_list]))\n",
" print('recall:',pd.np.mean([doc['recall'] for doc in document_list]))\n",
" print('f1:',pd.np.mean([doc['f1'] for doc in document_list]))\n",
" print('mcc:',pd.np.mean([doc['mcc'] for doc in document_list]))\n",
"\n",
" print('\\n Spend prop:')\n",
" document_list = list(MongoPaths._get_collection().find({'account_ids': account_list, 'impact_factor': 'spend_prop', 'goal_metric': metric}))\n",
"\n",
" print('precision:', pd.np.mean([doc['precision'] for doc in document_list]))\n",
" print('recall:',pd.np.mean([doc['recall'] for doc in document_list]))\n",
" print('f1:',pd.np.mean([doc['f1'] for doc in document_list]))\n",
" print('mcc:',pd.np.mean([doc['mcc'] for doc in document_list]))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"print(\"Cars24\")\n",
"print('ga_fb_cpt')\n",
"print_scores([136], 'ga_fb_cpt')\n",
"\n",
"print('-'*10)\n",
"print(\"Zivame\")\n",
"print('ga_fb_cpt')\n",
"print_scores([15], 'ga_fb_cpt')\n",
"print('ga_fb_roas')\n",
"print_scores([15], 'ga_fb_roas')\n",
"\n",
"print('-'*10)\n",
"print(\"Faballey\")\n",
"print('ga_fb_cpt')\n",
"print_scores([261, 260], 'ga_fb_cpt')\n",
"print('ga_fb_roas')\n",
"print_scores([261, 260], 'ga_fb_roas')\n",
"\n"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python [jarvis1]",
"language": "python",
"name": "Python [jarvis1]"
},
"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.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment