Skip to content

Instantly share code, notes, and snippets.

@theref
Last active March 31, 2017 19:28
Show Gist options
  • Save theref/19f97c4f40b02a4a8e415fbf412e9f8d to your computer and use it in GitHub Desktop.
Save theref/19f97c4f40b02a4a8e415fbf412e9f8d to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Notebook for determining the sensitivity of the model using Memory 1 strategies"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"from MachineLearning import *"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"training_df = pd.read_csv('large_training_data.csv', index_col=0)\n",
"results_df = pd.read_csv('std_summary.csv')\n",
"ordered_strats = results_df.Name.values\n",
"model_strats = ordered_strats[::5] # every 5th strategy when order by rank from round robin tournament\n",
"model_train_df, model_score_df = split_dataframe(model_strats, training_df)\n",
"lr_model, svc_model = create_models_for_sample(model_train_df)"
]
},
{
"cell_type": "code",
"execution_count": 74,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"results_file_path = '/Users/James/Desktop/memory1.csv'\n",
"memory1_comparison_df = pd.read_csv(results_file_path)"
]
},
{
"cell_type": "code",
"execution_count": 77,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"memory1_comparison_df = memory1_comparison_df[memory1_comparison_df.Epsilon != 0.02]\n",
"prediction_df = memory1_comparison_df.copy()\n",
"memory1_results_df = memory1_comparison_df.copy()\n",
"prediction_df.drop(['Name_A', 'Name_B', 'Epsilon'], axis=1, inplace=True)\n",
"predictions = svc_model.predict(X=prediction_df)\n",
"memory1_results_df = memory1_comparison_df.copy()\n",
"memory1_results_df['Prediction'] = predictions\n",
"memory1_results_df = memory1_results_df[['Name_A', 'Name_B', 'Epsilon', 'Prediction']]\n",
"\n",
"line_results_df = memory1_results_df.groupby('Epsilon')['Prediction'].agg(['sum','count']).reset_index()\n",
"violin_results_df = memory1_results_df.groupby(['Epsilon', 'Name_A'])['Prediction'].agg(['sum','count']).reset_index()\n",
"line_results_df['Proportion Correct'] = 1 - line_results_df['sum']/line_results_df['count']\n",
"violin_results_df['Proportion Correct'] = 1 - violin_results_df['sum']/violin_results_df['count']\n",
"violin_results_df.drop(['sum', 'count', 'Name_A'], axis=1, inplace=True)\n",
"\n",
"violin_groups = violin_results_df.groupby('Epsilon')['Proportion Correct'].apply(list)\n",
"pos = violin_results_df['Epsilon'].unique()\n",
"proportions = violin_groups.tolist()"
]
},
{
"cell_type": "code",
"execution_count": 78,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10d67b128>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"line_results_df.plot(x='Epsilon', y='Proportion Correct', ax=ax)\n",
"plt.violinplot(proportions, positions=pos, widths=0.02)\n",
"plt.xlabel('$\\delta$')\n",
"plt.xlim([0, 0.7])\n",
"plt.ylim([-0.1, 1.1])\n",
"plt.savefig('/Users/James/Projects/FinalYearReport-Manuscript/img/ML/proportion-correct.png', bbox_inches='tight')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"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.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