Created
March 15, 2016 02:06
-
-
Save EthanRosenthal/3d6cb5c0835e73ee2195 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"from sklearn.metrics import mean_squared_error\n", | |
"\n", | |
"def get_mse(pred, actual):\n", | |
" # Ignore nonzero terms.\n", | |
" pred = pred[actual.nonzero()].flatten()\n", | |
" actual = actual[actual.nonzero()].flatten()\n", | |
" return mean_squared_error(pred, actual)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"MF_ALS = ExplicitMF(train, n_factors=40, \\\n", | |
" user_reg=0.0, item_reg=0.0)\n", | |
"iter_array = [1, 2, 5, 10, 25, 50, 100]\n", | |
"MF_ALS.calculate_learning_curve(iter_array, test)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"%matplotlib inline\n", | |
"import matplotlib.pyplot as plt\n", | |
"import seaborn as sns\n", | |
"sns.set()\n", | |
"\n", | |
"def plot_learning_curve(iter_array, model):\n", | |
" plt.plot(iter_array, model.train_mse, \\\n", | |
" label='Training', linewidth=5)\n", | |
" plt.plot(iter_array, model.test_mse, \\\n", | |
" label='Test', linewidth=5)\n", | |
"\n", | |
"\n", | |
" plt.xticks(fontsize=16);\n", | |
" plt.yticks(fontsize=16);\n", | |
" plt.xlabel('iterations', fontsize=30);\n", | |
" plt.ylabel('MSE', fontsize=30);\n", | |
" plt.legend(loc='best', fontsize=20);" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\ngg==\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7fa55189de50>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plot_learning_curve(iter_array, MF_ALS)" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 2", | |
"language": "python", | |
"name": "python2" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 2 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython2", | |
"version": "2.7.11" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 0 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment