{
 "cells": [
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "%env MKL_NUM_THREADS=16\n",
    "%env OMP_NUM_THREADS=16"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "from ipypb import track\n",
    "\n",
    "from polara.evaluation import evaluation_engine as ee\n",
    "from polara.evaluation.pipelines import find_optimal_svd_rank\n",
    "from polara import (SVDModel,\n",
    "                    PopularityModel,\n",
    "                    RandomModel)\n",
    "from polara.recommender.hybrid.models import SimilarityAggregation\n",
    "from polara.recommender.coldstart.models import (SVDModelItemColdStart,\n",
    "                                                 RandomModelItemColdStart,\n",
    "                                                 PopularityModelItemColdStart,\n",
    "                                                 SimilarityAggregationItemColdStart)\n",
    "\n",
    "from data_preprocessing import (get_amazon_data,\n",
    "                                get_similarity_data,\n",
    "                                prepare_data_model,\n",
    "                                prepare_cold_start_data_model)\n",
    "from utils import (report_results, save_results,\n",
    "                   apply_config, print_data_stats,\n",
    "                   save_training_time, save_cv_training_time)\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from polara.recommender import defaults\n",
    "defaults.memory_hard_limit = 15 # allowed memory usage during recommendations generation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "seed = 42"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "experiment_name = 'baseline'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Experiment setup"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_labels = ['AMZe', 'AMZvg']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "ranks_grid = [1, 5, 10, 15, 20, 30, 50, 60, 75, 100, 125, 150, 200, 250, 300,\n",
    "              350, 400, 500, 750, 1000, 1250, 1500, 1750, 2000, 2500, 3000]\n",
    "svd_ranks = {'AMZe': ranks_grid,\n",
    "             'AMZvg': ranks_grid\n",
    "            }"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "topk_values = [1, 3, 10, 20, 30]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "target_metric = 'mrr'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_dict = dict.fromkeys(data_labels)\n",
    "meta_dict = dict.fromkeys(data_labels)\n",
    "similarities = dict.fromkeys(data_labels)\n",
    "sim_indices = dict.fromkeys(data_labels)\n",
    "feature_idx = dict.fromkeys(data_labels)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "all_data = [data_dict, similarities, sim_indices, meta_dict]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Amazon Electronics"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "lbl = 'AMZe'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_dict[lbl], meta_dict[lbl] = get_amazon_data('../datasets/amazon/ratings_Electronics.csv',\n",
    "                                                 meta_path='../datasets/amazon/meta/meta_Electronics.json.gz',\n",
    "                                                 implicit=True,\n",
    "                                                 pcore=5,\n",
    "                                                 filter_no_meta=True,\n",
    "                                                 flat_categories=True) # take only bottom level categories"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "similarities[lbl], sim_indices[lbl], feature_idx[lbl] = get_similarity_data(meta_dict[lbl])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.0"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(meta_dict[lbl].applymap(len).sum(axis=1)==0).mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Amazon Video Games"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "lbl = 'AMZvg'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_dict[lbl], meta_dict[lbl] = get_amazon_data('../datasets/amazon/ratings_Video_Games.csv',\n",
    "                                                 meta_path='../datasets/amazon/meta/meta_Video_Games.json.gz',\n",
    "                                                 implicit=True,\n",
    "                                                 pcore=5,\n",
    "                                                 filter_data={'categories': ['Games']}, # filter uniformative category\n",
    "                                                 filter_no_meta=True,\n",
    "                                                 flat_categories=True) # take only bottom level categories"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "similarities[lbl], sim_indices[lbl], feature_idx[lbl] = get_similarity_data(meta_dict[lbl])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.0"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(meta_dict[lbl].applymap(len).sum(axis=1)==0).mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Data stats"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "AMZe\n",
      "{'userid': 124895, 'asin': 44843}\n",
      "density 0.019153791836615672\n",
      "similarity matrix density 1.1054998336712965\n",
      "AMZvg\n",
      "{'userid': 14251, 'asin': 6858}\n",
      "density 0.13281340440589384\n",
      "similarity matrix density 9.081814734274188\n"
     ]
    }
   ],
   "source": [
    "print_data_stats(data_labels, all_data)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Standard experiment"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "def prepare_recommender_models(data_label, data_models, config):\n",
    "    data_model = data_models[data_label]\n",
    "    models = [SVDModel(data_model),\n",
    "              SimilarityAggregation(data_model),\n",
    "              PopularityModel(data_model),\n",
    "              RandomModel(data_model, seed=seed)]\n",
    "    apply_config(models, config, data_label)\n",
    "    return models\n",
    "\n",
    "\n",
    "def fine_tune_svd(model, ranks, label, record_time=False):\n",
    "    best_svd_rank, svd_scores = find_optimal_svd_rank(model, ranks, target_metric,\n",
    "                                                      return_scores=True,\n",
    "                                                      iterator=lambda x: track(x, label=f'{label} ranks'))\n",
    "    model_config = {model.method: {'rank': best_svd_rank}}\n",
    "    model_scores = {model.method: svd_scores}\n",
    "    try:\n",
    "        if record_time:\n",
    "            save_training_time(experiment_name, model, pd.Index([max(ranks)], name='rank'), label)\n",
    "    finally:\n",
    "        return model_config, model_scores"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## tuning"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "config = {}\n",
    "scores = {}\n",
    "data_models = {}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div><span class=\"Text-label\" style=\"display:inline-block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; min-width:0; max-width:15ex; vertical-align:middle; text-align:right\"></span>\n",
       "<progress style=\"width:60ex\" max=\"2\" value=\"2\" class=\"Progress-main\"/></progress>\n",
       "<span class=\"Progress-label\"><strong>100%</strong></span>\n",
       "<span class=\"Iteration-label\">2/2</span>\n",
       "<span class=\"Time-label\">[01:11:06<09:52, 2132.80s/it]</span></div>"
      ],
      "text/plain": [
       "\u001b[A\u001b[A\u001b[2K\r",
       " [████████████████████████████████████████████████████████████] 2/2 [01:11:06<09:52, 2132.80s/it]\u001b[B"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div><span class=\"Text-label\" style=\"display:inline-block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; min-width:15ex; max-width:15ex; vertical-align:middle; text-align:right\">AMZe ranks</span>\n",
       "<progress style=\"width:45ex\" max=\"26\" value=\"26\" class=\"Progress-main\"/></progress>\n",
       "<span class=\"Progress-label\"><strong>100%</strong></span>\n",
       "<span class=\"Iteration-label\">26/26</span>\n",
       "<span class=\"Time-label\">[14:20<00:14, 33.07s/it]</span></div>"
      ],
      "text/plain": [
       "\u001b[A\u001b[2K\r",
       "     AMZe ranks [█████████████████████████████████████████████] 26/26 [14:20<00:14, 33.07s/it]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div><span class=\"Text-label\" style=\"display:inline-block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; min-width:15ex; max-width:15ex; vertical-align:middle; text-align:right\">AMZvg ranks</span>\n",
       "<progress style=\"width:45ex\" max=\"26\" value=\"26\" class=\"Progress-main\"/></progress>\n",
       "<span class=\"Progress-label\"><strong>100%</strong></span>\n",
       "<span class=\"Iteration-label\">26/26</span>\n",
       "<span class=\"Time-label\">[00:35<00:01, 1.33s/it]</span></div>"
      ],
      "text/plain": [
       "\u001b[A\u001b[2K\r",
       "    AMZvg ranks [█████████████████████████████████████████████] 26/26 [00:35<00:01, 1.33s/it]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "for label in track(data_labels):\n",
    "    data_models[label] = prepare_data_model(label, *all_data, seed)\n",
    "    config[label], scores[label] = fine_tune_svd(SVDModel(data_models[label]),\n",
    "                                                 svd_ranks[label],\n",
    "                                                 label, True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "report_results('rank', scores);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'AMZe': {'PureSVD': {'rank': 1000}}, 'AMZvg': {'PureSVD': {'rank': 150}}}"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "config"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### saving data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "save_results(experiment_name, config=config, tuning=scores)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## cross-validation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div><span class=\"Text-label\" style=\"display:inline-block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; min-width:0; max-width:15ex; vertical-align:middle; text-align:right\"></span>\n",
       "<progress style=\"width:60ex\" max=\"2\" value=\"2\" class=\"Progress-main\"/></progress>\n",
       "<span class=\"Progress-label\"><strong>100%</strong></span>\n",
       "<span class=\"Iteration-label\">2/2</span>\n",
       "<span class=\"Time-label\">[59:53<00:52, 1796.25s/it]</span></div>"
      ],
      "text/plain": [
       "\u001b[A\u001b[A\u001b[2K\r",
       " [████████████████████████████████████████████████████████████] 2/2 [59:53<00:52, 1796.25s/it]\u001b[B"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div><span class=\"Text-label\" style=\"display:inline-block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; min-width:15ex; max-width:15ex; vertical-align:middle; text-align:right\">AMZe folds</span>\n",
       "<progress style=\"width:45ex\" max=\"5\" value=\"5\" class=\"Progress-main\"/></progress>\n",
       "<span class=\"Progress-label\"><strong>100%</strong></span>\n",
       "<span class=\"Iteration-label\">5/5</span>\n",
       "<span class=\"Time-label\">[59:01<13:53, 708.10s/it]</span></div>"
      ],
      "text/plain": [
       "\u001b[A\u001b[2K\r",
       "     AMZe folds [█████████████████████████████████████████████] 5/5 [59:01<13:53, 708.10s/it]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div><span class=\"Text-label\" style=\"display:inline-block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; min-width:15ex; max-width:15ex; vertical-align:middle; text-align:right\">AMZvg folds</span>\n",
       "<progress style=\"width:45ex\" max=\"5\" value=\"5\" class=\"Progress-main\"/></progress>\n",
       "<span class=\"Progress-label\"><strong>100%</strong></span>\n",
       "<span class=\"Iteration-label\">5/5</span>\n",
       "<span class=\"Time-label\">[00:52<00:09, 10.39s/it]</span></div>"
      ],
      "text/plain": [
       "\u001b[A\u001b[2K\r",
       "    AMZvg folds [█████████████████████████████████████████████] 5/5 [00:52<00:09, 10.39s/it]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "result = {}\n",
    "\n",
    "for label in track(data_labels):\n",
    "    models = prepare_recommender_models(label, data_models, config)\n",
    "    result[label] = ee.run_cv_experiment(models,\n",
    "                                         fold_experiment=ee.topk_test,\n",
    "                                         topk_list=topk_values,\n",
    "                                         ignore_feedback=True,\n",
    "                                         iterator=lambda x: track(x, label=f'{label} folds'))\n",
    "    save_cv_training_time(experiment_name, models, label)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "report_results('topn', result, target_metric);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### saving data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "save_results(experiment_name, cv=result)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Cold start"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "import gc\n",
    "gc.collect()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "def prepare_cold_start_recommender_models(data_label, data_models, config):\n",
    "    data_model = data_models[data_label]\n",
    "    models = [SVDModelItemColdStart(data_model, item_features=meta_dict[data_label]),\n",
    "              SimilarityAggregationItemColdStart(data_model),\n",
    "              PopularityModelItemColdStart(data_model),\n",
    "              RandomModelItemColdStart(data_model, seed=seed)]\n",
    "    apply_config(models, config, data_label)\n",
    "    return models"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## tuning"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "config_cold = {}\n",
    "scores_cold = {}\n",
    "data_models_cold = {}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div><span class=\"Text-label\" style=\"display:inline-block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; min-width:0; max-width:15ex; vertical-align:middle; text-align:right\"></span>\n",
       "<progress style=\"width:60ex\" max=\"2\" value=\"2\" class=\"Progress-main\"/></progress>\n",
       "<span class=\"Progress-label\"><strong>100%</strong></span>\n",
       "<span class=\"Iteration-label\">2/2</span>\n",
       "<span class=\"Time-label\">[01:16:57<07:44, 2308.39s/it]</span></div>"
      ],
      "text/plain": [
       "\u001b[A\u001b[A\u001b[2K\r",
       " [████████████████████████████████████████████████████████████] 2/2 [01:16:57<07:44, 2308.39s/it]\u001b[B"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div><span class=\"Text-label\" style=\"display:inline-block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; min-width:15ex; max-width:15ex; vertical-align:middle; text-align:right\">AMZe ranks</span>\n",
       "<progress style=\"width:45ex\" max=\"26\" value=\"26\" class=\"Progress-main\"/></progress>\n",
       "<span class=\"Progress-label\"><strong>100%</strong></span>\n",
       "<span class=\"Iteration-label\">26/26</span>\n",
       "<span class=\"Time-label\">[16:07<00:17, 37.20s/it]</span></div>"
      ],
      "text/plain": [
       "\u001b[A\u001b[2K\r",
       "     AMZe ranks [█████████████████████████████████████████████] 26/26 [16:07<00:17, 37.20s/it]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div><span class=\"Text-label\" style=\"display:inline-block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; min-width:15ex; max-width:15ex; vertical-align:middle; text-align:right\">AMZvg ranks</span>\n",
       "<progress style=\"width:45ex\" max=\"26\" value=\"26\" class=\"Progress-main\"/></progress>\n",
       "<span class=\"Progress-label\"><strong>100%</strong></span>\n",
       "<span class=\"Iteration-label\">26/26</span>\n",
       "<span class=\"Time-label\">[00:45<00:00, 1.75s/it]</span></div>"
      ],
      "text/plain": [
       "\u001b[A\u001b[2K\r",
       "    AMZvg ranks [█████████████████████████████████████████████] 26/26 [00:45<00:00, 1.75s/it]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "for label in track(data_labels):\n",
    "    data_models_cold[label] = prepare_cold_start_data_model(label, *all_data, seed)\n",
    "    model = SVDModelItemColdStart(data_models_cold[label],\n",
    "                                  item_features=meta_dict[label])\n",
    "    model.use_raw_features = True\n",
    "    config_cold[label], scores_cold[label] = fine_tune_svd(model,\n",
    "                                                           svd_ranks[label],\n",
    "                                                           label)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "report_results('rank', scores_cold);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'AMZe': {'PureSVD(cs)': {'rank': 2500}},\n",
       " 'AMZvg': {'PureSVD(cs)': {'rank': 3000}}}"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "config_cold"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### saving data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "save_results(experiment_name+'_coldstart', config=config_cold, tuning=scores_cold)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## cross validation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div><span class=\"Text-label\" style=\"display:inline-block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; min-width:0; max-width:15ex; vertical-align:middle; text-align:right\"></span>\n",
       "<progress style=\"width:60ex\" max=\"2\" value=\"2\" class=\"Progress-main\"/></progress>\n",
       "<span class=\"Progress-label\"><strong>100%</strong></span>\n",
       "<span class=\"Iteration-label\">2/2</span>\n",
       "<span class=\"Time-label\">[04:02:47<46:03, 7283.28s/it]</span></div>"
      ],
      "text/plain": [
       "\u001b[A\u001b[A\u001b[2K\r",
       " [████████████████████████████████████████████████████████████] 2/2 [04:02:47<46:03, 7283.28s/it]\u001b[B"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div><span class=\"Text-label\" style=\"display:inline-block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; min-width:15ex; max-width:15ex; vertical-align:middle; text-align:right\">AMZe folds</span>\n",
       "<progress style=\"width:45ex\" max=\"5\" value=\"5\" class=\"Progress-main\"/></progress>\n",
       "<span class=\"Progress-label\"><strong>100%</strong></span>\n",
       "<span class=\"Iteration-label\">5/5</span>\n",
       "<span class=\"Time-label\">[03:16:43<39:14, 2360.61s/it]</span></div>"
      ],
      "text/plain": [
       "\u001b[A\u001b[2K\r",
       "     AMZe folds [█████████████████████████████████████████████] 5/5 [03:16:43<39:14, 2360.61s/it]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div><span class=\"Text-label\" style=\"display:inline-block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; min-width:15ex; max-width:15ex; vertical-align:middle; text-align:right\">AMZvg folds</span>\n",
       "<progress style=\"width:45ex\" max=\"5\" value=\"5\" class=\"Progress-main\"/></progress>\n",
       "<span class=\"Progress-label\"><strong>100%</strong></span>\n",
       "<span class=\"Iteration-label\">5/5</span>\n",
       "<span class=\"Time-label\">[46:03<07:48, 552.69s/it]</span></div>"
      ],
      "text/plain": [
       "\u001b[A\u001b[2K\r",
       "    AMZvg folds [█████████████████████████████████████████████] 5/5 [46:03<07:48, 552.69s/it]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "result_cold = {}\n",
    "for label in track(data_labels):\n",
    "    models_cold = prepare_cold_start_recommender_models(label, data_models_cold, config_cold)\n",
    "    result_cold[label] = ee.run_cv_experiment(models_cold,\n",
    "                                              fold_experiment=ee.topk_test,\n",
    "                                              topk_list=topk_values,\n",
    "                                              ignore_feedback=True,\n",
    "                                              iterator=lambda x: track(x, label=f'{label} folds'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZAAAAEWCAYAAABIVsEJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xt8FdW5//HPIyBgVeQSrAqSVK6BXEBAPa2AgoCFghxRwB4uCmoVW7XqT7S+KKXSoj0eK4JttXJQi1yUViOiHLkVvBMUkIvYiCjRqAiIYAVNeH5/7EnYbHbIzpBkB/J9v177xcyaZ61ZM5A8zKzZa8zdERERKa/jkt0BERE5OimBiIhIKEogIiISihKIiIiEogQiIiKhKIGIiEgoSiAiIhKKEojIETKzZWa208zqRpXNMDM3swExsX8MykcF6+vNbE/MZ5+Z7a/iwxApNyUQkSNgZqnA+YADA2I2vweMjIqtDVwGvF9c5u7t3f3E4g/wfWAz8NvK7bnIkVMCETkyI4DXgRlEJYvAc8APzaxhsN4XWAt8epj2/gpsBX5TXGBm/c1stZl9aWavmllmRXVe5EgogYgcmRHAzODTx8xOjdq2F8gBhkbFPl5aQ2b2C+CHwBXuvj8o6wRMB64FGgN/AXKib5eJJIsSiEhIZvYjoAUw191XEbk1dUVM2OPACDNrAHQHnimlrXOB3wGXufsXUZuuBv7i7m+4e5G7PwbsA86t2KMRKT8lEJHwRgL/F/UL/0libmO5+8tACnAXMN/dv4ltxMyaAE8Bd7j76zGbWwC3BLevvjSzL4HmwOkVeygi5Vc72R0QORqZWX3gcqCWmRWPadQFTjGzrJjwvwHjgQvitHMckcTzirs/GGdXW4FJ7j6pwjovUkGUQETCuQQoAjKAb6PK5xIZ64g2BVgBLI/TzgQiVxT/Wcp+HgH+YWaLgDeBE4AewHJ33x2y7yIVQglEJJyRwP+6+0fRhWY2lUjCWFRc5u47gMWltHMX8B3wqZnFbkt391wzuxqYCrQCvgFeJn4yEqlSphdKiYhIGBpEFxGRUJRAREQkFCUQEREJRQlERERCOaafwmrSpImnpqYmuxsiIkeVVatWfeHuKWXFHdMJJDU1ldzc3GR3Q0TkqGJmHyYSp1tYIiISihKIiIiEogQiIiKhJDQGYmZ9gQeAWsBf3X1yzPa6RKatPhvYDgxx9y3BtjuA0UTmDfqFuy8MyqcD/YHP3b1DVFtzgDbB6inAl+6eHbz5bSOwKdj2urv/rJzHy3fffUd+fj579+4tb1WpIPXq1aNZs2bUqVMn2V0RkSNQZgIxs1rANOAiIB9YaWY57r4hKmw0sNPdW5rZUOAeYIiZpRN5mU57ItNPLzKz1u5eROQNblOJecGOuw+J2vd9wK6oze+7e3b5D/OA/Px8TjrpJFJTU4kz95BUMndn+/bt5Ofnk5aWluzuiMgRSOQWVlcgz903u/u3wGxgYEzMQOCxYPlpoKdFfjsPBGa7+z53/wDIC9rD3ZcDO0rbaVD/cmBWOY6nTHv37qVx48ZKHkliZjRu3FhXgCLHgEQSyBlE3klQLD8oixvj7oVErhoaJ1i3NOcDn7n7v6LK0szsbTP7p5mdH6+SmV1jZrlmlrtt27a4DSt5JJfOv8ixIZEEEu+nPXYK39JiEqlbmmEcfPVRAJzp7h2BXwJPmtnJhzTu/rC7d3b3zikpZX4PRkREQkokgeQTeeFNsWbAJ6XFmFltoAGR21OJ1D1E0MZ/AnOKy4LbYNuD5eL3T7dOoP81QmpqKl988cURx4iIJCqRp7BWAq3MLA34mMig+BUxMTlEXrDzGjAYWOLubmY5RK4U/ofIIHorIm9VK0sv4F13zy8uMLMUYIe7F5nZD4K2NifQlojIMWNj23aH3d7u3Y1V1JMErkCCMY0bgIVEHqOd6+7rzWyimQ0Iwh4FGptZHpHbS+OCuuuJvOJzA/AiMDZ4Agszm0Uk4bQxs3wzGx2126EcOnjeDVhrZmuIDNT/LHjT21Fry5YttG3bljFjxtChQwd++tOfsmjRIn74wx/SqlUr3nzzTXbs2MEll1xCZmYm5557LmvXrgVg+/bt9O7dm44dO3LttdcS/WKwv/3tb3Tt2pXs7GyuvfZaioqKknWIInIMS+h7IO6+AFgQUzY+ankvcFkpdScBk+KUDzvM/kbFKZsHzEukv0eTvLw8nnrqKR5++GG6dOnCk08+ycsvv0xOTg6/+93vaN68OR07duSZZ55hyZIljBgxgtWrV/Ob3/yGH/3oR4wfP57nn3+ehx9+GICNGzcyZ84cXnnlFerUqcP111/PzJkzGTEi9jXdIiJH5pieTPFokJaWRkZGBgDt27enZ8+emBkZGRls2bKFDz/8kHnzInnzwgsvZPv27ezatYvly5fz97//HYB+/frRsGFDABYvXsyqVavo0qULAN988w1NmzZNwpGJyLFOCSTJ6tatW7J83HHHlawfd9xxFBYWUrv2oX9FxY/Bxnsc1t0ZOXIkv//97yupxyIiEZoLq5rr1q0bM2fOBGDZsmU0adKEk08++aDyF154gZ07dwLQs2dPnn76aT7//HMAduzYwYcfJjQzs4hIuegKpJqbMGECV155JZmZmZxwwgk89ljkC/+//vWvGTZsGJ06daJ79+6ceeaZAKSnp3P33XfTu3dv9u/fT506dZg2bRotWrRI5mGIyDHIop/eOdZ07tzZY18otXHjRtq1O/xjcFL59PcgEk5VPMZrZqvcvXNZcbqFJSIioSiBiIhIKEogIiISihKIiIiEogQiIiKhKIGIiEgoNf57IKnjnq/Q9rZM7leh7YmIVFe6AkkCM2P48OEl64WFhaSkpNC/f38AZsyYQUpKCtnZ2aSnp/PII4+UxD7zzDNMnDix3PscOnQo//rXv8oOFBFJkBJIEnzve99j3bp1fPPNNwC89NJLnHHGwW/6HTJkCKtXr2bZsmXceeedfPbZZwDce++9XH/99eXe53XXXce999575J0XEQkogSTJxRdfzPPPR26fzZo1i2HD4s9u37RpU8466yw+/PBD3nvvPerWrUuTJk0A+Oyzzxg0aBBZWVlkZWXx6quv8vXXX9OvXz+ysrLo0KEDc+ZEXup4/vnns2jRIgoLC6vmAEXkmFfjx0CSZejQoUycOJH+/fuzdu1arrrqKlasWHFI3ObNm9m8eTMtW7bk2WefpVOnTiXbfvGLX9C9e3f+8Y9/UFRUxJ49e3jxxRc5/fTTS5LTrl27gMjsvi1btmTNmjWcffbZVXOQIhWkOr2FTw7QFUiSZGZmsmXLFmbNmsWPf/zjQ7bPmTOH7Oxshg0bxl/+8hcaNWpEQUEBKSkpJTFLlizhuuuuA6BWrVo0aNCAjIwMFi1axO23386KFSto0KBBSXzTpk355JMyX0kvIpIQJZAkGjBgALfeemvc21fFYyBvvPEGgwYNAqB+/frs3bv3sG22bt2aVatWkZGRwR133HHQgPvevXupX79+xR6EiNRYNf4WVjIfu73qqqtKrhqWLVtWZny7du3429/+VrLes2dP/vSnP3HTTTdRVFTE119/zZ49e2jUqBH/9V//xYknnsiMGTNK4t977z3at29fCUciIjWRrkCSqFmzZtx4440Jx3fr1o23336b4in4H3jgAZYuXUpGRgZnn30269ev55133qFr165kZ2czadIk7rrrLiAy4F6/fn1OO+20SjkWEal5avwVSDLs2bPnkLIePXrQo0cPAEaNGsWoUaMOiTnhhBPo1asXixcvplevXpx66qk8++yzh8T16dPnkLInn3ySa6+99oj7LiJSLKErEDPra2abzCzPzMbF2V7XzOYE298ws9SobXcE5ZvMrE9U+XQz+9zM1sW0NcHMPjaz1cHnx2W1VZPceeed/Pvf/y53vVNOOYWRI0dWQo9EpKYqM4GYWS1gGnAxkA4MM7P0mLDRwE53bwncD9wT1E0HhgLtgb7AQ0F7ADOCsnjud/fs4LMggbZqjFNPPZUBAwaUu96VV15J7dq64BSRipPIFUhXIM/dN7v7t8BsYGBMzEDgsWD5aaCnmVlQPtvd97n7B0Be0B7uvhzYUY6+ltqWiIhUvUQSyBnA1qj1/KAsboy7FwK7gMYJ1o3nBjNbG9zmaliOfmBm15hZrpnlbtu2LYFdiYhIGIkkEItT5gnGJFI31p+As4BsoAC4rxz9wN0fdvfO7t45+kt3IiJSsRK5KZ4PNI9abwbEfp25OCbfzGoDDYjcnkqk7kHc/bPiZTN7BJhfjn6U34QGZceUq71dFdueiEg1lcgVyEqglZmlmdnxRAayc2JicoDiR3wGA0s88mWFHGBo8JRWGtAKePNwOzOz6C8qDAKKn9Iqd1vVVa1atcjOzqZDhw5cdtlloZ6qiuezzz6jf//+ZGVlkZ6eXjJFSlpaGps2bToo9qabbuLee+9l2bJlNGjQgI4dO9KmTRu6devG/PnzD4r94x//yOOPP17u/vTq1YudO3eGPyARqdbKTCDBmMYNwEJgIzDX3deb2UQzK34c6FGgsZnlAb8ExgV11wNzgQ3Ai8BYdy8CMLNZwGtAGzPLN7PRQVv3mtk7ZrYWuAC4uay2jjb169dn9erVrFu3juOPP54///nPCdc93Gy648eP56KLLmLNmjVs2LCByZMnA5GJG2fPnl0St3//fp5++mmGDBkCRGbqffvtt9m0aRNTpkzhhhtuYPHixSX7mz59OldccUW5j3P48OE89NBD5a4nIkeHhL4H4u4L3L21u5/l7pOCsvHunhMs73X3y9y9pbt3dffNUXUnBfXauPsLUeXD3P00d6/j7s3c/dGgfLi7Z7h7prsPcPeCsto6mp1//vnk5eWxZcsWOnToUFL+3//930yYMAGIfMnwzjvvpHv37jzwwANs27aNSy+9lC5dutClSxdeeeUVAAoKCmjWrFlJG5mZmQAMGzbsoASyfPlyUlNTadGixSH9yc7OZvz48UydOhWITNjYqVOnkkeA8/Ly6NWrF1lZWXTq1In333+fgoICunXrVnJVVTyr8IABA5g1a1YFni0RqU40lUkSFRYW8sILL5CRkVFm7Jdffsk///lPbrnlFm688UZuvvlmVq5cybx58xgzZgwAY8eOZfTo0VxwwQVMmjSpZObdzMxMjjvuONasWQPA7NmzS33/CECnTp149913AXjllVcOmv79pz/9KWPHjmXNmjW8+uqrnHbaaTz55JP06dOH1atXs2bNGrKzswFo2LAh+/btY/v27eFOkIhUa/pmWRJ88803Jb9kzz//fEaPHl3mNOvFt5sAFi1axIYNG0rWv/rqK3bv3k2fPn3YvHkzL774Ii+88AIdO3Zk3bp1pKSklFyFtG/fnmefffawr8UtnmsLIlc17dpF3sWwe/duPv7445LZgevVqwdAly5duOqqq/juu++45JJLSo4NDkwh37hx40RPj4gcJZRAkqB4DCRa7dq12b9/f8l67LTt3/ve90qW9+/fz2uvvRZ3avZGjRpxxRVXcMUVV9C/f3+WL1/OpZdeyrBhw+jduzfdu3cnMzOTpk2bltq/t99+uyRpRE8hH51YonXr1o3ly5fz/PPPM3z4cG677TZGjBhRchyaQl7k2KQEUk0euz311FP5/PPP2b59OyeeeCLz58+nb9/4M7307t2bqVOncttttwGwevVqsrOzWbJkCeeeey4nnHACu3fv5v333+fMM88E4KyzzqJx48aMGzeOm266qdR+rF27lt/+9rf89a9/BSJTyOfl5QFw8skn06xZM5555hkuueQS9u3bR1FREdu2beOMM87g6quv5uuvv+att95ixIgRuDuffvopqampFXimRKS60BhINVGnTh3Gjx/POeecQ//+/Wnbtm2psVOmTCE3N5fMzEzS09NLnuJatWoVnTt3JjMzk/POO48xY8bQpUuXknrDhg3j3XffLbkFVWzF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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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0ksvpX79+gAsXryY1atX06VLFwC+++47GjfWc4REpHQoEEpQzZpHH/VQpUqV8HSVKlXIzs6mWrXjD3dul838um66O2PGjOH3v/99KdVYROQonTIqQz169Aif8lm2bBmNGjXijDPOOGb+W2+9xb59+wDo06cPc+fO5csvvwRg79697NwZ1Si2IiJFphZCGZo8eTLXXHMNSUlJ1KlTh2efDT1k7t5772XkyJF07NiRnj17cu655wLQrl077r//fvr168eRI0eoXr0606dPp1mzZrHcDRGpoE75we22bNlC27ZtY1QjyaV/h0qkgnW1LJZT5FhEO7idThmJiAigQBARkYACQUREAAWCiIgEFAgiIgIoEEREJFDh7kNoPumNEt3ejgcvLdHtiYiUV2ohlAAzY9SoUeHp7Oxs4uLiGDhwIAAzZswgLi6OlJQU2rVrx1NPPRUu++qrrzJlypQif+aIESP45z//WfzKi4gEFAgl4LTTTmPjxo189913ALzzzjs0bdr0mDLDhw9n3bp1LFu2jLvuuosvvvgCgIcffpibbrqpyJ85fvx4Hn744eJXXkQkoEAoIT/72c94443Q6apZs2YxcuTIfMs1btyY8847j507d/LJJ59Qs2ZNGjVqBMAXX3zB0KFDSU5OJjk5mQ8++IBvv/2WSy+9lOTkZBISEpgzZw4AF110EYsWLSI7O7tsdlBEKjwFQgkZMWIEs2fP5tChQ6xfv55u3brlW2779u1s376dli1bsmLFCjp27Bhe9otf/IKePXuSlpbGmjVraN++PW+//TZnn302aWlpbNy4kQEDBgChEVRbtmxJWlpameyfiFR8CoQSkpSUxI4dO5g1axb/8R//cdzyOXPmkJKSwsiRI/nv//5vGjRoQGZmJnFxceEyS5YsYfz48QBUrVqVevXqkZiYyKJFi/jVr37Fe++9R716R8dOady4MZ999lnp75yIVAoKhBI0aNAg7rjjjnxPF+VeQ1i5ciVDhw4FoHbt2hw6dOiE2zz//PNZvXo1iYmJ/PrXvz7mAvShQ4eoXbt2ye6EiFRaFa7baSy7iV577bXhv+qXLVtWaPm2bdvywgsvhKf79OnDX/7yF2699VZycnL49ttvOXjwIA0aNODnP/85devWZcaMGeHyn3zyCe3bty+FPZHjnCKjWooUh1oIJSg+Pp5bbrkl6vI9evRg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/pVQ69atad26dZHXu/7660uhNiJSXqiFICIigAJBREQCCgQREQEq4DWExGcLHzaiKDaM2VCi2xMRKa/UQigBkcNfX3bZZXz99dcA7NixAzPj8ceP3nM3ceJEZsyYAcDYsWNp0aIFycnJnH/++YwePZrdu3eHy7o7vXv35ptvvilSfTZs2MDYsWOLvV8iUrkoEEpA5PDXDRo0YPr06eFljRs35rHHHuP777/Pd90//OEPpKWlsXXrVjp06MDFF18cLvvmm2+SnJzMGWecUaT6JCYmkpGRwaeffnryOyUilY4CoYRdcMEFx/yVHxcXR58+fXj22WdPsBaYGbfddhs/+tGPeOut0E3bL774IoMHHx1p/LnnniMpKYnk5GRGjRoFwN///ncSEhJITk6mR48e4bKXXXbZMUNki0j5s6VN20JfZUmBUIJycnJYvHgxgwYNOmb+pEmT+OMf/0hOTk6h2yhoqOpNmzYxdepUlixZQlpaGo899hgAU6ZMYeHChaSlpTF//vzwdjp37hx+joGISDQUCCUgd/jrhg0bsnfvXi655JJjlrdo0YKuXbsyc+bMQrcVOZTI3r17Of3004HQg22GDRtGo0aNgNAoqAAXXnghY8eO5amnnjomcHKHqRYRiZYCoQTkXkPYuXMn33///THXEHLdddddPPTQQ8cMiZ2fyKGqI4fQdnfye+z0X//6V+6//3527dpFSkpK+OE1GqZaRIqqwnU7jWU30Xr16jFt2jQGDx7M+PHjj1nWpk0b2rVrx4IFC+jatetx67o7jz/+OJmZmeFhslu3bs327dtp2bIlffr0YejQodx2223hlkiDBg3Ytm0b3bp1o1u3brz++uvs2rWLhg0b8sknnxzzCE8RkcKohVDCOnToQHJycr4XdH/zm9+QkZFxzLw777wz3O101apVLF26lBo1agBw6aWXsmzZMgDat2/Pb37zG3r27ElycjK//OUvw+snJiaSkJBAjx49SE5OBmDp0qVceumlpbinIlLRaPjrciwzM5PRo0fzzjvvFGm9w4cP07NnT95///0ye3ZBRf53AE6ZYY7LhI7FUcU8FtH0Imr78Zai1Chf0Q5/XeFOGVUkTZo04frrr+ebb74p0r0In376KQ8++KAeZCPlUll9CUrR6RujnLvyyiuLvE6rVq2K/PAbERFdQxAREUCBICIiAQWCiIgAFfAaQkmP/aGLWyJSWaiFUAKmTp1K+/btSUpKIiUlhZUrV9KrVy9yu8g2b96ciy666Jh1cofLzrV27VrGjRtX5M++4447WLJkSfF2QESECthCKGsffvghCxYsYM2aNdSsWZOvvvoq36GuDxw4wK5duzjnnHPYsuX4VscDDzzA3XffXeTPv/nmm7n++uvp3bv3SdVfRCSXWgjFlJmZSaNGjahZsyYAjRo14uyzzz6u3JVXXsmcOXMAmDVrFiNHjgwvO3DgAOvXrw/fZXzw4EGuueYaEhMTSUpKYt68eeTk5DB27FgSEhJITEzkT3/6EwDNmjUjKyuLzz//vLR3VUQqOAVCMfXr149du3Zx/vnnc9NNN/Huu+/mW27YsGG8/PLLALz++utcdtll4WWpqanHnD667777qFevHhs2bGD9+vX07t2bdevWsXv3bjZu3MiGDRu45pprwuU7duzIihUrSmkPRaSyUCAUU926dVm9ejVPPvkkcXFxDB8+PPyIzEgNGjSgfv36zJ49m7Zt21KnTp3wsszMTOLi4sLTixYtYsKECeHp+vXr8+Mf/5jt27dz88038/bbbx9z57KGuhaRkqBrCCWgatWq9OrVi169epGYmFjg09GGDx/OhAkTjguM2rVrc+jQofB0fkNd169fn7S0NBYuXMj06dN56aWXeOaZZwANdS0iJaPCBUJZdxPdunUrVapUCQ8VsW7dOpo1a8bGjRuPKzt06FAyMzPp37//MX/Rt23blj/+8Y/h6X79+vHEE0/w6KOPArBv3z5ycnKoUaMGl19+Oeeddx5jx44Nl//kk0+44oorSmkPRaSy0CmjYjp48CBjxoyhXbt2JCUlsXnzZiZPnpxv2dNPP51f/epX4eGtc7Vp04b9+/dz4MABAO6++2727dsXflby0qVL2b17N7169SIlJYWxY8fy+9//HoAffviB9PR0OncudCBDEZETqnAthLLWqVMnPvjgg+Pm5z7HAGDHjh3HLW/evPkxrYhrr72WOXPmMG7cOOrWrZvvaac1a9YcN2/BggUMGzZMI5uKSLGphVBOjB8/Ptx1tSiys7O5/fbbS6FGIlLZVIg/Kwt63vCppFatWowaNarI65XqtYPP1p54+dkdgNDxlxPTMwDkVHDKtxBq1apFVlaWvpRixN3JysqiVq1asa6KiBTTKd9CiI+PJyMjgz17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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "report_results('topn', result_cold, target_metric);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAEWCAYAAACdaNcBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xl0VFW6/vHvSxiVQYZgqwGSVgRCRgyDVxkERGwmuQ4QlUlAF6KNttrSyEIaRWlar4LS7dT+wFYBW2wbUfTKJIqKTEmY6cAFCYbBgAq2oIT9+6OKohISUoGQKk6ez1pZ1Dln16n3HJInO7tO7WPOOURExFsqhbsAEREpewp3EREPUriLiHiQwl1ExIMU7iIiHqRwFxHxIIW7iIgHKdzF08xsiZkdMLNqQeumm5kzs96F2j7rXz/Yv7zezA4V+jpiZsfK+TBESk3hLp5lZrFAe8ABvQtt3gIMCmpbGbgZ2Hp8nXOupXOu5vEv4FfANuCxs1u5yJlTuIuXDQS+BKYTFOR+7wFXmVld/3J3IAvYfYr9vQLsBP54fIWZ9TSzDDP7zsw+N7Oksipe5Ewo3MXLBgJv+L+uM7MLg7YdBuYC/YPavlbcjszst8BVwK3OuWP+da2AV4G7gPrAi8Dc4CEgkXBRuIsnmdnVQBPgLefcKnzDLbcWavYaMNDM6gAdgXeL2Vc74AngZufct0GbhgMvOueWO+fynXMzgCNAu7I9GpHSU7iLVw0C/jcojN+k0NCMc+4zIBoYC8xzzv1UeCdm1gD4B/AH59yXhTY3AR7wD8l8Z2bfAY2Ai8v2UERKr3K4CxApa2ZWA7gFiDKz42Po1YALzCy5UPPXgXHANUXspxK+XwrLnHPPFfFSO4GJzrmJZVa8SBlRuIsX3QDkA4nAz0Hr38I3th5sKvApsLSI/YzH1xP/72Je52Xgn2a2APgKOA/oBCx1zh08zdpFyoTCXbxoEPD/nHNfB680s+fxhfmC4+ucc/uBhcXsZyzwC7DbzApvi3fOrTSz4cDzQFPgJ+Aziv5FIVKuTDfrEBHxHr2hKiLiQQp3EREPUriLiHiQwl1ExIPCdrVMgwYNXGxsbLheXkTknLRq1apvnXPRJbULW7jHxsaycuXKcL28iMg5ycx2hNJOwzIiIh6kcBcR8SCFu4iIB0XU9AO//PILOTk5HD58ONylVFjVq1cnJiaGKlWqhLsUETkDERXuOTk51KpVi9jYWIqYy0POMucceXl55OTkEBcXF+5yROQMRNSwzOHDh6lfv76CPUzMjPr16+svJxEPiKhwBxTsYabzL+INERfuIiJy5hTuZ1lsbCzffvvtGbcRESmNiHpDVUQkUiXOSCyxzdpBa8uhktCo516E7du307x5c4YNG0ZCQgK33XYbCxYs4KqrrqJp06Z89dVX7N+/nxtuuIGkpCTatWtHVlYWAHl5eXTr1o3U1FTuuusugm+G8vrrr9OmTRtSUlK46667yM/PD9chiojHKdyLkZ2dzahRo8jKymLTpk28+eabfPbZZzz11FM88cQTPProo6SmppKVlcUTTzzBwIG+W3P+8Y9/5Oqrr2bNmjX07t2br7/23elt48aNzJ49m2XLlpGRkUFUVBRvvPFGOA9RRDxMwzLFiIuLIzHR92dYy5Yt6dKlC2ZGYmIi27dvZ8eOHcyZMweAzp07k5eXx/fff8/SpUt55513AOjRowd169YFYOHChaxatYrWrVsD8NNPP9GwYcMwHJmIVAQK92JUq1Yt8LhSpUqB5UqVKnH06FEqVz751B2/jLCoywmdcwwaNIgnn3zyLFUsInKChmVOU4cOHQLDKkuWLKFBgwbUrl27wPr58+dz4MABALp06cLbb7/N3r17Adi/fz87doQ0c6eISKmp536axo8fz5AhQ0hKSuK8885jxowZADz66KOkp6fTqlUrOnbsSOPGjQGIj4/n8ccfp1u3bhw7dowqVaowbdo0mjRpEs7DEBGPsuCrOcpTWlqaK3yzjo0bN9KiRYuw1CMn6P9B5GSRcimkma1yzqWV1E7DMiIiHqRwFxHxIIW7iIgHKdxFRDxI4S4i4kEKdxERD4ro69xjR79fpvvbPqlHme5PRCRSqedeiJkxYMCAwPLRo0eJjo6mZ8+eAEyfPp3o6GhSUlKIj4/n5ZdfDrR99913mTBhQqlfs3///vz73/8+8+JFRPxCCncz625mm80s28xGF7G9sZktNrM1ZpZlZr8p+1LLx/nnn8+6dev46aefAPj444+55JJLCrTp168fGRkZLFmyhDFjxrBnzx4AJk+ezN13313q1xwxYgSTJ08+8+JFRPxKDHcziwKmAdcD8UC6mcUXajYWeMs5lwr0B/5S1oWWp+uvv5733/cNCc2cOZP09PQi2zVs2JBLL72UHTt2sGXLFqpVq0aDBg0A2LNnD3379iU5OZnk5GQ+//xzfvzxR3r06EFycjIJCQnMnj0bgPbt27NgwQKOHj1aPgcoIp4XSs+9DZDtnNvmnPsZmAX0KdTGAbX9j+sA35RdieWvf//+zJo1i8OHD5OVlUXbtm2LbLdt2za2bdvGZZddxrJly2jVqlVg229/+1s6duxIZmYmq1evpmXLlnz44YdcfPHFZGZmsm7dOrp37w74Zpq87LLLyMzMLJfjExHvCyXcLwF2Bi3n+NcFGw/cbmY5wAfAvUXtyMzuNLOVZrZy3759p1Fu+UhKSmL79u3MnDmT3/zm5BGm2bNnk5KSQnp6Oi+++CL16tUjNzeX6OjoQJtFixYxYsQIAKKioqhTpw6JiYksWLCAhx9+mE8//ZQ6deoE2jds2JBvvjmnfyeKSAQJJdxPnpzc11MPlg5Md87FAL8B/m5mJ+3bOfeScy7NOZcWHISRqHfv3jz44INFDskcH3Nfvnw5ffv2BaBGjRocPnz4lPu8/PLLWbVqFYmJifzhD38o8Obr4cOHqVGjRtkehIhUWKFcCpkDNApajuHkYZehQHcA59wXZlYdaADsPZPiwnnp4h133BHobS9ZsqTE9i1atOD1118PLHfp0oW//vWv3HfffeTn5/Pjjz9y6NAh6tWrx+23307NmjWZPn16oP2WLVto2bLlWTgSEamIQum5rwCamlmcmVXF94bp3EJtvga6AJhZC6A6ELnjLiGIiYlh1KhRIbfv0KEDa9asCdwQe8qUKSxevJjExESuuOIK1q9fz9q1awM3yJ44cSJjx44FfG++1qhRg4suuuisHIuIVDwhzefuv7TxWSAKeNU5N9HMJgArnXNz/VfPvAzUxDdk83vn3P+eap9enM991KhR9OrVi65du5bqec888wy1a9dm6NChZ6my0jnX/x9EzoZzbT73kD6h6pz7AN8bpcHrxgU93gBcVdoivWbMmDEsX7681M+74IILCnxwSkTkTEX09APnmgsvvJDevXuX+nlDhgw5C9WISEWm6QdERDxI4S4i4kEalhGRYkXKm4hSepEd7uPrlNymVPv7vmz3JyISoTQsU0hUVBQpKSkkJCRw880385///KdM9rtnzx569uxJcnIy8fHxgWkN4uLi2Lx5c4G29913H5MnT2bJkiXUqVOH1NRUmjVrRocOHZg3b16Bts8++yyvvfZaqevp2rUrBw4cOP0DEpGIpnAvpEaNGmRkZLBu3TqqVq3KCy+8EPJzTzWr47hx47j22mvJzMxkw4YNTJo0CTgxSdlxx44d4+2336Zfv36Ab8bINWvWsHnzZqZOnco999zDwoULA6/36quvcuutt5b6OAcMGMBf/nJOT94pIqegcD+F9u3bk52dzfbt20lISAisf+qppxg/fjwAnTp1YsyYMXTs2JEpU6awb98+brzxRlq3bk3r1q1ZtmwZALm5ucTExAT2kZSUBEB6enqBcF+6dCmxsbE0adLkpHpSUlIYN24czz//POCbnKxVq1ZUruwbXcvOzqZr164kJyfTqlUrtm7dSm5uLh06dAj8NfLpp58CvrlzZs6cWYZnS0QiicK9GEePHmX+/PkkJpb8htJ3333HJ598wgMPPMCoUaO4//77WbFiBXPmzGHYsGEAjBw5kqFDh3LNNdcwceLEwAyQSUlJVKpUKTDd76xZs4qdPx6gVatWbNq0CYBly5ZxxRVXBLbddtttjBw5kszMTD7//HMuuugi3nzzTa677joyMjLIzMwkJSUFgLp163LkyBHy8vJO7wSJSESL7DdUw+Cnn34KBGD79u0ZOnRoiVPxHh9CAViwYAEbNmwILP/www8cPHiQ6667jm3btvHhhx8yf/58UlNTWbduHdHR0YHee8uWLfnXv/51ylv1BU8XkZubG5gm4ODBg+zatSswS2X16tUBaN26NXfccQe//PILN9xwQ+DY4MQ0w/Xr1w/19IjIOULhXsjxMfdglStX5tixY4HlwlP7nn/++YHHx44d44svvihy+t569epx6623cuutt9KzZ0+WLl3KjTfeSHp6Ot26daNjx44kJSXRsGHDYutbs2ZNINCDpxkubo6gDh06sHTpUt5//30GDBjAQw89xMCBAwPHoWmGRbwpssM9Qi5dvPDCC9m7dy95eXnUrFmTefPmBe6iVFi3bt14/vnneeihhwDIyMggJSWFRYsW0a5dO8477zwOHjzI1q1bady4MQCXXnop9evXZ/To0dx3333F1pGVlcVjjz3GK6+8AvimGc7Ozgagdu3axMTE8O6773LDDTdw5MgR8vPz2bdvH5dccgnDhw/nxx9/ZPXq1QwcOBDnHLt37yY2NrYMz5SIRAqN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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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6Xmjpw12d8yOfcDVX/7yFx588EF27NhBRkZG5EEamppXRMoqoW+FjOetiw0aNGD69OkMHDiQW265pdC21q1b07ZtWxYsWECnTp2O2dfdeeyxx8jLy4tMDdyqVSu2bt3KhRdeSK9evRg0aBB33nln5DeERo0a8fHHH9O5c2c6d+7MK6+8wo4dO2jcuDFbtmwp9Jg/EZHSqOd+HO3btyc9Pb3YNzPvvfdecnNzC6275557IrdCrlixgiVLllCrVi0A+vXrx9KlSwFo164d9957L927dyc9PZ1f/vKXkf1TU1NJSUmhW7dupKenA7BkyRL69etXgWcqIkGjKX8rSV5eHiNGjODNN98s034HDx6ke/fuvPvuu5U293qQ/x6kbBJlmttEkCjXQlP+Jpizzz6bMWPGlPlDTJ988gkPP/ywHqohImWixKhE1113XZn3admyZZkfxCEiop67iEgAKdxFRAJI4S4iEkAJPea+qXX53rHR5qNN5Xo8EZFEpZ57MaZMmUK7du1IS0sjIyODDz/8kB49elBw62ZycjJdu3YttE/BNMEFVq9ezejRo8v8ve+++24WL158cicgIlVeQvfc4+H9999nwYIFrFq1itq1a/PFF18UO8Xvvn372LFjB+eddx6bNh37G8FDDz3EfffdV+bvf/vttzNmzBh69ux5QvWLiIB67sfIy8ujSZMm1K5dG4AmTZpwzjnnHNPuuuuuY+7cuQDMnj2boUOHRrbt27ePtWvXRj5hun//fm644QZSU1NJS0tj3rx5HD58mFGjRpGSkkJqaip//OMfAWjevDn5+fns2rWrok9VRAJM4V5Enz592LFjBxdddBG33norb7/9drHtrrnmGl588UUAXnnlFa688srItqysrEJDNA888AANGjRg3bp1rF27lp49e7JmzRp27tzJ+vXrWbduHTfccEOkfYcOHVi+fHkFnaGIVAUK9yLq16/PypUreeKJJ0hKSmLw4MGRR+lFa9SoEQ0bNmTOnDm0adOGevXqRbbl5eWRlJQUWX7rrbcYO3ZsZLlhw4b88Ic/ZOvWrdx+++28/vrrhZ7QpCl+ReRkacy9GNWrV6dHjx706NGD1NTUEp+8NHjwYMaOHXtM+NetW5cDBw5Eloub4rdhw4ZkZ2fzxhtvMGPGDJ5//nmeeuopQFP8isjJS+hwj8eti5s3b6ZatWqR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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "report_results('topn', result_cold, 'coverage');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### saving data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "save_results(experiment_name+'_coldstart', cv=result_cold)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "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.6.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}