{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Summary of the results" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "import re\n", "\n", "from plot_utils import highlight_greaterthan, build_model_df, plot_loss, plot_emb\n", "from pathlib import Path" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "DATA_PATH = Path(\"./models/\")\n", "fname = \"results_df.p\"" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "df_results = pd.read_pickle(DATA_PATH/fname)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "These are the results, highlighting the row with the maximum `best_hr` and `best_ndcg` values (index 20). Note that in github the highlight will not appear. " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "thresholds = [df_results.best_hr.max(), df_results.best_ndcg.max()]\n", "columns = ['best_hr', 'best_ndcg']" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "<style type=\"text/css\" >\n", " #T_360940ba_8947_11e9_afa5_a3a4b3c8472frow20_col0 {\n", " background-color: lightgreen;\n", " } #T_360940ba_8947_11e9_afa5_a3a4b3c8472frow20_col1 {\n", " background-color: lightgreen;\n", " } #T_360940ba_8947_11e9_afa5_a3a4b3c8472frow20_col2 {\n", " background-color: lightgreen;\n", " } #T_360940ba_8947_11e9_afa5_a3a4b3c8472frow20_col3 {\n", " background-color: lightgreen;\n", " } #T_360940ba_8947_11e9_afa5_a3a4b3c8472frow20_col4 {\n", " background-color: lightgreen;\n", " } #T_360940ba_8947_11e9_afa5_a3a4b3c8472frow20_col5 {\n", " background-color: lightgreen;\n", " }</style><table id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472f\" ><thead> <tr> <th class=\"blank level0\" ></th> <th class=\"col_heading level0 col0\" >modelname</th> <th class=\"col_heading level0 col1\" >iter_loss</th> <th class=\"col_heading level0 col2\" >best_hr</th> <th class=\"col_heading level0 col3\" >best_ndcg</th> <th class=\"col_heading level0 col4\" >best_iter</th> <th class=\"col_heading level0 col5\" >train_time</th> </tr></thead><tbody>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row0\" class=\"row_heading level0 row0\" >0</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow0_col0\" class=\"data row0 col0\" >GMF_bs_1024_lr_0001_n_emb_8_lrnr_adam_lrs_wolrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow0_col1\" class=\"data row0 col1\" >0.271748</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow0_col2\" class=\"data row0 col2\" >0.557995</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow0_col3\" class=\"data row0 col3\" >0.346811</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow0_col4\" class=\"data row0 col4\" >30</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow0_col5\" class=\"data row0 col5\" >81.5565</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row1\" class=\"row_heading level0 row1\" >1</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow1_col0\" class=\"data row1 col0\" >GMF_bs_1024_lr_0005_n_emb_8_lrnr_adam_lrs_wolrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow1_col1\" class=\"data row1 col1\" >0.208753</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow1_col2\" class=\"data row1 col2\" >0.685528</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow1_col3\" class=\"data row1 col3\" >0.450089</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow1_col4\" class=\"data row1 col4\" >28</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow1_col5\" class=\"data row1 col5\" >81.6821</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row2\" class=\"row_heading level0 row2\" >2</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow2_col0\" class=\"data row2 col0\" >GMF_bs_1024_lr_001_n_emb_16_lrnr_adam_lrs_wolrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow2_col1\" class=\"data row2 col1\" >0.147244</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow2_col2\" class=\"data row2 col2\" >0.686205</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow2_col3\" class=\"data row2 col3\" >0.460785</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow2_col4\" class=\"data row2 col4\" >30</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow2_col5\" class=\"data row2 col5\" >84.9265</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row3\" class=\"row_heading level0 row3\" >3</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow3_col0\" class=\"data row3 col0\" >GMF_bs_1024_lr_001_n_emb_32_lrnr_adam_lrs_wolrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow3_col1\" class=\"data row3 col1\" >0.0956481</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow3_col2\" class=\"data row3 col2\" >0.650702</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow3_col3\" class=\"data row3 col3\" >0.435117</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow3_col4\" class=\"data row3 col4\" >26</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow3_col5\" class=\"data row3 col5\" >93.6193</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row4\" class=\"row_heading level0 row4\" >4</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow4_col0\" class=\"data row4 col0\" >GMF_bs_1024_lr_001_n_emb_64_lrnr_adam_lrs_wolrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow4_col1\" class=\"data row4 col1\" >0.054805</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow4_col2\" class=\"data row4 col2\" >0.613295</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow4_col3\" class=\"data row4 col3\" >0.406008</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow4_col4\" class=\"data row4 col4\" >28</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow4_col5\" class=\"data row4 col5\" >120.76</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row5\" class=\"row_heading level0 row5\" >5</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow5_col0\" class=\"data row5 col0\" >GMF_bs_1024_lr_001_n_emb_8_lrnr_adam_lrs_wlrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow5_col1\" class=\"data row5 col1\" >0.203959</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow5_col2\" class=\"data row5 col2\" >0.695273</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow5_col3\" class=\"data row5 col3\" >0.45934</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow5_col4\" class=\"data row5 col4\" >30</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow5_col5\" class=\"data row5 col5\" >84.5162</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row6\" class=\"row_heading level0 row6\" >6</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow6_col0\" class=\"data row6 col0\" >GMF_bs_1024_lr_001_n_emb_8_lrnr_adam_lrs_wolrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow6_col1\" class=\"data row6 col1\" >0.206089</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow6_col2\" class=\"data row6 col2\" >0.709855</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow6_col3\" class=\"data row6 col3\" >0.472012</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow6_col4\" class=\"data row6 col4\" >28</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow6_col5\" class=\"data row6 col5\" >88.3086</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row7\" class=\"row_heading level0 row7\" >7</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow7_col0\" class=\"data row7 col0\" >GMF_bs_1024_lr_001_n_emb_8_lrnr_adam_lrs_wolrs_loss_MSE.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow7_col1\" class=\"data row7 col1\" >0.0648755</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow7_col2\" class=\"data row7 col2\" >0.682043</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow7_col3\" class=\"data row7 col3\" >0.454177</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow7_col4\" class=\"data row7 col4\" >20</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow7_col5\" class=\"data row7 col5\" >81.5011</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row8\" class=\"row_heading level0 row8\" >8</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow8_col0\" class=\"data row8 col0\" >GMF_bs_512_lr_001_n_emb_8_lrnr_adam_lrs_wolrs_loss_MSE.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow8_col1\" class=\"data row8 col1\" >0.0663101</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow8_col2\" class=\"data row8 col2\" >0.69065</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow8_col3\" class=\"data row8 col3\" >0.451348</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow8_col4\" class=\"data row8 col4\" >27</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow8_col5\" class=\"data row8 col5\" >103.298</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row9\" class=\"row_heading level0 row9\" >9</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow9_col0\" class=\"data row9 col0\" >MLP_bs_1024_reg_00_lr_0001_n_emb_16_ll_8_dp_wodp_lrnr_adam_lrs_wolrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow9_col1\" class=\"data row9 col1\" >0.328461</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow9_col2\" class=\"data row9 col2\" >0.55459</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow9_col3\" class=\"data row9 col3\" >0.340501</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow9_col4\" class=\"data row9 col4\" >22</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow9_col5\" class=\"data row9 col5\" >90.4532</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row10\" class=\"row_heading level0 row10\" >10</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow10_col0\" class=\"data row10 col0\" >MLP_bs_1024_reg_00_lr_0005_n_emb_16_ll_8_dp_wodp_lrnr_adam_lrs_wolrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow10_col1\" class=\"data row10 col1\" >0.250698</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow10_col2\" class=\"data row10 col2\" >0.562561</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow10_col3\" class=\"data row10 col3\" >0.364141</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow10_col4\" class=\"data row10 col4\" >20</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow10_col5\" class=\"data row10 col5\" >91.0862</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row11\" class=\"row_heading level0 row11\" >11</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow11_col0\" class=\"data row11 col0\" >MLP_bs_1024_reg_00_lr_001_n_emb_16_ll_8_dp_wodp_lrnr_adam_lrs_wlrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow11_col1\" class=\"data row11 col1\" >0.242567</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow11_col2\" class=\"data row11 col2\" >0.56653</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow11_col3\" class=\"data row11 col3\" >0.373917</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow11_col4\" class=\"data row11 col4\" >28</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow11_col5\" class=\"data row11 col5\" >91.9036</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row12\" class=\"row_heading level0 row12\" >12</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow12_col0\" class=\"data row12 col0\" >MLP_bs_1024_reg_00_lr_001_n_emb_16_ll_8_dp_wodp_lrnr_adam_lrs_wolrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow12_col1\" class=\"data row12 col1\" >0.197586</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow12_col2\" class=\"data row12 col2\" >0.609697</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow12_col3\" class=\"data row12 col3\" >0.39686</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow12_col4\" class=\"data row12 col4\" >30</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow12_col5\" class=\"data row12 col5\" >98.565</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row13\" class=\"row_heading level0 row13\" >13</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow13_col0\" class=\"data row13 col0\" >MLP_bs_1024_reg_00_lr_001_n_emb_32_ll_16_dp_wodp_lrnr_adam_lrs_wolrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow13_col1\" class=\"data row13 col1\" >0.16182</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow13_col2\" class=\"data row13 col2\" >0.622289</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow13_col3\" class=\"data row13 col3\" >0.410098</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow13_col4\" class=\"data row13 col4\" >22</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow13_col5\" class=\"data row13 col5\" >103.711</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row14\" class=\"row_heading level0 row14\" >14</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow14_col0\" class=\"data row14 col0\" >MLP_bs_1024_reg_00_lr_001_n_emb_64_ll_32_dp_wodp_lrnr_adam_lrs_wolrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow14_col1\" class=\"data row14 col1\" >0.135888</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow14_col2\" class=\"data row14 col2\" >0.63944</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow14_col3\" class=\"data row14 col3\" >0.429385</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow14_col4\" class=\"data row14 col4\" >18</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow14_col5\" class=\"data row14 col5\" >119.394</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row15\" class=\"row_heading level0 row15\" >15</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow15_col0\" class=\"data row15 col0\" >MLP_bs_1024_reg_00_lr_003_n_emb_32_ll_16_dp_wodp_lrnr_adam_lrs_wlrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow15_col1\" class=\"data row15 col1\" >0.196194</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow15_col2\" class=\"data row15 col2\" >0.624532</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow15_col3\" class=\"data row15 col3\" >0.412429</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow15_col4\" class=\"data row15 col4\" >22</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow15_col5\" class=\"data row15 col5\" >103.584</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row16\" class=\"row_heading level0 row16\" >16</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow16_col0\" class=\"data row16 col0\" >MLP_bs_1024_reg_00_lr_003_n_emb_32_ll_16_dp_wodp_lrnr_adam_lrs_wolrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow16_col1\" class=\"data row16 col1\" >0.203978</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow16_col2\" class=\"data row16 col2\" >0.637601</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow16_col3\" class=\"data row16 col3\" >0.405437</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow16_col4\" class=\"data row16 col4\" >30</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow16_col5\" class=\"data row16 col5\" >95.0005</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row17\" class=\"row_heading level0 row17\" >17</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow17_col0\" class=\"data row17 col0\" >MLP_bs_1024_reg_00_lr_003_n_emb_64_ll_32_dp_wodp_lrnr_adam_lrs_wlrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow17_col1\" class=\"data row17 col1\" >0.205861</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow17_col2\" class=\"data row17 col2\" >0.649072</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow17_col3\" class=\"data row17 col3\" >0.435519</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow17_col4\" class=\"data row17 col4\" >16</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow17_col5\" class=\"data row17 col5\" >118.407</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row18\" class=\"row_heading level0 row18\" >18</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow18_col0\" class=\"data row18 col0\" >MLP_bs_1024_reg_00_lr_003_n_emb_64_ll_32_dp_wodp_lrnr_adam_lrs_wolrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow18_col1\" class=\"data row18 col1\" >0.361445</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow18_col2\" class=\"data row18 col2\" >0.521402</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow18_col3\" class=\"data row18 col3\" >0.323681</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow18_col4\" class=\"data row18 col4\" >4</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow18_col5\" class=\"data row18 col5\" >116.886</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row19\" class=\"row_heading level0 row19\" >19</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow19_col0\" class=\"data row19 col0\" >MLP_bs_512_reg_00_lr_001_n_emb_16_ll_8_dp_wodp_lrnr_adam_lrs_wolrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow19_col1\" class=\"data row19 col1\" >0.2642</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow19_col2\" class=\"data row19 col2\" >0.57216</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow19_col3\" class=\"data row19 col3\" >0.383375</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow19_col4\" class=\"data row19 col4\" >22</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow19_col5\" class=\"data row19 col5\" >121.306</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row20\" class=\"row_heading level0 row20\" >20</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow20_col0\" class=\"data row20 col0\" >NeuMF_wpret_frozen_SGD_lrs_wolrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow20_col1\" class=\"data row20 col1\" >0.155904</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow20_col2\" class=\"data row20 col2\" >0.71031</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow20_col3\" class=\"data row20 col3\" >0.488197</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow20_col4\" class=\"data row20 col4\" >4</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow20_col5\" class=\"data row20 col5\" >79.5137</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row21\" class=\"row_heading level0 row21\" >21</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow21_col0\" class=\"data row21 col0\" >NeuMF_wpret_frozen_SGD_wo_momentum_lrs_wolrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow21_col1\" class=\"data row21 col1\" >0.154762</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow21_col2\" class=\"data row21 col2\" >0.706373</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow21_col3\" class=\"data row21 col3\" >0.485495</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow21_col4\" class=\"data row21 col4\" >4</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow21_col5\" class=\"data row21 col5\" >82.9243</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row22\" class=\"row_heading level0 row22\" >22</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow22_col0\" class=\"data row22 col0\" >NeuMF_wpret_frozen_adam_lrs_wolrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow22_col1\" class=\"data row22 col1\" >0.155047</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow22_col2\" class=\"data row22 col2\" >0.705058</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow22_col3\" class=\"data row22 col3\" >0.484298</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow22_col4\" class=\"data row22 col4\" >4</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow22_col5\" class=\"data row22 col5\" >81.2638</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row23\" class=\"row_heading level0 row23\" >23</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow23_col0\" class=\"data row23 col0\" >NeuMF_wpret_trainable_SGD_lrs_wlrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow23_col1\" class=\"data row23 col1\" >0.152156</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow23_col2\" class=\"data row23 col2\" >0.702186</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow23_col3\" class=\"data row23 col3\" >0.476085</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow23_col4\" class=\"data row23 col4\" >20</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow23_col5\" class=\"data row23 col5\" >114.816</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row24\" class=\"row_heading level0 row24\" >24</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow24_col0\" class=\"data row24 col0\" >NeuMF_wpret_trainable_SGD_lrs_wlrs_loss_MSE.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow24_col1\" class=\"data row24 col1\" >0.0467817</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow24_col2\" class=\"data row24 col2\" >0.702388</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow24_col3\" class=\"data row24 col3\" >0.478065</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow24_col4\" class=\"data row24 col4\" >12</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow24_col5\" class=\"data row24 col5\" >110.778</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row25\" class=\"row_heading level0 row25\" >25</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow25_col0\" class=\"data row25 col0\" >NeuMF_wpret_trainable_SGD_wo_momentum_lrs_wlrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow25_col1\" class=\"data row25 col1\" >0.15841</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow25_col2\" class=\"data row25 col2\" >0.694038</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow25_col3\" class=\"data row25 col3\" >0.466635</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow25_col4\" class=\"data row25 col4\" >4</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow25_col5\" class=\"data row25 col5\" >105.727</td>\n", " </tr>\n", " <tr>\n", " <th id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472flevel0_row26\" class=\"row_heading level0 row26\" >26</th>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow26_col0\" class=\"data row26 col0\" >NeuMF_wpret_trainable_adam_lrs_wlrs.pt</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow26_col1\" class=\"data row26 col1\" >0.142818</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow26_col2\" class=\"data row26 col2\" >0.687794</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow26_col3\" class=\"data row26 col3\" >0.462911</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow26_col4\" class=\"data row26 col4\" >2</td>\n", " <td id=\"T_360940ba_8947_11e9_afa5_a3a4b3c8472frow26_col5\" class=\"data row26 col5\" >132.562</td>\n", " </tr>\n", " </tbody></table>" ], "text/plain": [ "<pandas.io.formats.style.Styler at 0x7f6dbbb045c0>" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(df_results\n", " .sort_values('modelname')\n", " .reset_index(drop=True)\n", " .style.apply(highlight_greaterthan, threshold=thresholds, column=columns, axis=1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let me just illustrate how the `modelname` should be read with a couple of examples:\n", "\n", "* `GMF_bs_1024_lr_001_n_emb_16_lrnr_adam_lrs_wolrs.pt`: GMF model, trained with batch size of 1024, learning rate of 0.01, embeddings of 16 (latent) factors (or simply 16 dim embeddings), the learner (aka optimizer) is Adam and I have not used a learning rate scheduler (`lrs_wolrs`, as opposed to `lrs_wlrs`)\n", "\n", "* `MLP_bs_1024_reg_00_lr_003_n_emb_32_ll_16_dp_wodp_lrnr_adam_lrs_wlrs.pt`: MLP model, trained with batch size of 1024, no L2 regularization, learning rate of 0.03, 32 dim embeddings, no dropout, trained with Adam optimizer and using learning rate scheduler (more precisely CyclicLR)\n", "\n", "* `NeuMF_wpret_trainable_SGD_wo_momentum_lrs_wlrs.pt`: NeuMF model, trained with pretrained weights, using SGD with no momentum and using CyclicLR.\n", "\n", "if you want more details, just go to the code :) ." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### GMF and MLP\n", "\n", "Let's grab the best performing models for the GMF and MLP cases" ] }, { "cell_type": "code", "execution_count": 6, "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>model</th>\n", " <th>n_emb</th>\n", " <th>modelname</th>\n", " <th>iter_loss</th>\n", " <th>best_hr</th>\n", " <th>best_ndcg</th>\n", " <th>best_iter</th>\n", " <th>train_time</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>GMF</td>\n", " <td>8</td>\n", " <td>GMF_bs_1024_lr_001_n_emb_8_lrnr_adam_lrs_wolrs.pt</td>\n", " <td>0.206089</td>\n", " <td>0.709855</td>\n", " <td>0.472012</td>\n", " <td>28</td>\n", " <td>88.308644</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>GMF</td>\n", " <td>16</td>\n", " <td>GMF_bs_1024_lr_001_n_emb_16_lrnr_adam_lrs_wolrs.pt</td>\n", " <td>0.147244</td>\n", " <td>0.686205</td>\n", " <td>0.460785</td>\n", " <td>30</td>\n", " <td>84.926549</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>GMF</td>\n", " <td>32</td>\n", " <td>GMF_bs_1024_lr_001_n_emb_32_lrnr_adam_lrs_wolrs.pt</td>\n", " <td>0.095648</td>\n", " <td>0.650702</td>\n", " <td>0.435117</td>\n", " <td>26</td>\n", " <td>93.619321</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>GMF</td>\n", " <td>64</td>\n", " <td>GMF_bs_1024_lr_001_n_emb_64_lrnr_adam_lrs_wolrs.pt</td>\n", " <td>0.054805</td>\n", " <td>0.613295</td>\n", " <td>0.406008</td>\n", " <td>28</td>\n", " <td>120.759626</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>MLP</td>\n", " <td>16</td>\n", " <td>MLP_bs_1024_reg_00_lr_001_n_emb_16_ll_8_dp_wodp_lrnr_adam_lrs_wolrs.pt</td>\n", " <td>0.197586</td>\n", " <td>0.609697</td>\n", " <td>0.396860</td>\n", " <td>30</td>\n", " <td>98.565004</td>\n", " </tr>\n", " <tr>\n", " <th>5</th>\n", " <td>MLP</td>\n", " <td>32</td>\n", " <td>MLP_bs_1024_reg_00_lr_003_n_emb_32_ll_16_dp_wodp_lrnr_adam_lrs_wolrs.pt</td>\n", " <td>0.203978</td>\n", " <td>0.637601</td>\n", " <td>0.405437</td>\n", " <td>30</td>\n", " <td>95.000546</td>\n", " </tr>\n", " <tr>\n", " <th>6</th>\n", " <td>MLP</td>\n", " <td>64</td>\n", " <td>MLP_bs_1024_reg_00_lr_003_n_emb_64_ll_32_dp_wodp_lrnr_adam_lrs_wlrs.pt</td>\n", " <td>0.205861</td>\n", " <td>0.649072</td>\n", " <td>0.435519</td>\n", " <td>16</td>\n", " <td>118.406985</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " model n_emb \\\n", "0 GMF 8 \n", "1 GMF 16 \n", "2 GMF 32 \n", "3 GMF 64 \n", "4 MLP 16 \n", "5 MLP 32 \n", "6 MLP 64 \n", "\n", " modelname \\\n", "0 GMF_bs_1024_lr_001_n_emb_8_lrnr_adam_lrs_wolrs.pt \n", "1 GMF_bs_1024_lr_001_n_emb_16_lrnr_adam_lrs_wolrs.pt \n", "2 GMF_bs_1024_lr_001_n_emb_32_lrnr_adam_lrs_wolrs.pt \n", "3 GMF_bs_1024_lr_001_n_emb_64_lrnr_adam_lrs_wolrs.pt \n", "4 MLP_bs_1024_reg_00_lr_001_n_emb_16_ll_8_dp_wodp_lrnr_adam_lrs_wolrs.pt \n", "5 MLP_bs_1024_reg_00_lr_003_n_emb_32_ll_16_dp_wodp_lrnr_adam_lrs_wolrs.pt \n", "6 MLP_bs_1024_reg_00_lr_003_n_emb_64_ll_32_dp_wodp_lrnr_adam_lrs_wlrs.pt \n", "\n", " iter_loss best_hr best_ndcg best_iter train_time \n", "0 0.206089 0.709855 0.472012 28 88.308644 \n", "1 0.147244 0.686205 0.460785 30 84.926549 \n", "2 0.095648 0.650702 0.435117 26 93.619321 \n", "3 0.054805 0.613295 0.406008 28 120.759626 \n", "4 0.197586 0.609697 0.396860 30 98.565004 \n", "5 0.203978 0.637601 0.405437 30 95.000546 \n", "6 0.205861 0.649072 0.435519 16 118.406985 " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_models = build_model_df(df_results)\n", "df_models" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's visualize the results" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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xkIQBhuO14QkSUREWIapRZ9u+/btbNmyhWXLll3yvSeffBJZlsnMzLzqc5w+fZovfelL/OIXv2Dbtm3MmzePuLi4y55bW1tLSUkJXV1dLFmyBICf/exnfPe73+Xll1/mxRdfJDY29prv/BFzpDH6YBQjNRaxUVYKpiaxYs4EkmLD6Oj20NzZT42ji+0f13O8rh2TIpMaH4EiymgJ+FcStcZTuA+8grt0C6g+TBNnASAnT8ZaeAfmKQuQIy7/nj2cbvR1cb3z45Buqu3r6+PnP/851dXVTJo0ia9+9au0t7fz9NNPs2fPHu6+++5r/sGCYASSJHHrvIlkT4jl528cpa6ph+9s+Ygv3JbDwry0UDdPEIQg2LJlC1/72tcu+7277rqLH//4xyxduvSqz7FhwwbWrl3L6tWreeONN3jyySfZunXrJeepqsqGDRtYuXLloOMPP/wwX/7ylwF/7eTbb7+dxYsXExsbe529EgRjC7OYWFqYztLCdE47u9hVXs++qkaq6zqorusgKtzMknz/qmNq/KU18gTju5jEZjtaa93AUQnd3RM4R44cG1sObtSQAsbvfve7VFVVsWTJEkpLSzlx4gS1tbXcfffdbNy4kYSEhJFupyCMapNtMWz423k8/041B4418T/bqqg628bDt+RgtYh9EYJgZDU1NcydO/ey35szZw6nTp266uNbW1upqqpiy5YtANx5551s3LiRtra2S+bXZ599lpKSElwuFy6XK3A8OvpiyQCXy4UkSWiadr1dEoRxZbIthsm2GD63LJt9VQ3sPOTgfHMP7+yv4539dczIjKekMJ3C7KQbyowujA261437o9fwnij7iyQ2xZhzS5CjR38Ss+E2pICxrKyMN954g8TERD7/+c9TUlLCr3/96ytOkIIwHoVbTfzdXTOZkZnAb947wYeHG6h1dPGl1XlMTBH7qQTBqPr7++np6SEq6tLXeW9vL/39/Vd9vNPpJDU1FUXxX1xSFIWUlBScTueggLG6uprdu3ezdetWNm/efMnzvPjiizz//PM0NDTw/e9//5qT7QzHvs/k5LFf684IfTCKUIzFpInxfO7W6Ryva+ftPWfYXV5P1Zl2qs60Ex9tZeX8DG67OZPUBLHqaCS65t/PKskKuh7JufpK8PRhTZ9GzJxVROYuRDYFb6vD1YTidTGkgNHlcpGY6C9SnpaW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PmLZsmX617/+5Ty5dPLkyRo0aJCHq6rYnDlztGrVKh07dkxNmzZVWFiYPvroIx04cEBPPPGE8vLyZLFY9NBDD+n666/3dLk+7dixY7r33ntVVFQks9ms0NBQTZ06Vf7+/kpKSlKbNm3UqFEjSVKLFi00b948D1cM1L6q/C0aMGCAXn31VS6r4cXqY/8o0Ud6C/pHwD1v6iMJjAAAAAAAtxiSCgAAAABwi8AIAAAAAHCLwAgAAAAAcIvACAAAAABwi8AIAAAAAHCLwAhcgmnTpunvf/+7Rx7b4XDo8ccfV8+ePTV69OhafayDBw8qPj5eVqu1RrY3YMAAff31127XbdiwQf369XPevuWWW7Rhw4YaeVwAQN2hj7w09JHwVhZPFwDUhAEDBujMmTNavXq1goKCJEnvvfeeli1bprfeesvD1dWsTZs26auvvtIXX3zh3NcLLV68WH/4wx+c160655NPPlF0dHRdlXnZPvroI0+XAAA+gT7yPPpIoPoIjPAZNptNb775pu655x5Pl1ItNptNhmFUuf2hQ4fUvHlztx3hOd26ddM777xTE+UBAHwAfeR59JFA9TAkFT5j4sSJev3115Wfn19unbthI+PGjdN7770nqewbx1/96ld6+umnlZiYqIEDB+q7777T4sWLdf311+uaa67Rhx9+6LLNEydO6K677lL37t01duxYHTp0yLkuIyNDd911l3r16qUhQ4ZoxYoVznXTpk3TjBkzNGnSJHXr1s3tkJKjR4/qnnvuUa9evTR48GD973//k1T2jfAf//hHbd68Wd27d9eLL75Y7edpwIAB+ve//61hw4apW7dueuKJJ3Ts2DH99re/Vffu3fWb3/xGJ0+edLnPBx98oD59+qhPnz56/fXXncvtdrtee+01DRo0SL1799aDDz6ovLw85/olS5bohhtuUO/evfWPf/zDZZtnzpzRtGnT1LNnT918883aunVruTrPDc156aWX9OCDD+qxxx5T9+7ddcstt7i037Ztm0aMGKHu3btr8uTJeuihh5zDoY4fP67f/e53SkxMVK9evZScnCy73V7t5w0A6jP6yKqhj6SPRHkERviMLl26qFevXpo/f/4l3X/Lli2Kj4/Xhg0blJSUpIcfflhbt27Vp59+qmeffVazZ89WYWGhs/3y5ct17733asOGDbriiiv0yCOPSJJOnz6t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RKRlaPNDUkVERERERKRhCowiIiIiIiLSoDY1JNVogrW8muIcLUFraUdroN+FSH1n+p7Qe0pERKTptKlJb0REREREROTUaUiqiIiIiIiINEiBUURERERERBqkwCgiIiIiIiINUmAUERERERGRBikwioiIiIiISIMUGEVERERERKRBCowiIiIiIiLSIAVGERERERERaZACo4iIiIiIiDTI4u8CzhVr1qzh2WefxePx4Ha7ufPOO7n88sv9XdZJzZ07l5UrV1JQUMCSJUvo0aMHAMeOHWPOnDls2rSJwMBAUlNTmT17tp+rbf2mTZvG/v37MQyD4OBg/vd//5e4uDjuv/9+8vPzsVqtdO7cmVmzZmGz2fxdrshZ93OfRc8//zzz5s2r9/klIiIizUuB8RR4PB7uv/9+3n33XXr06EF2djY33HADw4YNwzBabift0KFDufnmm7nxxhvrPf/kk08SGBjIypUrMZlMlJaW+qnCtmXu3LmEhoYCsHr1ah566CEWLFjA5MmTGTRokG+fv/71r8yZM8efpYo0i5N9Fu3YsYNvvvmG+Ph4P1YoIiIiLTfttDCGYXD48GEADh8+TExMTIsOiwBpaWnY7fZ6z1VXV/PRRx9x1113YTKZAIiKivJHeW3OD2ERoKqqCpPJREREhC8sAqSmplJYWOiP8kSa1ck+i2pra5k1axaPPfaYb5uIiIj4h3oYT4HJZOKZZ55h2rRpBAcHU11dzSuvvOLvsk7Lvn37iIiI4PnnnyczM5P27dtz1113kZaW5u/S2oSHH36YDRs24PF4eP311+ttc7vdvPfee2RkZPipOpHmc7LPomeffZarr76axMREf5cpIiLS5rXsLrIWwul08sorr/Diiy+yZs0aXnrpJWbMmEF1dbW/S2s0p9PJvn376NOnD4sXL+bee+/lzjvvpKqqyt+ltQl//OMfWbt2LTNmzOAvf/lLvW2zZ88mODiYiRMn+qk6kebzU59FX331FVlZWUyYMMHfJYqIiAgKjKfk22+/paSkhP79+wPQv39/goKCyMnJ8XNljRcfH4/FYmH06NEAXHDBBXTo0IG8vDw/V9a2XHPNNWRmZnLw4EHAe+/i3r17eeaZZ1r8UGeRpvBTn0WbN28mNzeXoUOHkpGRQVFREbfeeivr16/3c8UiIiJtk76ZnoK4uDiKiorIzc0FICcnh9LSUjp16uTnyhrPZrMxaNAgNmzYAEBeXh5lZWV07tzZz5W1btXV1TgcDt/jL774gvDwcCIiInj66afZvn07L7zwAlar1Y9VijSfn/osmjhxIuvXr+eLL77giy++IC4ujvnz55Oenu7nikVERNomk8fj8fi7iHPBJ598wmuvveabgGH69OkMGzbMz1Wd3BNPPMGqVasoLS2lQ4cOREREsGzZMvbt28dDDz1ERUUFFouFu+++myFDhvi73FattLSUadOmUVNTg2EYhIeH88ADD2C1Whk9ejRdunShXbt2ACQkJPDCCy/4uWKRs+9UPosyMjJ4+eWXtayGiIiInygwioiIiIiISIM0JFVEREREREQapMAoIiIiIiIiDVJgFBERERERkQYpMIqIiIiIiEiDFBhFRERERESkQQqMIqdh5syZPP300365tsfj4cEHH2TAgAGMGzfurF5r//799OzZE6fT2STny8jIYOPGjQ1uy8zM5Be/+IXv8ahRo8jMzGyS64qIiIjI6bH4uwCRppCRkcHRo0dZvXo1wcHBACxatIhPPvmEd955x8/VNa2vv/6aDRs28OWXX/ra+mOLFy/m4Ycf9q3r+IMVK1YQGxvbXGWesWXLlvm7BBEREZE2T4FRWg2Xy8Xbb7/N1KlT/V1Ko7hcLsxm8ynvX1BQQMeOHRsMiz9ITU3lvffea4ryRERERKQN05BUaTVuvfVW3njjDQ4dOnTCtoaGVt50000sWrQI8PbKXX/99cyZM4e0tDSGDh3Kli1bWLx4MUOGDOHiiy/mH//4R71zHjx4kN/85jf069ePiRMnUlBQ4NuWk5PDb37zGwYOHMgVV1zB8uXLfdtmzpzJY489xpQpU0hNTW1w2GVxcTFTp05l4MCBDB8+nL///e+At9f0kUce4ZtvvqFfv34899xzjX6dMjIyeP3117nqqqtITU3loYceorS0lMmTJ9OvXz9uueUWKisr6x3z4Ycfkp6eTnp6Om+88YbvebfbzauvvsqwYcMYNGgQd911FxUVFb7tH330Eb/85S8ZNGgQL730Ur1zHj16lJkzZzJgwABGjhxJVlbWCXX+MHx13rx53HXXXdx///3069ePUaNG1dt/x44dXHPNNfTr14/p06dz9913+4YMl5eX89vf/pa0tDQGDhzIhAkTcLvdjX7dRERERNoiBUZpNVJSUhg4cCDz588/reO3bdtGz549yczMZPTo0dxzzz1kZWXx2Wef8eSTTzJr1iyqq6t9+y9ZsoRp06aRmZlJr169uPfeewE4cuQIkyZNYvTo0WzcuJGnnnqKxx9/nN27d/uOXbp0KVOnTmXLli3079//hFp+//vfExcXx7p163juued46qmn2LRpE+PHj+fxxx8nNTWVrVu3Mn369NNq66pVq1iwYAErV65kzZo1TJkyhXvuuYfMzEzcbvcJw3gzMzNZtWoV8+fP59VXX/UFubfffpvVq1ezcOFC1q1bR3h4OLNmzQLg+++/5/HHH+cvf/kL69ato6KigqKiIt85n3/+efLz8/nss8+YP38+H3300Ulr/uKLLxg1ahSbN28mIyOD2bNnA1BbW8sdd9zBr371K7766itGjx7N6tWrfcctWLCA2NhYNm3axIYNG7jnnnswmUyn9bqJiIiItDUKjNKqTJ8+nYULF1JeXt7oYxMSEhg7dixms5mRI0ficDi4/fbbsVqtpKenY7Vayc/P9+1/2WWXMWDAAKxWKzNmzOCbb77B4XCwdu1aOnbsyNixY7FYLJx33nlcccUVrFy50nfs0KFD6d+/P4ZhEBgYWK8Oh8PB119/zb333ktgYCC9e/dm/PjxfPzxx6fcln//+9+kpaX5foYNG1Zv+8SJE4mKiiI2Npa0tDTOP/98+vTpg9VqZfjw4ezcubPe/rfffjvBwcH07NmTa6+9lqVLlwLw/vvvM2PGDOLi4rBardxxxx2sXLkSp9PJihUr6r1Gd911F4bxn4+cTz/9lKlTpxIREYHdbuemm246aZv69+/PkCFDMJvNjBkzhuzsbF9bnU4nN998MwEBAVx++eX07dvXd5zFYuHAgQMUFhYSEBBAWlqaAqOIiIjIKdI9jNKq9OjRg8suu4xXX32Vrl27NurYyMhI379/mDAmKirK91xgYGC9Hsa4uDjfv9u3b094eDglJSUUFBSwbds20tLSfNtdLhdXX32177Hdbv/JOkpKSggPDyckJMT3XHx8PNu3bz/ltlxwwQUnvYfxv9v148ft2rXjyJEj9fb/cb0dO3Zk165dABQWFnL77bfXC4KGYVBWVkZJSUm91yg4OJiIiIh67fzxeePj40/apv+u8dixYzidTkpKSoiNja0XAn983ltvvZXnn3+eSZMmAXDddddx2223nfRaIiIiIuKlwCitzvTp0/nVr37lCwiAb4KYo0eP+oLYgQMHzug6Px5eWV1dTWVlJTExMdjtdgYMGMCCBQtO67wxMTFUVlZSVVXlq9XhcPh1hlOHw+EL4IWFhcTExADe0DxnzpwGh9XGxMSQk5Pje1xTU1Pv/sbo6GgcDgfdu3f3XeN0REdHU1xcjMfj8YVGh8NBYmIiACEhIcycOZOZM2eye/dubr75Zvr27cvFF198WtcTERERaUs0JFVanc6dOzNy5Mh69+HZbDZiY2P5+OOPcblcfPDBB+zbt++MrvPll1+yefNmamtrefbZZ7nggguw2+1cdtll7Nmzh48++oi6ujrq6urYtm1bvfB0Mna7nX79+vHUU09x7NgxsrOz+eCDD7jqqqvOqN4z8eKLL1JTU8Pu3btZvHgxI0eOBOCGG27gmWee8U34U15e7rt/8IorrmDt2rW+1+i5556rN9nMlVdeyauvvkplZSVFRUWnvfxJamoqZrOZhQsX4nQ6Wb16db0JcdasWcPevXvxeDyEhIRgNpvr9YiKiIiIyE/TtyZplW6//fYThlXOnj2b+fPnM2jQIL7//nv69et3RtcYPXo0L7zwAoMGDWLHjh08+eSTgLdHa/78+SxfvpzBgweTnp7OX//6V2pra0/53E899RQFBQUMHjyYO+64gzvvvJNLL730lI//YRbVH/9s27at0W38wQ+ztd5yyy1MmjSJ9PR0AG6++WYyMjKYNGkS/fr149e//rXvOt27d+fRRx/l3nvvZfDgwYSFhdUbonrHHXcQHx/P0KFDmTRpEmPGjDmt2qxWK/PmzeODDz5gwIABfPLJJ1x22WVYrVYA9u7d65vN9rrrruOGG25g0KBBp/1aiIiIiLQlJo/H4/F3ESIiTWn8+PFcf/31jB071t+liIiIiJzT1MMoIue8r776igMHDuB0OvnHP/7Bd999x+DBg/1dloiIiMg5T5PeiMg5Ly8vj7vvvpsjR46QmJjIc88955uYR0REREROn4akioiIiIiISIM0JFVEREREREQapMAoIiIiIiIiDVJgFBERERERkQYpMIqIiIiIiEiDFBhFRERERESkQQqMIiIiIiIi0qD/DzHukzwmDUMTAAAAAElFTkSuQmCC\n", "text/plain": [ "<Figure size 1080x720 with 3 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_emb(df_models)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I find these plots quite interesting. The upper plots show that in the case of the MLP model, the ranking metrics (i.e. HR@10 and NDCG@10 increase) improve as one uses embeddings of higher dimension which is perhaps the expected behaviour. However, the behaviour is the opposite in the case of the GMF model, where higher dimension embeddings lead to lower HR@10 and NDCG@10. \n", "\n", "On the other hand, the lower plot shows that while for the GMF model the loss (binary cross entropy, hereafter BCE) descreases as we use higher dimension embeddings, the opposite occurs for the MLP model. Let's further visualize the results in terms of ranking vs classifying metrics." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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Z87kxhtvJDc3l+bNm+N0OsnNza3z8TExMWzatKnGv7NpCKGqQb3ggguqb0dERNCyZUtycnLo378/119/PY888ghXXHEFM2bMoLi4GIB58+bx+eefc/XVV3PDDTecdiIBERGRn0JtpIj/UMEoYjPDMBg+fDhOp5Ovv/6asLAwLrnkEj7++ONGf+2YmBgOHTpUfbu0tJSCggJiY2MBuOmmm3jrrbd4//33ycrK4sUXXwQgKSmJ5557jvXr1zN06FDuueeeRs8qIiJNj9pIEfupYBSxmWVZrFq1isLCwuouLffffz9vv/02L774IsePHwcgMzOTe++99ye/jtvtpqKiovqfx+Nh9OjRvPXWW2zfvp3Kykr+8pe/kJSURLt27UhPT+ebb77B7XYTFhZGcHAwhmFQWVnJu+++S1FREUFBQURERGAYRoP8LURERH5IbaSI/TSGUcQmd9xxR3UjcsEFF/D444/TtWtXAH72s5+xaNEi5s2bx3PPPYdhGHTo0IHrr7+++vFHjx49ZYrwxx9/nBEjRtT6elOnTj3l9e+9917uvvtupk2bRmFhIX369OHpp58GoKSkhEcffZSDBw8SHBzMgAEDuOWWWwBYsWIFc+bMwTRNLrroIp588smG+aOIiIigNlLEnzgsy7LsDiEiIiIiIiL+R11SRUREREREpFYqGEVERERERKRWKhhFRERERESkVioYRUREREREpFYqGEVERERERKRWKhhFRERERESkVioYRUREREREpFYqGEVERERERKRWKhhFRERERESkVv8/Qh5ikiA9cI4AAAAASUVORK5CYII=\n", "text/plain": [ "<Figure size 1080x720 with 2 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_loss(df_models)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Considering these plots altogether, we observe that, in the case of the MLP model, adding embeddings does not help reducing the loss. In other words, the algorithm is not learning to classify better. However, the ranking metrics (HR@10 and NDCG@10) improve. In the case of the GMF, adding embeddings does help to reduce the loss. However, the HR@10 and NDCG@10 decrease significantly.\n", "\n", "Altogether, and as illustrated in the last plot, this means that the ranking metrics and the loss are, for the models considered, correlated. This is, for these given architectures, a better classification metric does not imply a better ranking metric. I must admit that it is not the first time that I see this effect. In one of the companies I worked for I found that the best metric (RMSE in that case) predicting the interest of a user in an item did not always lead to the best ranking metric. \n", "\n", "Let me just comment a bit more on these results in the context of the different ways of evaluating a recommendation algorithm. Here I'm only going to write a few sentences. For more details make sure you check Chapter 7 in this fantastic [book](https://www.amazon.co.uk/Recommender-Systems-Textbook-Charu-Aggarwal/dp/3319296574/ref=sr_1_1?crid=2SK7PGNMA59FW&keywords=recommender+systems&qid=1559762483&s=gateway&sprefix=recommender+syste%2Caps%2C153&sr=8-1). When building a recommendation algorithm you can normally evaluate its performance as a classification/regression problem, or as a ranking problem. The later is more related to information retrieval effectiveness and is normally my preference. In the first place, because I believe is a more robust measure of how the recommendation algorithm performs, and secondly, because sometimes ratings can be a bit *\"erratic\"*. For example, they might be influenced by the mood of the user that day or because something happened during the movie (internet failed, or the site failed). \n", "\n", "Also, you do not want to get \"too good\" predicting ratings. In general you want your algorithm to have good *coverage* (i.e. covering as much as possible the item space) and *diversity* (i.e. recommending items as diverse as possible that are likely to be liked by the user). This also relates to the notion of *novelty* (i.e. recommending items that the user was not aware of) and *serendipity* (recommending unexpected items to the user). If your recommendations rely completely on achieving the best loss when predicting explicit ratings, you will end up reducing all coverage, diversity, novelty and serendipity, and ultimately, engagement. \n", "\n", "### Neural Collaborative Filtering (NeuMF)\n", "\n", "In the following we will focus on the ranking metric. With that in mind we see that the best ranking metrics are $HR@10=0.696$ and $NDCG@10=0.461$ obtained for the models `GMF_bs_1024_lr_001_n_emb_8_lrnr_adam_lrs_wolrs.pt` and `GMF_bs_1024_lr_001_n_emb_16_lrnr_adam_lrs_wolrs.pt` respectively. In the original [paper](https://arxiv.org/pdf/1708.05031.pdf) they manage to obtain better results for their two datasets (movilens and Pinterest) when the two models are combined in what they call *\"Neural Matrix Factorization\"* (see their paper or Chapter04 in this repo). \n", "\n", "We observe that the same happens here" ] }, { "cell_type": "code", "execution_count": 9, "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>modelname</th>\n", " <th>iter_loss</th>\n", " <th>best_hr</th>\n", " <th>best_ndcg</th>\n", " <th>best_iter</th>\n", " <th>train_time</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>24</th>\n", " <td>NeuMF_wpret_frozen_SGD_lrs_wolrs.pt</td>\n", " <td>0.155904</td>\n", " <td>0.710310</td>\n", " <td>0.488197</td>\n", " <td>4</td>\n", " <td>79.513714</td>\n", " </tr>\n", " <tr>\n", " <th>23</th>\n", " <td>NeuMF_wpret_frozen_SGD_wo_momentum_lrs_wolrs.pt</td>\n", " <td>0.154762</td>\n", " <td>0.706373</td>\n", " <td>0.485495</td>\n", " <td>4</td>\n", " <td>82.924275</td>\n", " </tr>\n", " <tr>\n", " <th>25</th>\n", " <td>NeuMF_wpret_frozen_adam_lrs_wolrs.pt</td>\n", " <td>0.155047</td>\n", " <td>0.705058</td>\n", " <td>0.484298</td>\n", " <td>4</td>\n", " <td>81.263757</td>\n", " </tr>\n", " <tr>\n", " <th>20</th>\n", " <td>NeuMF_wpret_trainable_SGD_lrs_wlrs.pt</td>\n", " <td>0.152156</td>\n", " <td>0.702186</td>\n", " <td>0.476085</td>\n", " <td>20</td>\n", " <td>114.815670</td>\n", " </tr>\n", " <tr>\n", " <th>22</th>\n", " <td>NeuMF_wpret_trainable_SGD_wo_momentum_lrs_wlrs.pt</td>\n", " <td>0.158410</td>\n", " <td>0.694038</td>\n", " <td>0.466635</td>\n", " <td>4</td>\n", " <td>105.726984</td>\n", " </tr>\n", " <tr>\n", " <th>21</th>\n", " <td>NeuMF_wpret_trainable_adam_lrs_wlrs.pt</td>\n", " <td>0.142818</td>\n", " <td>0.687794</td>\n", " <td>0.462911</td>\n", " <td>2</td>\n", " <td>132.561878</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " modelname iter_loss best_hr \\\n", "24 NeuMF_wpret_frozen_SGD_lrs_wolrs.pt 0.155904 0.710310 \n", "23 NeuMF_wpret_frozen_SGD_wo_momentum_lrs_wolrs.pt 0.154762 0.706373 \n", "25 NeuMF_wpret_frozen_adam_lrs_wolrs.pt 0.155047 0.705058 \n", "20 NeuMF_wpret_trainable_SGD_lrs_wlrs.pt 0.152156 0.702186 \n", "22 NeuMF_wpret_trainable_SGD_wo_momentum_lrs_wlrs.pt 0.158410 0.694038 \n", "21 NeuMF_wpret_trainable_adam_lrs_wlrs.pt 0.142818 0.687794 \n", "\n", " best_ndcg best_iter train_time \n", "24 0.488197 4 79.513714 \n", "23 0.485495 4 82.924275 \n", "25 0.484298 4 81.263757 \n", "20 0.476085 20 114.815670 \n", "22 0.466635 4 105.726984 \n", "21 0.462911 2 132.561878 " ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(df_results[(df_results.modelname.str.contains('NeuMF')) \n", " & ~(df_results.modelname.str.contains('MSE'))]\n", " .sort_values('best_hr', ascending=False))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You will see that the best result is obtained when using the pretrained weights from the GMF and MLP model, with all layers frozen but the last one, SGD and no learning rate scheduler. This is consistent with the results in the paper. In case you wonder \"why SGD\", here is the (adequate) reasoning in the paper: *\"After feeding pre-trained parameters into NeuMF, we optimize it with the vanilla SGD, rather than Adam. This is because Adam needs to save momentum\n", "information for updating parameters properly. As we initialize NeuMF with pre-trained model parameters only and\n", "forgo saving the momentum information, it is unsuitable to further optimize NeuMF with momentum-based methods\"*\n", "\n", "Nonetheless, I also used Adam, since I often find Deep Learning works in mysterious ways. Consistent with the reasoning in the paper, SGD works better. " ] } ], "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.10" } }, "nbformat": 4, "nbformat_minor": 2 }