Created
March 15, 2016 02:16
-
-
Save EthanRosenthal/c3f089259728f2b691e9 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": 14, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Factors: 5\n", | |
"Regularization: 0.1\n", | |
"New optimal hyperparameters\n", | |
"model <__main__.ExplicitMF instance at 0x7fa54319ad88>\n", | |
"n_factors 5\n", | |
"n_iter 10\n", | |
"reg 0.1\n", | |
"test_mse 5.549868\n", | |
"train_mse 6.034502\n", | |
"dtype: object\n", | |
"Regularization: 1.0\n", | |
"Regularization: 10.0\n", | |
"Regularization: 100.0\n", | |
"Factors: 10\n", | |
"Regularization: 0.1\n", | |
"New optimal hyperparameters\n", | |
"model <__main__.ExplicitMF instance at 0x7fa542fc5a70>\n", | |
"n_factors 10\n", | |
"n_iter 100\n", | |
"reg 0.1\n", | |
"test_mse 5.044188\n", | |
"train_mse 5.28118\n", | |
"dtype: object\n", | |
"Regularization: 1.0\n", | |
"Regularization: 10.0\n", | |
"Regularization: 100.0\n", | |
"Factors: 20\n", | |
"Regularization: 0.1\n", | |
"Regularization: 1.0\n", | |
"Regularization: 10.0\n", | |
"Regularization: 100.0\n", | |
"Factors: 40\n", | |
"Regularization: 0.1\n", | |
"Regularization: 1.0\n", | |
"Regularization: 10.0\n", | |
"Regularization: 100.0\n", | |
"Factors: 80\n", | |
"Regularization: 0.1\n", | |
"Regularization: 1.0\n", | |
"Regularization: 10.0\n", | |
"Regularization: 100.0\n" | |
] | |
} | |
], | |
"source": [ | |
"latent_factors = [5, 10, 20, 40, 80]\n", | |
"regularizations = [0.1, 1., 10., 100.]\n", | |
"regularizations.sort()\n", | |
"iter_array = [1, 2, 5, 10, 25, 50, 100]\n", | |
"\n", | |
"best_params = {}\n", | |
"best_params['n_factors'] = latent_factors[0]\n", | |
"best_params['reg'] = regularizations[0]\n", | |
"best_params['n_iter'] = 0\n", | |
"best_params['train_mse'] = np.inf\n", | |
"best_params['test_mse'] = np.inf\n", | |
"best_params['model'] = None\n", | |
"\n", | |
"for fact in latent_factors:\n", | |
" print 'Factors: {}'.format(fact)\n", | |
" for reg in regularizations:\n", | |
" print 'Regularization: {}'.format(reg)\n", | |
" MF_ALS = ExplicitMF(train, n_factors=fact, \\\n", | |
" user_reg=reg, item_reg=reg)\n", | |
" MF_ALS.calculate_learning_curve(iter_array, test)\n", | |
" min_idx = np.argmin(MF_ALS.test_mse)\n", | |
" if MF_ALS.test_mse[min_idx] < best_params['test_mse']:\n", | |
" best_params['n_factors'] = fact\n", | |
" best_params['reg'] = reg\n", | |
" best_params['n_iter'] = iter_array[min_idx]\n", | |
" best_params['train_mse'] = MF_ALS.train_mse[min_idx]\n", | |
" best_params['test_mse'] = MF_ALS.test_mse[min_idx]\n", | |
" best_params['model'] = MF_ALS\n", | |
" print 'New optimal hyperparameters'\n", | |
" print pd.Series(best_params)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\nPlOmnMCUKSewfv16XnrpeZ555imefvoJLrroG9x770yGDx9RxhYPPNW4TsWVgHPO3VSgznhgQVbZ\nouB1QjEn8UK6pi3eXsyuIiLSD8aO3Z3a2jrefHNu6Pb77rub2267hebmJtauXcNvf3sjjzzyEAAj\nR47kuOM+wQ9+cBWf/OR/sWXLFt56y7+s5Hm5dwNKuKoKFWa2F/ApoKt5EcOAlqyylrRtXYp40Zyy\ntnjlDi2KiGyL0n/hDxo0iI997DiWLFnMXXfNyKj3r3+9zP/939XMmvUgw4YNZ8iQ7fjTn/7ITTf9\nquNySMqKFSvwPK/j1tGaGn9Qv71df1h2pdouf3wZ/06OGV3U84B89392eQtHY2MDNZFoTs2augiN\njaVdU35bpX7sG+rn8lMfl1++Pq6rqyGZTDJq1HYddS677LvMm/c6N9xwPc8//xz7778/K1eu5K9/\n/St1dXX85CdXBXUbOO+887jmmms444zTOe644xg0aBAvvvgir7/+OieddBIHHbQfAPvssxcATz75\nGCNHDuPkk09m77337pPPXm2qLVScCDzgnOsqLjYB2d+FDWnbClq9ugWSuYM4LZta/W3SK42NDerH\nPqB+Lj/1cfkV6uP29jie57F27SZqa1N1arnxxlu4/fbf88wzT/Lqq68yYsRIjjrqw5xxxpfZY4+9\nO4530kmfYciQ4dx//73MmjWL1tZWdt99Dy644FucfPK0jnq1tQ2cddbXuPvuO7njjjvYaacxDB++\nY198/D5TqnBcNaHCzMYC+wDfLKL6fGBcVtlewWtR915FvWjOWEd7QkNfIiKV4he/yL1tFGDYsGGc\ne+4FnHvuBV0eY/Lk45k8+fgu602f/iWmT/9St9u4rammORUfCF67vHMDeBw41syGpJWdCKwB/l3M\nyaIhcyra4/FidhUREdkmVc1IBTARWOOc25C9wczGAY3OuVTguBE4H3jYzH4OvB/4DnBRMWtUQHio\niCU1UVNERCSfahqpaATW59l2KfBc6o1zbgX+WhU1wD34Ezwvcc5dU+zJwkJFPKGRChERkXyqZqTC\nOXdugW1nAGdklb0MHNXT89V4uV1TyavViYiI9LdqGqnoU9FIyOUPjVSIiIjkpVCRR01YqEgqVIiI\niOSjUJFH2OUPzakQERHJT6Eij7CRioTu/hAREclLoSKPmmjISEWyyxW+RUREtlkKFXnURkJCBRqp\nEBERyUehIo+wyx/xhEYqRERE8lGoyKM25PJHAk3UFBERyUehIo86hQoREZFuUajII2yiZkITNUVE\nRPJSqMijLlqbU6aRChERkfwUKvKojeZO1EyikQoREZF8FCryGKSRChERkW5RqMgjbKKmRipERETy\nU6jII2xORdJLkEwm+6E1IiIilU+hIo+wdSrwEsQTChUiIiJhFCryCFtREy9BPK5QISIiEkahIo9o\nyLM/vEiCmJbqFhERCaVQkUeNFzZSkSSmkQoREZFQChV5RPNc/ojFNFIhIiISRqEij9CRCl3+EBER\nyUuhIo+akDkVeAld/hAREclDoSKPsMsfnpckHtdIhYiISBiFijxqvJCRiohGKkRERPJRqMgj70RN\njVSIiIiEUqjII/+cCoUKERGRMAoVeUS93K7xIknadUupiIhIKIWKPCJeBJJeTnl7PNYPrREREal8\nChUFeCHd06ZQISIiEkqhooAIuZM122Lt/dASERGRyqdQUYBGKkRERIqnUFFA6EiFQoWIiEgohYoC\nwkKFJmqKiIiEU6goIBJyW2l7QnMqREREwihUFBB++SPeDy0RERGpfAoVBURCHn8e0+UPERGRUAoV\nBURDRipiCYUKERGRMAoVBURDRiraE7r8ISIiEkahooCwJ5XGNFFTREQklEJFAWEjFTGNVIiIiIRS\nqChAoUJERKR4ChUFhF3+iCcVKkRERMIoVBRQG6nJKdPdHyIiIuEUKgoIu/wR1+UPERGRUAoVBdSE\njFTEUagQEREJo1BRQK3mVIiIiBRNoaKA2mjISIVChYiISCiFigJCL38oVIiIiITK/a1ZoczsY8CP\ngP2BVcCtwBXOuUSe+jOBKSGbhjrnNhdzzrC7PxIKFSIiIqGqIlSY2ZHAI8AM4CLgEOAHQAK4Is9u\nk4DrgLuyyluLPW/Y5Y8EoRlGRERkm1cVoQK4CpjtnPtS8P4pMxsFfISQUGFmI4AxwT4v9PSktdHc\niZoaqRAREQlX8aHCzBqBI4Cp6eXOuYsL7DYpeH2tN+eui9bmlCU9hQoREZEwFR8q8OdQeMDmYJ7E\nsUAzcCP+nIpkyD6TgK3AD81sKlAPzALOd86tLPbEoZc/krr8ISIiEqYa7v5oDF5vA+YCn8APFN8D\nvp1nn0nAIKAJOBE4BzgceMLM6oo9cV1IqEhq8SsREZFQ1TBSkboGMds5d1Hw9dNmtgPwPTP7Wcho\nxdXAbc65Z4P3z5rZPGAOMA1/wmfXJ67JvfyR8DRSISIiEqYaQsXG4HV2VvljwLnAHsDi9A3OOQe4\nrLIXzGwDnfMt8mpsbABg9JaGnG1JEh3bpefUh31D/Vx+6uPyUx9Xj2oIFQuC1+zLFqlhhJw5FWZ2\nOrDMOff3tDIP/5LImq5OuHp1CwCtm0KeSOolWLmymUjEK6LpEqaxsaGjj6V81M/lpz4uP/Vx3yhV\ncOuTORVmtqOZfd/MLuvB7m8Ay/AvW6Sbgh8cloTscw5wfRAkUo7Hn7D5TLEnjoY8+wMvQXtcl0BE\nRESy5R2pMLME/ijAgc65/+Spsx3+QlRJ51yhX9Y7A98PjpdvsapQzrmkmV0C/MHMbgTuw78DZDrw\n1aAd44BG59ycYLcfAQ8DM8zsVmBCcN570+p0qSYkVHiRBPF4AmpDAoeIiMg2rKuRiq7G+McDTwb/\nysY5dzvwWeAo4CHgZOBs59xNQZVLgefS6s/GX9diPHA/cDFwM/CF7py3xgvJXF6SWDzsLlYREZFt\nW1dzKirmt6dz7i5yl9xObTsDOCOrbCYwszfnzHf5I6bLHyIiIjmqYZ2KflPjhYSKiEKFiIhIGIWK\nAqIhTyn1RyoqZgBHRESkYihUFBA6UdNLaqRCREQkhEJFAaETNSMJ4gmNVIiIiGRTqChAEzVFRESK\np1BRQOhETS9BLKZQISIikk2hooCwkQovktSKmiIiIiEUKgqIeBFI5q7/1RYPeSaIiIjINq63oaLY\nGYtVO7PRC+mi9phChYiISLauVtT0gBPM7IA823dP1TOz6QWOs3uBbRUtQpQ48Yyytnh7P7VGRESk\nchXz6PNiHwB2ay/aUbHCRiq26vKHiIhIjr6eU9HVA8oqToTcyZoxhQoREZEchUYquvWI8iJV3dyK\nsJGKNs2pEBERyZE3VDjnLu/DdlSssJGK9oRChYiISDbdUtqFaMgCWLqlVEREJJdCRRciXm4XaU6F\niIhIrmLu/iiame0KfBjYBVgGPOuce6eU5+hr0ZAuak8qVIiIiGQrKlSY2W7AucD+wCXOuf9kbY8A\n1wJfBWrTNsXM7A7gPOfcxtI0uW/5q2pmlsUS8fDKIiIi27AuL3+Y2TnAQuAi4JPAHiHV7gDOJzNQ\ngB9apgN/N7Pte9XSfhI2pyIWV6gQERHJVjBUmNkXgV/SGRbiQH1WnU8D09KKngBOBI4Drgv2eT9w\nfWma3LeikdzBnJju/hAREcmR9/KHmQ0HfhK83QB8B5jhnNucVfXHaV8/CUx2zqX+lH/czP4F/AH4\nrJld65x7pTRN7xthjz/XnAoREZFchUYqpgE7AO3Ax51zv80OFGb2AWBcWtG30wIFAM6524E5+Ktp\nnlaSVvehsMsfcc2pEBERyVEoVHwyeP2jc+6lPHWmpH09t8AoxL3B68e607hKUBNy+SOuyx8iIiI5\nCoWK/YPX2QXqpIeERwvUey143bWYRlWSmkjIRM1koh9aIiIiUtkKhYrR+DdTLg3baGaDgEPSih4v\ncKwNwevIbrWuAoSOVGhOhYiISI5CoaIueM33G/TwtDpx4NkCx0qFiebim1YZwkYq4knNqRAREclW\nKFSswp9c2Zhn+zFpX7/inCsUGMYHr2u60baKUBs6UqFQISIikq1QqJgfvB6aZ/uJaV8XmncBMDV4\ndcU0qpLURHNDRUKhQkREJEehUPFI8HqmmWUveHUkMDGt6L58BzGzw+mc0FloMmdFqgsdqdBETRER\nkWyFnv1xB3A5MBZ42MzOBhYAR+IvZpXyj+xngaSY2R7A7fiXUVqBB3rf5L4VNlKRRCMVIiIi2fKG\nCufccjO7DLga/8mj8/DvBkkf3dgKfCV9v+CukA/ir3NxNjA82PQT59yK0jW9b9RGcydqJhQqRERE\nchR8Sqlz7lozqwWuBKL4Iw4pG4Fpzrm5WbsdhL9cd7oHyFzOu2rURbOfkQYJXf4QERHJ0eWjz51z\nPzWzu4Ezgf2C4leAm5xzK0N2SR+NaMd/qNjFzrmq/E1cGzZRUyMVIiIiOboMFQDOuSXApUUe8z3g\nKuAtYJZzbnXPmlYZ6kLnVFRlPhIRESmrokJFdzjntgKXlPq4/SXs8kfS00iFiIhItkK3lApQFzpR\nUyMVIiIi2fKOVJjZI/h3e5SUc+74Uh+znMLmVOAlSCSSRCJe7jYREZFtVKHLH5PLcL6Sh5Ryqw25\n/IGXIBZPUBfyXBAREZFtVV9f/qi6P+3DHijmRRLE4lWXj0RERMqq2ImaW/Gf7/EnYKZzblP5mlRZ\nol7IaISXJJbQvAoREZF0hULFR4HTgJOB0fgPBTsBaDWzWcDd+LeMbil7K/tRTcizP/ASxDVSISIi\nkiHv5Q/n3NPOuXOAXYFjgZuAdcAQ4FTgHmCVmf3RzE4IVt4ccGpCRyr8ORUiIiLSqZgVNePAE8AT\nZnYOcAz+CMZJwEjgM8G/JjP7C/4lkr8G+1W9aNhIRUShQkREJFu3Fr8KgsLfgL+Z2VfxRzCm4QeM\n4cD04N86M7sfP2A8Ua1LdEOeiZpeUhM1RUREsvT47g/nXMw5N9s59yX8ORefwn/MeTOwPf6zQv4K\nLDezG83sw6VocF8Ln6ipkQoREZFsJbml1DnX7pyb5Zz7b2BH/EmdM4AmoBH4KvCkmb1XivP1pbCR\nCiKaqCkiIpKtXM/+mAnMNLMjgGuADwSbdyz1+cqtxgu/+0MjFSIiIplKGirMzAOOAj4NnAjsRuaC\nVxtLeb6+EA1d/CpJe2xAzEMVEREpmV6HCjOLAB/BDxIn4c+vSA8SzfgjF/cAj/biPB8DfgTsD6wC\nbgWuyDcJ1MwmAtfjj5KsA25wzv20u+eNeBFIeuBlXu5ojytUiIiIpOtRqDCzGuBjwCn4IxKjyA0S\nDxIECedcW28aaWZHAo/gz9O4CDgE+AGQAK4IqT8aeAz4D/6aGgcDV5pZ3Dl3dXfP7xEhSWaI2Bpr\n7+5hREREBrSiQ0WwuNXH8UckTsBfoyJdE51B4q+9DRJZrgJSd5oAPGVmo/BHSHJCBXAu/iTUE4IV\nP2eb2SDgYjO73jkX687JPaI5oaItoVAhIiKSrmCoCH4RfxI/SPwXMCyrShPwFzqDRMl/05pZI3AE\n/h0lHZxzFxfY7Vjg8awlxP8CfA9/lGNOd9oQIUL2NZY2zakQERHJkDdUmNldwPHA0KxNTcAD+EHi\nsRKPSITZH//SymYzm4kfGJqBG/HnVITd2zkefxXQdIuC1wl0M1R4IXfetsc1UiEiIpKu0EjFtLSv\n19M5IvFYOUYkCmgMXm8D/gj8HP+yx/eAViBs8uUwoCWrrCVtW7dEyL0DRBM1RUREMhU7p2Io/vM9\nTgcwsx6f0Dk3pJu7pB5UNts5d1Hw9dNmtgPwPTP7WchohQfkW52q2wtMhIaKRLemZYiIiAx4xYaK\n/nwCaWpti9lZ5Y/hT8jcA1icta0JaMgqa0jbVlBjY+auNdGanCgSrfNy6knx1Hd9Q/1cfurj8lMf\nV49CoeKZMpyvJ2tbLwhe67LKU0En7JjzgXFZZXsFr66rE65enXnlxEt4OXWaN7bm1JPiNDY2qO/6\ngPq5/NTH5ac+7hulCm55Q4Vz7iMlOUPvvQEsw5/jcUda+RRgmXNuScg+jwNnm9kQ59zmoOxEYA3w\n7+42IOJFc6JLTJc/REREMpT82R+l5pxLmtklwB/M7EbgPvw7QKbjP6gMMxsHNDrnUnd13AicDzxs\nZj8H3g9HKyzNAAAgAElEQVR8B7iou2tUQPCk0pxQoYmaIiIi6UrylNJyc87dDnwW/7kiDwEnA2c7\n524KqlwKPJdWfwV+8KjBv2Ply8AlzrlrenL+sMeft8c1UiEiIpKu4kcqUpxzdwF35dl2BnBGVtnL\n+CGk18JCRSypUCEiIpKuKkYq+ls0kpu9dPlDREQkk0JFEWpCRirimqgpIiKSQaGiCDWRsMsfGqkQ\nERFJp1BRhJqQyx9xXf4QERHJoFBRhPCRCl3+EBERSadQUYSwiZqJZLcfISIiIjKgKVQUoTbs8ofm\nVIiIiGRQqChCbTTk7g+FChERkQwKFUUIG6lIoFAhIiKSTqGiCKGhQiMVIiIiGRQqilAbDRup0ERN\nERGRdAoVRQgPFRqpEBERSadQUYQ6hQoREZEuKVQUoTZam1OW1OUPERGRDAoVRairyb2lNKmRChER\nkQwKFUUYpJEKERGRLilUFCFsombSS5BIJvuhNSIiIpVJoaIIYaECL0E8rlAhIiKSolBRhKgXFiqS\nxOK6BCIiIpKiUFGEsEefe5GEQoWIiEgahYoi1IQs042XIKbLHyIiIh0UKooQ9XJHKvw5FRqpEBER\nSVGoKELY5Q8iSWIJjVSIiIikKFQUIezyh+cliMU0UiEiIpKiUFGEfJc/YgmFChERkRSFiiKEX/7Q\nRE0REZF0ChVFyLdOhSZqioiIdFKoKELoSIWXoF1zKkRERDooVBQh4kUg6WWUeR60xWP91CIREZHK\no1BRJC+kq9pi7f3QEhERkcqkUFGk0FARj/dDS0RERCqTQkWRIuTOq2iLa6RCREQkRaGiSGEjFe0x\nzakQERFJUagoUvhIhUKFiIhIikJFkSJhIxUJhQoREZEUhYoiRUKW6laoEBER6aRQUaRoyOWPdl3+\nEBER6aBQUSSNVIiIiBSmUFGksCeVxrROhYiISAeFiiKFhQqtUyEiItJJoaJItdHcJ5W+s6qZZFKP\nPxcREQGFiqINHzI4p2z9plaWrmzph9aIiIhUHoWKIg0ZVJdb6CX5x+sr+r4xIiIiFUihokg1Xu7l\nD7wEL8xdSTyR6PsGiYiIVBiFiiJFI7kTNfESNG9uZ+6S9X3fIBERkQqjUFGkmkjISEXEH6H4py6B\niIiIKFQUqybkllLP8+/8eOWt1bRu1UJYIiKybVOoKFK+yx8AbbEE/5q/uo9bJCIiUlkUKooUNlKR\nuvwB8M83VvZha0RERCpPyESBymNmo4CwoYB7nXPT8uwzE5gSsmmoc25zd9sQOqfC6wwVc5esY8PG\nrYwYOqi7hxYRERkQqiJUAO8PXo8D0lebWltgn0nAdcBdWeWtPWlA2OUPL22kIpmE5+euZPIHxvbk\n8CIiIlWvWkLFJGCFc+7xYiqb2QhgDDDbOfdCKRoQOlJRk/nsj3++sUKhQkREtlnVMqdiEvCfbtYH\neK1UDRhdv0NOWaRhHdD57I+3V25k2eqNpTqliIhIVammULGdmT1nZq1m9o6Z/b8u6m8Ffmhma8xs\nk5ndbWY79rQBew3fg4iX2V2RQVvwBmVOz9CETRER2VZVfKgwsyiwLzAe+DUwGbgTuMrMLs2z2yRg\nENAEnAicAxwOPGFmIQ/x6NrgmkHsMSz30kZkWOa0jjlzV5DQk0tFRGQbVA1zKpLAJ4G3nXNLgrJn\nzGwocJGZ/cQ515a1z9XAbc65Z4P3z5rZPGAOMA2YUeiEjY0NoeUH7vo+FjUtySiLDl9HfHVn2FjX\nvJVVLW3sPy73col0ytfHUlrq5/JTH5ef+rh6VHyocM4lgGdCNj0KfBXYG5ibtY8DXFbZC2a2gc75\nFnmtXh3+OPPdBo3JKasbsZ42koDXUTb7uUXsNEy3lubT2NiQt4+ldNTP5ac+Lj/1cd8oVXCrhssf\nO5vZV8ws+0//+uB1Tcg+p5vZ0VllHv4lkZz6xdpz+O7UZt0FEo9sxavPnJz54puraY/Fe3oaERGR\nqlTxoQI/PPwa+HxW+Sn4gxKrQvY5B7g+CBIpxwfHChv1KEptpIZxw/fMKa/bPvMppa1bY7y6oNAS\nGiIiIgNPNVz+WGRmfwJ+YGYJ4E3gVOBkYCqAmY0DGp1zc4LdfgQ8DMwws1uBCcAV+CtwzqEXJowc\nx5vr52eUjdixhZXLMuv9840VHLLP6N6cSkREpKpUw0gFwJeAXwJfB/4CHASc7Jx7KNh+KfBcqrJz\nbjZ+4BgP3A9cDNwMfKG3DZkwcu+csi21q4BERtl/Fq5lY2t7Tl0REZGBykvq9sdsyUKTguKJOBf+\n/X/ZEt+SUV6z6Gha1myXUfaFj0/gowftVpZGVjNNvOob6ufyUx+Xn/q4bzQ2Nnhd1+patYxUVIxo\nJMr4kbnzKnbba0tOmRbCEhGRbYlCRQ+EXQJJbpd7U8mCZU2s2tCj55eJiIhUHYWKHrCQUPFe6zvs\n0jg4p3zO6yv6okkiIiL9TqGiB3bebkeG1mbOn2hPxLB9cuv+840VaN6KiIhsCxQqeiDiRZgwclxO\n+eDtN+SUrVzfyuLlmmQkIiIDn0JFD4XNq3h78xL2GTsip/yfb+gSiIiIDHwKFT1kISMVS5rf5pD3\nbZ9T/sK8lcTiiZxyERGRgUShooca63dgxKDhGWWJZIIRO26mJprZrS2b23lj8bq+bJ6IiEifU6jo\nIc/zQu8CWbppMQeMz33suS6BiIjIQKdQ0QthoeKt9Qs4Yr+dcsr/NX8NrVtjfdEsERGRfqFQ0Qth\nd4C80/Iee44ZzND62ozy9liCl93qvmqaiIhIn1Oo6IWRg0cwuj7zUkeSJItblnDovrlPKNUlEBER\nGcgUKnopbLTirfULODzkEsibS9ezvmVrXzRLRESkz9X0dwOqnW0/nmffez6jzK1fyKnjpzJ6RH3G\nsz+SwPdveYEdt69n1LDB7DC8nh2GD2aH4YMZNXwwo4YNpq422sefQEREpDQUKnpp/Ii9cspWbFpJ\nc1sLH9xvRx58bknGto2t7Wxc1s7CZc2hxxu+XV1nyBieFTwUOkREpIIpVPRSQ91Qdh26M8s2Ls8o\nf2v9Qg7fz3JCRVeaNrXRtKmNhe+Fh45hQehIhYwdhg9mu/paIp5HNOoRjUSIRj1qIh6RSPA+ktqW\n+hdJex/J2OZ5Xk+7QkREtnEKFSUwYeS4kFCxgEP3PZCDrbGkd300b2qjeVMbi/KEjt7qDCdp/6KR\njq8jkczg0lGWVifj65D3DQ2D2bqlvfA5oh41GYEoEpw7c1sk4mUEpIgHeB4egAf+Wz8oecH7jv8P\n8pNf7qXV9+vk367gJSISRqGiBGzk3jz5zrMZZW79QgD++xP7MGLoIF55azUbWrZS6c8rTSSTJGJJ\n2vu7IVWgM7hkBpBUIEnfnhNYSA81WaEnKxSF1ikQelL719REiMcTeDnHK6J9+banHT+s/WTVyemf\nsPohnze10ct829n36dvTz5v2lZdd3vHey3qffY58+3tZ72FIfR2trW15j5l9ztzPUbhNxe3fjb4K\nPUdP90/r8SL6KvMcmScptP/QhsFs3Lil8P4h7Sp9X2d9pqzjZvw3meeY3f+e62L/rEak/3eZ3e7s\n9qYfszYaobGxgVJQqCiBvUfsRcSLkEh2Pt9j7ZZ1rGldxw712/O54ybwueMm0B5LsK5lC2uatrC2\naQtrmlqDV/9fNYQO6ZQM/i/p/1/2FhGRqjHz6qklOY5CRQnU1wxmbMNuLGl+O6P8rfUL2KH+Ax3v\na2si7DhyCDuOHBJ6nFg8wbrmzpCxtuO1lTXNW1jfspWkfl+JiEiFUqgokQkjx+WECrd+AUfs8oE8\ne+SqiUYYPXIIowuFjpatrN3gh4y1QfDYGkuQSCSJxxPEE8m0fwni8WRmWXqdeIJEMplRR0REpKcU\nKkrERu7NX5c+mVH21vqFJJPJkk3sq4lGGD2intEj6ktyvGzJpB8sEvlCSFHvgzATfO2HlgSxtG31\n9XU0t2zpqBNLJDrPmb5/Ij3w+HViWXUSae9jiaQ/kpNMErx0fC6C98FXnV+nXb7o3Kezfud+nXVE\nRCScQkWJ7DV8D2q8KLFkvKOsua2FlZtXsdN2O/Zjy4rneR41UQ/KvBRGY2MDq1e3lPckZZYMgksq\nlKQHkLDQkrOdzNDTWZcuQlFaAEqr2xmKOuuOHDmEdes25d2eakne8JTV9ty2pLU1rX52QOsqwHW2\nJfMcnefsbCsdxyFjp9S27MuDYfumnyvnc+UcN/NAycy3DB06iJaWLT3at7N6eNvy90NnQb5zdrlv\nT/urQH93e988bc/ur8GDa2ltbc9pc/r++fsw8yQ97q8uvj/S98/t06x9c86Rr7+6+L4JaXPefXPa\nnXmyaLR0i2srVJRIXbSWPYfvzvwNizLK31y/oGpChRQv/Y6F3PnglaGxsYH6aGW2baAYCAG50qmP\nq4ue/VFC4Y9CX9gPLREREel7ChUlNCEkVMxfvzDjVlMREZGBSqGihPYYNoa6aF1G2eZYK+9ufK+f\nWiQiItJ3FCpKKBqJsveIPXPKdQlERES2BQoVJRY2r8KtW9APLREREelbChUlNmHkuJyyBU2LiSVi\n/dAaERGRvqNQUWK7Dd2FITWZi1O1xdtY2vxuP7VIRESkbyhUlFjEi4SOVry1XpdARERkYFOoKIOw\nW0udQoWIiAxwChVlYCEjFYubltIWb+uH1oiIiPQNhYoy2HHIaIbXNWSUxZJxFjUt7acWiYiIlJ9C\nRRl4nqdLICIiss1RqCiTsFChRbBERGQgU6gok7B5FUub36E11toPrRERESk/hYoyGVW/PaMGb59R\nliTJgg2L+6lFIiIi5aVQUUZhS3Y/uHA2sxb/jTfWOja2b+qHVomIiJRHTX83YCCzkeP4x/IXMsre\n27SC9xav6Hi/Q/0o9hg2hj2GjWX3YWMYM3QXaqO1fd1UERGRXlOoKKPxISMV2da0rmVN61peWvlv\nwF+Rc7ehO7P7sLFB2BjD6CGNRDwNKomISGVTqCij4YMaeH/jRF5d/XrR+ySSCd5uWcbbLcv4+7J/\nAjA4Opjdh+3G7kHI2GPYWIYPGlauZouIiPSIQkWZnW4nMTg6iFdWvUp7D59UuiW+Bbd+QcY6FyMG\nDe8IGI31o6iN1lEXqaEuWkdtpJbaSC110c7XqBfF87xSfSwREZEcXjKZ7O82VJrk6tUtJT9oPBFn\n2ablLG1+hyXBv5WbVpGkb/rfw0sLGXWZoSNSS200/bWO2mgNdZG6kG21OQEmPbzURroOMI2NDZSj\njyWT+rn81Mflpz7uG42NDSX5q1MjFX0kGokytmE3xjbsxtG7Hg5Aa2wL77S8y5Kmd1jS8g5Lmt6m\nqa25LOdPkmRrvI2t8TYo810nES9CbaQmCCdZgSRSy9AhQ0i2kzeU5ISfXgQYERHpOxqpyFWWkYpi\nbdja5I9kNL3N0uZ3WNryjh8EJFR2gElNaPXwR2f8/6VCR/CVl1OSEUy8tHqpY3WUell18OjctbMs\ntXtaLVKFXvr7tHPnO35nU7y08vTPkVvm4TFocC1bt7RnHj+tzRltSOurjFIvvQdSxw+v44UcK+z4\nGT0V1u+dHzjtCFntCKnjZdRO77eQfdPre1nv0+t42S3IPM7QoYPZuGlr6P7Zxw/bP7eduW0tdJyu\n+iS0XSEhPKddhfq/iz4J3z+kXXmOk93W4cPraWrakrF/4T7JaleBvs33mcL3L9QnBT5D3u+z7FYU\n3yehnyGzUp46XnYVwKMmEmX8brvlnqwHFCpy9WuoyJZIJlixaZV/2aTlHZY2vc2yTStIJBP93TQR\nERkg7j7tVyUJFVVx+cPMRgGrQzbd65yblmeficD1wAeAdcANzrmflq+V5RHxIuwydCd2GboTh3Mo\nAG3xNt7d+B5Lmt7m3Y3L2RLbQluinbZ4O+2JNtoSMdrjbbQl2mmPt9OWaFcIERGRsquKUAG8P3g9\nDkgfRlgbVtnMRgOPAf8BTgUOBq40s7hz7upyNrQv1EXr2Gv4Huw1fI+i94kn4mnBo522eFvwGrzv\nCCBttMdjwWtQnrFfnv3TjqMAIyKybaqWUDEJWOGce7zI+ufiL0F+gnNuCzDbzAYBF5vZ9c65nt3b\nWcWikSj1kSj1NYPLfi4/wLTRFo/5IydpwaMt0c6QoTWsXt9Ee6JdAUZEZACpplDxn27UPxZ4PAgU\nKX8BvgccAswpYdskix9g6qnP893V2NjA6kGlmbeSHWBSISMJkEy/Ydf/On0OUWprMqdeklRBRx2S\ndO6aVppdL5lMnT1/nazjd9YLb1vGsToqBJ8nveXJtJJkkoZh9TQ3t4bUST9vej+llSYz2xZUyzhj\n6nPk9HLetuXul1Ga1r9k75/W1oz3ZL/PrRN223b2XLJkyDmzvwey65KE+vpaWlvbs3oqrV2ZDQtv\nVzLkc+bsn1snvR1h7cz4XAX6tmNLnj7JOHuv+j+ZXSVn/7D+r62L0tbW+Xdg2DzAnP5PFvicRfRt\nvv5PP1r+/u+637r3PZlRKbydBb5vs9sQtn80Es1pT09VU6hoNbPngIOANcD1zrmf56k/Hngiq2xR\n8DoBhYoBo6sAsy3T/f3lpz4uP/Vxdan4B0qYWRTYFz8o/BqYDNwJXGVml+bZbRiZcy9Ie6/1rUVE\nRMqgGv6+SwKfBN52zi0Jyp4xs6HARWb2E+dc9kIOHoSML/l0EV5ERKQMKj5UOOcSwDMhmx4Fvgrs\nDczN2tYENGSVNaRtK8RrbMzeVUpNfdw31M/lpz4uP/Vx9aj4UGFmOwOfAv7snFuTtqk+eF2Tuxfz\ngXFZZXsFr660LRQRERGogjkV+OHh18Dns8pPAZxzblXIPo8Dx5rZkLSyE/EDyL/L0koREZFtXFUs\n021mdwL/BXwXeBN/QasvAVOdcw+Z2Tig0Tk3J6i/EzAPeBX4Of7iWZcDFznnrun7TyAiIjLwVcNI\nBfgB4pfA1/HXmzgIONk591Cw/VLguVRl59wK/LUqaoB7gC8DlyhQiIiIlE9VjFSIiIhI5auWkQoR\nERGpcAoVIiIiUhIVf0tpXzGzs4ALgV3x7xD5Zmrip3SfmUXw58CcBYwBlgI3OuduSKvzXeBsYBT+\nnJjznXO65bcHggfm/RuY45z7Ylq5+rgEzOxjwI+A/YFVwK3AFcE6OurnXjIzD//nxdeAnYE3gIud\nc0+m1VEf94CZnQDMcM4Nyyov2J/Bz5SrgNOB7fDXhvof59zyQufTSAVgZv8N/Aq4DTgZ2AA8amZ7\n9Ge7qtxlwJX4ffop4G7gOjP7NoCZfR//bp6f4n/TDgceNzMto94z3weMtJVk1celYWZHAo/g/6I7\nHn/S+EX4DyhUP5fG1/H77xZgKrAQ/+nSB4D6uKfM7AhgRkh5Mf35a+AL+N/rX8S/i/Lh4A/GvLb5\niZpBQl4MzHLOnRuU1eAvkvWQc+6C/mxfNQqe17IOuM459/208l/i3w48DliO/5fez4JtI/BHMy53\nzl3b962uXmZ2IP6qs63437NfMrMG4D3Ux71mZn8H1jvnTkgr+zFwGHAC+l7uNTN7DXjZOXdG8D6C\n/3P5QeAS9L3cLWZWhx/UrgA2AbWpkYpifjYEyzQ44DPOuXuCOnsHZZ92zt2f79waqfCX+R6L/80L\ngHMuBswCPtFfjapyDcAfgD9nlb8FNALH4A+npff5BuBp1OfdEgTgW/D/4liWtumDqI97zcwagSOA\n36aXO+cuds4dAxyO+rkUMh4CGVxWagZGou/lnjge+A7w/4Bf4D8PK6WY/jwmeH0orc4C/NG6gn2u\nORX+o9ABFmSVLwbGmZnnnNu2h3O6KfgG/Z+QTZ8C3gF2C94vzNq+GP8vPyneRfj/HV+Fv8psSur7\nWn3cO/vj/0DebGYz8de/aQZuxP8rUP1cGjOAc83sfuBl4AzgfcDFqI974gVgD+dcs5ldnrWtmP6c\nACx3zrVm1VmUtn8ohYrOR6GHPSo9gp/oNvZpiwYgM/sy8DHgfPzrd1uDEaF0LejR9EUzs33xh4aP\ncc61m1n65mGoj0uhMXi9Dfgj/gq9H8GfT9EKRFE/l8JlwCTgsbSy7wYrJl+M+rhbnHPvFdhczM+G\nYYT/3tuIP/E+L4WKzmEhPSq9TMzsc/iTfu5xzt1gZpeg/u6V4Jrz74DfOeeeD4rT+9RDfVwKtcHr\nbOfcRcHXT5vZDvjB4irUz6UwA/9S0tfwH7FwHHC5mTWh7+VSK9Sf8W7UCaU5FZ2PQg97VHrcObe5\nj9szoJjZN/H/ynsQ+FxQ3AQMCiZ0pmvAv/NGunY+/l8Ml5lZTTC3wgMiwdfq49JI/bU2O6v8MWAo\nfl+qn3vBzA4BTgPOds79xjn3jHPuUuAa/LlCG1Efl1Khnw1NaXXCnjefXieUQoX/mHTofDQ6ae91\nD3QvmNmP8IeLb8OfMZwabpuP/wtwz6xd1OfFOxF/bsp6oC34NwmYnvZefdx7qblWdVnlqRGMdtTP\nvTU+eM1eF+g5YAj+X8zq49Ip5ufvfGCnYK2KfHVCKVT4nfcOcFKqwMxqgSn4j1CXHjCzC/BnH1/n\nnPtiapGgwD+ALWT2+Ujgw6jPi3U2cEjav0Px766ZGby/C/VxKbyBf1fNtKzyKUG5+rn3FgWvR2WV\nH4Yf2v6M+riUivn5+zj+fKH026jH40+eLdjn2/ycCudc0syuAn5pZuvxO/w8YHtA9z/3gJntDPwE\neA34k5l9MKvKi/i3Of3AzBL4we67+EOZv+vLtlYr59xb2WVmtgVY65x7JXivPu6l4OfDJcAfzOxG\n4D78O0CmA191zrWon3vHOfe8mT0G3Ghm2wNv4k+GvRC43jm3TH1cOs65jV31p3NuoZndA9xkZsOD\nbT8GXgUeKHT8bT5UADjnfmVm9cAFwDeAfwGTnXNL+rVh1Wsy/nDxROCfWduS+DPqL8GfZPX/8K9N\nPwd8wTmXfReOFC97YpX6uAScc7ebWTt+f34ReBv/+n/qF5r6ufdOwP/F9g1gF/zLTuc751Lrg6iP\ney5Jz342fBH/D+uf4F/V+Bv+Mt0Fl1jY5lfUFBERkdLQnAoREREpCYUKERERKQmFChERESkJhQoR\nEREpCYUKERERKQmFChERESkJhQoREREpCYUKkQpmZong3yMF6uzfl20qt3yfx8yWBH0xr6/bJCLF\n0YqaItUhZ5U6M9sbf7nzwcBH+7xFJdaNz6MV+0QqlEYqRCpfvl+ij+IviT5Qfsl29XnClhsWkQqi\nkQqRCuacKxT8o33WkL5R8PM457If1SwiFUYjFSIiIlISChUi1c/r7waU2ED7PCLbDD2lVKSCmVki\n+PJR59wng7KngA/l2eV/nXP/m3WMWuAM4FRgErA9sAH4N3Av8HvnXHvIufcAFgVvTwJWANcABwGt\nwBvAOc6519L2mYT/yOQPAWOB4cDmYN+/A79xzr2UdZ6iPo+ZLQmO6Zxz+4ZVDtp8LnAcsBdQC6wE\nngVucc49kWe/M4BbgrcjgtevAycHx/GA+cCfgevzPXLbzOqBs/D7axLQADQBC4G/Ajc651bk+awi\nVU8jFSLVIZn1dfZfA8mw8uCOileB3wDHAqPx5y7sELz/NfCqmU3o4twHAk8ChwN1+L94J+H/ssTM\nomb2C/ygckFQf1RwrmHABOBM4AUzuzBP27v8PGnbcpjZBcCbwLeCtm0XtHUs8FngMTO728yGdPFZ\n9wFeAy5PO852wAHAFcDrZrZ7yPnHAK8A1wEfBkbif/5RwAeA7wELzWxqgfOLVDWFCpHq82X80YLl\nwfuX8H+JH4gfHgAws53wRwf2AbYCvwSOx/8FNxX4AxAPtj8Z1A/j4f9CTALfAY4EpgOXO+c2B3Uu\nwx8hAP8X+7nAMUHdzwGz0o73IzNLH2ko6vMUEgSKa/FDRAvwY+BjwBHA1wAXVP008KCZ5fvZ5wF/\nAcYAdwCfAj6IP/ryVlBnDPCrkH1vBQyIAT8HPg4cCkwBbgjK64EZBfpapKrp7g+RKuOcS40OpC5Z\nbHTO/Sek6q+BHfGH3491zr2ctu1lYKaZ3Qs8COyM/0v5M3lOGwH+xzl3c/B+TmqDmTUAqdGHRcAR\nzrkNafvOAe40s5/hjyJE8C8rXNnNzxMquOTx0+DtCuCjzjmXVuV5M7sVuA8/VB2DP5pybZ5D7gh8\n2Tl3S1rZi2b2ADAXv68mm9mOzrmVQRt2p3Ntje87536cdcxHzGwufrgYgt/P+c4vUrU0UiEyAAWX\nM04I3l6ZFSg6OOdm4Y9YAJxqZjvnOeTmtHrZ3od/GWQjcF1WoEg3I+3rXfK1vQe+jj93AuC8rEAB\ngHNuK/B5YH1Q9G0zyzch9IWsQJE6RhNwd1rRpLSv00ceFuQ57i3A74BLgefz1BGpahqpEBmYjg9e\nk8BjXdR9BH8iZwT4CHBnSJ1XnHOxsJ2dc88DE4to08q0rwcVUb9Yk4PXVcD9+So55zaY2Z3AOfij\nEQcA/wqp+tcC50pNXPWAoWnl8/Evb9QA15hZGzArvc+CYPOVwh9FpLopVIgMTAcGrx7wipkVu99e\necrf6c7JzWxUcKxx+CMZBwFHpVUpySipmdXgz2MAeNE519XtbHPwQ4UH7E94qFhSYP+NaV93/Px0\nzq0zs5vw52/sih9uWszsSfxQ91fn3FuIDHAKFSID0w5pXxdz37gX1BuRZ3tzVwcws8Pw5yocm3X+\nlHgR7eiu7dO+XlVE/fQ6I/PU2ZinHDL7MvvyyQX4E2LPw//Z2oB/CeoEADNbCPwJ/xLRmiLaKlJ1\nFCpEBqbUf9tJ/Ls9ctahyCPfL7uCwcTMLsO/BTO9/kpgHv7tmXPwbzedW2Q7itXdhbLSlwJP5K3V\nA8Gljm+a2U/w7zL5FP7oTD1+O8cBlwDnmNlk59yLpTy/SCVQqBAZmNamff2ec2553pq9ZGafpDNQ\nLMefiDgrdWdEWr09ynD69Wlf71hE/fQ660rcFgCCz30DcIOZ1eHf1vpx4HRgD/zRoBlmtk8Rl2tE\nquCCxwkAAAMnSURBVIpChcjA9Hrw6uGvs5B3AmNw2eJj+HdwPOucW9bNc52b9vVpzrln89Qb283j\ndsk512Zmb+KvtXGImXld/KL+YPCaxF9Po2SC0LSnc+7J9PYBTwFPmdnlwdcfBPbGnwtS0jaI9Dfd\nUipSvQoN3z+a9vXXujjOj4Ef4t/10ZMnge4dvCbx17/I5/NpX4f9QdPTyxGpuzVG4y+PHcrMRgKn\nBW/X4q9+WRJmdh3+nSGPm1loHwYBI32Z8FLeASNSERQqRKrX1uB1aPaGYF2KZ4K3x5rZxWEHCFai\n/Ejw9l8FRhkKWR28enTeypp9ni/jr5yZEvYLNe/n6cL/4d/OCfBLMxsfcv5B+OtkDA+KrivxpYeZ\naV9fE1YhWB78xOBtC52rfIoMGLr8IVK93sMfQj/AzM7Ef8bHOudcai2FL+MveT0MuNLMPoy/ANNS\n/MWnPgOcEtTtzRoKd+Mvxw1wi5nth/8Ar63AePwRimPovINkGJ2/3LvzeUI55xaZ2UXA1fiLUL0U\nPIfkMWAL/iJV36Dz1tNn8EdnSsY597iZPY3/zI+pZvYi/lLeC/DD1j7A+fi31wL8zDm3pZRtEKkE\nChUi1evP+EtD1wA3BWV/BL4A4JxbEASJ+/EnCH48+JdtHfDZfKtuFuFG/AWojse/jfLykDr/xp+o\n+Av8J4juF1Kn4OcpxDl3rZklgZ8Ebbgk+JcuGRzvq2WaIHka/kJiBwIH46+emS0J/Mo5d2UZzi/S\n73T5Q6Tyhf4CdM7dAPw//Ml+rfiPMx+cVedVYF/8yZR/w382Rhv+qMFLwP8C+zjnCq0iWfAXsHMu\njn/75Nn4IxQbgnMsx78s8Dnn3EHB4k+pSzK7mNnh3fw8+Z5amtr/OvzRiGvxb2NtBjYFx/s9cJRz\nbnraQ9DCPmNXYSNvPefcKuAw/BGi2fgjL1vx1714Cz8oHeGcO6+Lc4hULS+Z1B1NIiIi0nsaqRAR\nEZGSUKgQERGRklCoEBERkZJQqBAREZGSUKgQERGRklCoEBERkZJQqBAREZGSUKgQERGRklCoEBER\nkZJQqBAREZGSUKgQERGRkvj/xyBGGirmtm0AAAAASUVORK5CYII=\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7fa54301ad90>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"best_als_model = best_params['model']\n", | |
"plot_learning_curve(iter_array, best_als_model)" | |
] | |
} | |
], | |
"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