{ "cells": [ { "cell_type": "raw", "metadata": {}, "source": [ "%env MKL_NUM_THREADS=12\n", "%env OMP_NUM_THREADS=12" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from collections import defaultdict\n", "\n", "import numpy as np\n", "import scipy as sp\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 random_grid, find_optimal_config\n", "\n", "from lce import LCEModel, LCEModelItemColdStart\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", "\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 generationa\n", "max_test_workers = 6 # use this manyparallel thread for evaluation each using up to {memory_hard_limit} Gb of RAM" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "seed = 42" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "experiment_name = 'lce'" ] }, { "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": [ "init_config = dict(seed = seed,\n", " max_iterations = 75,\n", " alpha = 0.1,\n", " beta = 0.05,\n", " max_neighbours=10,\n", " )\n", "lce_init_config = dict.fromkeys(data_labels, {'LCE': init_config, # standard scenario\n", " 'LCE(cs)': init_config}) # cold start" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "params = {\n", " 'regularization': [1, 3, 10, 30],\n", " 'rank': [40] # for initial tuning (exploration)\n", " }" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "coeffs = {\n", " 'alpha': [0.1, 0.3, 0.5, 0.7, 0.9],\n", " 'beta': [0, 0.05, 0.1, 0.3]\n", "}" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "ranks_grid = [1, 30, 50, 100, 150, 200, 300, 400, 500,\n", " 750, 1000, 1250, 1500, 2000, 2500, 3000]" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "lce_ranks = {'AMZe': ranks_grid,\n", " 'AMZvg': ranks_grid\n", " }" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "topk_values = [1, 3, 10, 20, 30]" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "target_metric = 'mrr'" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "data_dict = dict.fromkeys(data_labels)\n", "meta_dict = dict.fromkeys(data_labels)\n", "similarities = dict.fromkeys(data_labels)\n", "feature_idx = dict.fromkeys(data_labels)\n", "sim_indices = dict.fromkeys(data_labels)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "all_data = [data_dict, similarities, sim_indices, meta_dict]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Amazon Electronics" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "lbl = 'AMZe'" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "data_dict[lbl], meta_dict[lbl] = get_amazon_data('/mnt/bulky/datasets/recsys/amazon/ratings_Electronics.csv',\n", " meta_path='/mnt/bulky/datasets/recsys/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": 17, "metadata": {}, "outputs": [], "source": [ "similarities[lbl], sim_indices[lbl], feature_idx[lbl] = get_similarity_data(meta_dict[lbl])" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.0" ] }, "execution_count": 18, "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": null, "metadata": {}, "outputs": [], "source": [ "lbl = 'AMZvg'" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "data_dict[lbl], meta_dict[lbl] = get_amazon_data('/mnt/bulky/datasets/recsys/amazon/ratings_Video_Games.csv',\n", " meta_path='/mnt/bulky/datasets/recsys/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": null, "metadata": {}, "outputs": [], "source": [ "similarities[lbl], sim_indices[lbl], feature_idx[lbl] = get_similarity_data(meta_dict[lbl])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.0" ] }, "execution_count": 22, "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": null, "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": null, "metadata": {}, "outputs": [], "source": [ "def prepare_recommender_models(data_label, data_models, config):\n", " data_model = data_models[data_label]\n", " lce = LCEModel(data_model, item_features=meta_dict[data_label])\n", " lce.method = 'LCE'\n", " models = [lce]\n", " apply_config(models, config, data_label)\n", " return models\n", "\n", "def fine_tune_lce(model, params, label, ntrials=60, record_time_as=None):\n", " param_grid, param_names = random_grid(params, n=ntrials)\n", " best_lce_config, lce_scores = find_optimal_config(model, param_grid, param_names,\n", " target_metric,\n", " return_scores=True,\n", " force_build=True,\n", " iterator=lambda x: track(x, label=label))\n", " model_config = {model.method: dict(zip(param_names, best_lce_config))}\n", " model_scores = {model.method: lce_scores}\n", " try:\n", " if record_time_as:\n", " save_training_time(f'{experiment_name}_{record_time_as}', model, lce_scores.index, label)\n", " finally:\n", " return model_config, model_scores" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## tuning" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "config = {}\n", "scores = {}\n", "data_models = {}" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'seed': 42,\n", " 'max_iterations': 75,\n", " 'alpha': 0.1,\n", " 'beta': 0.05,\n", " 'max_neighbours': 10}" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lce_init_config['AMZe']['LCE']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### regularization" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "0%\n", "0/2\n", "[0<0, 0.00s/it]
" ], "text/plain": [ "\u001b[2K\r", " [############################################################] 0/2 [0<0, 0.00s/it]" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
AMZe\n", "\n", "0%\n", "0/4\n", "[0<0, 0.00s/it]
" ], "text/plain": [ "\u001b[2K\r", " AMZe [#############################################] 0/4 [0<0, 0.00s/it]" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "_config = {}\n", "_scores = {}\n", "for label in track(data_labels):\n", " data_models[label] = prepare_data_model(label, *all_data, seed)\n", " model, = prepare_recommender_models(label, data_models, lce_init_config)\n", " _config[label], _ = fine_tune_lce(model, params, label)\n", "del model" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'AMZe': {'LCE': {'regularization': 30, 'rank': 40}},\n", " 'AMZvg': {'LCE': {'regularization': 10, 'rank': 40}}}" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "_config # will also reuse it in coldstart" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### $\\alpha, \\beta$" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "for label in track(data_labels):\n", " model, = prepare_recommender_models(label, data_models, [lce_init_config, _config])\n", " config[label], scores[label] = fine_tune_lce(model, coeffs, label, record_time_as='coeff')\n", " # make sure to save all parameters\n", " config[label][model.method].update(_config[label][model.method])\n", "del model" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEWCAYAAABmE+CbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xt8lOWZ+P/PlZlMkpmEBELCIQFCOAQCKEgERKmAWrFVcV1ssW491Mp2W7vr2mr1u2o9dd3Wfqvbr+7+arVqbalY3SqeanU9onIIiECAYAgJhENISAg5T5K5fn/MMzHGHCbJJM/M5H6/Xnkx8zz388w9Aeaa+3iJqmIYhmEYMXZXwDAMwwgPJiAYhmEYgAkIhmEYhsUEBMMwDAMwAcEwDMOwmIBgGIZhACYgGIZhGBYTEIxhT0TeFZFqEYnrcOwpEVERubRT2Yet49dazwtEpK7TT7OI+Ib4bRjGgJmAYAxrIpIFLAEUuLTT6X3ANR3KOoErgP2BY6o6S1UTAz/AWKAYuG9wa24YoWcCgjHcXQ1sBJ6iw4e/5WXgbBEZaT1fAewAjvVwv8eBQ8A9ACKyR0QuDpwUEaeIVIrIGdbzq0WkVEROiMidIlIiIueH4o0ZRl+ZgGAMd1cDf7R+LhSRMR3ONQHrgdUdyv6+uxuJyD8DZwPfUtVAl9GfgCs7FLsQqFTVbSKSC/wXcBUwDkgGMgb8jgyjn0xAMIYtETkHmAQ8p6pb8XcFfatTsd8DV4tIMnAu8GI391oE/DtwhapWdji1FrhURNzW829ZxwBWAS+r6gZV9QJ34e+6MgxbmIBgDGfXAH/r8AG+lk7dRqq6AUgD7gBeUdXGzjcRkdHAn4HbVXVjp+uLgD3AJVZQuJTPA8J4/N1LgbINwIkQvC/D6Ben3RUwDDuISALwDcAhIoExgTggRURO71T8D/i/vS/r4j4x+D/gP1TV/9fNywW6jWKA3VaQADgK5HSqU2r/3pFhDJwJCMZwdRnQBswBvB2OP4d/rKCjXwMfAO93cZ+7gQnA5T281rPAz4BRfN46AHge2Cgii4F8/APREvQ7MIwQM11GxnB1DfCkqh5U1WOBH+AR/IO87V+WVLVKVf9Xu04ecgeQDRzrYj3CROv6o8DHwGJgXYf7FgA/xB8wjgK1wHGgeTDesGH0RkyCHMMIDyKSCJwEpqnqAbvrYww/poVgGDYSkUtExC0iHuCXwE6gxN5aGcNVUAFBRFaISKGIFInIbV2cjxORddb5Tdbqz47nJ1pN6B93OFYiIjtFZLuI5A/0jRhGhFoJHLF+pgGru+maMoxB12uXkYg48C/hvwAoA7YAV6rq7g5lvg+cpqrfE5HVwN+p6jc7nH8B8AGbVPWX1rESIK/TnG3DMAzDJsG0EBYARapabC2eeRb/t5qOVgJPW4+fB84TEQEQkcvw7+1SEJoqG4ZhGIMhmGmnGXRYPIO/lbCwuzKq2ioiNUCqiDQCP8Hfuvhxp2sU+JuIKPAbVX2sqxcXkTXAGgCPxzN/xowZQVTZMAzDCNi6dWulqqb1Vi6YgNDVvOjO/UzdlbkHeEhV66wGQ0dnq+oREUkH3hSRvar6pXneVqB4DCAvL0/z881wg2EYRl+ISGkw5YIJCGX4F94EZOIfAOuqTJm1RXAyUIW/JbFKRH4BpAA+EWlS1UdU9QiAqh4Xkb/g75rqauGPYRiGMQSCGUPYAkwTkcki4sK/8+P6TmXW8/keMKuAt9VviapmqWoW8DDw76r6iIh4RCQJwJpu91VgVwjej2EYhtFPvbYQrDGBG4E3AAfwO1UtEJF7gXxVXQ88ATwjIkX4Wwaru78jAGOAv1jdSE5grar+dQDvwzAMwxigiFqpbMYQDMMw+k5EtqpqXm/lzEplwzAMAzABwTAMw7CYgGAYhmEAJiAYhmFErf0VdVz26IdBlzcBwTAMI0ptLD7B9kMngy5vAoJhGEaU2lhcRXpSXNDlIyqF5rGaJh54fU+/ro13Ovj2WZMYnRj8L8cwDCNSqSobi0+weEoqW4K8JqICQmVdM099WNKva71tPgqO1PD4NWeGtlKGYRhhqLiynoraZhZlp/LrIK+JqIAwOyOZ/Psv6te1v3lvPw+8vpc3d5dzQe6YENfMMAwjvGwsPgHAouzUoK8ZNmMI3zlnMtPSE7l7fQGN3ja7q2MYhjGoNhZXMWZEHFmp7qCvGTYBIdYRw32XzebwyUYefafI7uoYhmH0mc+nbC2tprcthwLjB4uyU+ki9UC3hk1AAH/T6fJ5Gfzm/f3sr6izuzqGYRh98szGUv7+vz/i3X0VPZbrOH7QF8MqIADc/rWZxMc6+OlLBb1GWcMwjHDR1NLGI1bvxrrNh3os25/xAxiGASEtKY5bLsxhQ1Elr+48and1DMMwgvKHjaVU1DaTN2kkb+0pp7Kuuduy/Rk/gGEYEACuWjiJ2RkjuO+V3dQ1t9pdHcMwjB41eFv5/97bz+IpqTxw+Rxafcpfth3usmx/xw8gyIAgIitEpFBEikTkti7Ox4nIOuv8JhHJ6nR+oojUiciPg73nYHLECPetnM3x2mYefnPfUL60YRhGnz3zcSmVdV7+9YLpTBuTxLyJKazLP9Rlt/eBfo4fQBABQUQcwKPARUAucKWI5HYqdj1QrapTgYeAn3c6/xDweh/vOajmTRzJ6jMn8uRHJew9dmooX9owDCNo9c2t/Ob9YpZMG82ZWaMA+GbeBIqO17Ht4Jf3KdpYXAX0ffwAgmshLACKVLVYVb3As8DKTmVWAk9bj58HzhOrrSIilwHFQEEf7znobr0whxHxTu74yy58PjPAbBhG+Hn64xKq6v2tg4CLTx+P2+XguS1fHlzeWHyiX+MHEFxAyAA6vmqZdazLMqraCtQAqSLiAX4C3NOPewIgImtEJF9E8isqep5q1VcjPS5uv2gm+aXVvLCtLKT3NgzDGKjaphYee7+YZTlpnDFxZPvxxDgnX58zjld2HKG+wzjoQMYPILiA0NVdO3+d7q7MPcBDqtp50n8w9/QfVH1MVfNUNS8tLa3XyvbVqvmZnDExhf94fS8nG7whv79hGNFrsKeuP/VhCScbWr7QOgj45pkTqPe28eqOz2dLHqis53g/xw8guIBQBkzo8DwTONJdGRFxAslAFbAQ+IWIlAA3Af9HRG4M8p5DIiZGuP+yOVQ3eHnwjUI7qmAYRgTaWHyC0+75G1X1g/NFsqaxhd9+UMz5M8dwWmbKl87PnzSS7DQP6/I/72wZyPgBBBcQtgDTRGSyiLiA1cD6TmXWA9dYj1cBb6vfElXNUtUs4GHg31X1kSDvOWRyx4/gmsVZrN18kE/7kEzCMIzha8NnldQ2tXLkZOOg3P93Gw5wqqmVm86f1uV5EeGbeRPYWlpN0fFaYGDjBxBEQLDGBG4E3gD2AM+paoGI3Csil1rFnsA/ZlAE3Az0OI20u3v26x2EyM0XTCctMY47X9pFmxlgNgyjFwVHagBobAn9ZpknG7z8bsMBVsway+yM5G7LXX5GJs4Y4bn8sgGPH0CQ21+r6mvAa52O3dXhcRNwRS/3uLu3e9opKT6Wf/v6TP7l2e2s3XyQby+aZHeVDMMIYwVH/NPV6wdhcevjHxygtrmVmy7ounUQkJYUx/IZ6fzPtjJWzc8c0PgBDNOVyt259PTxnJWdyoN/3dvjsnDDMIa3itpmjtf6PyMaBmE7/Zd3HGFZThozxo7otew3z5xAZZ2Xn73qzyZpAkKIiAj3XTaLxpY2Hnhtr93VMQwjTO0++vli1sEICHVNrYxPSQiq7LnT00hPiuO9fRUDGj8AExC+ZGp6Et9dks0L28rYfKDK7uoYw9xL2w/zbuFxu6thdBIYPwD/PkOhVu9txe1yBFXW6Yhh1fxMgAGNH4AJCF364fKpZKQkcOeLu2hp89ldHWOY8vmUn64v4Ccv7DD/DsPM7iOnGJ0YB0B9c2hbCD6f0tTiw+0KPsPxN8+cgMsZw9Kcga3VMgGhC26Xk7suyaWwvJanPyqxuzrGMFVcWcfJhhbKTzXz113H7K6O0cHuI6c4Y2IKItAY4hZCYNZSsC0EgEmpHjbefh6Xze1yw4egmYDQja/mjmH5jHQeenMfx2qa7K6OMQzll1QDkOKO5SnzxSRs1De3cuBEPbPGJ+OOdVAf4jGEeivAuOOCbyEAjPK4BtRdBCYgdEtEuPuSWbT6lPte3W13dYxhaGtpNSPdsfxw+TS2llazo8wsmgwHe4+dQhVmjR+BO84Z8jGERivAuGODbyGEigkIPZiY6ub7S6fy6o6jfPBZaDfWM4zebC2tZv6kkVyRl4nH5eCpD0vsrpLB5+sPZmWMwONyhHyWUWBMwhNnAkLY+cdzs8lKdXPXSwU0t4Z+eplhdOVEXTPFlfXMnzSKEfGxrJqfycs7jnC81nRf2q3g8ClGumMZOyKeBJcz5IPKjS3+FkdCHwaVQ8UEhF7Exzq4Z+VsDlTW89v3i+2ujjFMbC31jx/kZfm3PL56cRYtbcqfNvWcXN0YfLuPnmLW+GRExGohhLbLqL2F0IdB5VAxASEI505P42tzxvL/3i7iUFWD3dUxhoGtB6uJdQhzrH1spqQlcu70NP6wqRRvq5mCapeWNh+Fx2qZNd6/gtg/hhDaFkLgfgkmIISvOy/OxREj3POyrXvwGcPE1pJqZmckE99hYPHas7OoqG3m9V1He7jSGExFx+vwtvnIDQSE2NC3EAL368s6hFAxASFI45ITuOn8aby15zhv7i63uzpGFGtubWPH4RryJo38wvFzp6WRPdrDk2Zw2Ta7AwPK7S0ER8jHEAItBNNlFOauO3sy08ckcvf6gvapYYYRarsOn8Lb6mP+pFFfOB4TI1yzOIvth07yycFqm2o3vBUcOUV8bAyTRycC4HEN3rRT02UU5mIdMdy3cjaHTzby6DtFdlfHiFJbS/17aM3v1EIA+Pv5mSTGOc0KepsUHKlhxtgROGL8C8DcgzHtNNy7jERkhYgUikiRiHwp+Y2IxInIOuv8JhHJso4vEJHt1s+nIvJ3Ha4pEZGd1rn8UL2hwbYwO5XL52Xwm/f3s7+ic6powxi4/JJqJqW6SUuK+9K5xDgnV+Rl8urOoxw/ZaagDiVVtWYYfb4ltdvlpLnVR2sI95pq9LYR54xpDzpDqdeAICIO4FHgIiAXuFJEcjsVux6oVtWpwEPAz63ju4A8VZ0LrAB+Y+VcDlimqnNVNW+A72NI3f61mcTHOvjpSwWDnmTbGF5UtX1BWneuOSuLVp/yx00Hh7BmRll1I7VNrcwa/3kGs8DisYYQZk2r97bi6eO2FaESTAthAVCkqsWq6gWeBVZ2KrMSeNp6/DxwnoiIqjZY6TIB4oGo+PRMS4rjlgtz2FBUySs7zIwPI3RKTzRwot5LXqfxg46yRntYlpPOHzcdNIslh1Bgy+vcDi2EQD9/KMcUG7xtJNiwbQUEFxAygI6rYcqsY12WsQJADZAKICILRaQA2Al8r0OAUOBvIrJVRNb0/y3Y46qFk5idMYL7XtlNbVOL3dUxokS+tSCtpxYCwLWLs6isa+a1neYLyVDZfeQUjhhhxtik9mMeq58/lGk0G5rb+rTTaSgFExC66sjq/E2/2zKquklVZwFnAreLSLx1/mxVPQN/V9QPROQrXb64yBoRyReR/IqK8NlPyBEj3LdyNhV1zTz81md2V8eIEltLqxgR72RaemKP5ZZMG82UNP8UVNNtOTQKjpxiSprnC2tDAh/coRxYbmhp6/NOp6ESTEAoAyZ0eJ4JHOmujDVGkAx8Id2Yqu4B6oHZ1vMj1p/Hgb/g75r6ElV9TFXzVDUvLW1gyR9Cbd7Ekaw+cyJPfVTCng4p9Qyjv7aWVnPGpJHE9DKgKCJcuziLHWU1fHLI7II6FAqOnCJ33BdzHAdmAoUyIDR6W23Z6RSCCwhbgGkiMllEXMBqYH2nMuuBa6zHq4C3VVWta5wAIjIJyAFKRMQjIknWcQ/wVfwD0BHn1gtzSE6I5c4Xd+HzmW9qRv/VNLSwr7yO+RN77i4KuPyMTJLinGah2hA4UdfMsVNNXxhQBv/CNPh8qmgo1De32bLTKQQREKw+/xuBN4A9wHOqWiAi94rIpVaxJ4BUESkCbgYCU1PPAT4Vke34WwHfV9VKYAywQUQ+BTYDr6rqX0P5xobKSI+L21bMIL+0mhe2ldldHSOCbbMWm83PCi4geOKcfOPMCby+86hJ4jTIdh/94grlgMAYQkMIVys3trTZstMpQFCvqqqvAa91OnZXh8dNwBVdXPcM8EwXx4uB0/ta2XC1an4m6/IP8R+v7+WC3DGkuF12V8mIQPmlVThihLkTUoK+5pqzsvjdhwf446ZSfvTVnEGs3fAWyIGQO75zl1FgDCGULYRWW7atALNSOSRirAHm6gYvD75RaHd1jAi1tbTan4WrD98OJ6a6OW/GGNZuOkhTCOfCG1+0+8gpMlISvvRlbzAGlRu9bbZsWwEmIIRM7vgRXLM4i7WbD/KpGeQz+qilzcf2Qyc5I8jxg46uOzuLE/VesyZmEBUcqflS6wBoX0AWqjEEVfUvTLOpy8gEhBC6+YLppCXGcceLu2gzA8xGH+w+coqmFl97Qpy+WDwllWnpiTz54QEzBXUQNHhbKa6s/9IMI4A4ZwwxErqFac2tPnxqz8Z2YAJCSCXFx/JvX5/JzsM1rN1sthUwgteeIa2HFcrdERGuPTuLgiOn2u9jhM7eY7WofnlAGfy/e3cI02gGup7CeWGa0QeXnj6exVNSefCve6msa7a7OkaE2FpaTUZKAmOT43sv3IW/m5fBiHgnT5pdUEOuuwHlAHcI02gG7mO6jKKEiHDvytk0trTxwGt77a6OEQFUlfzSql63q+iJ2+Vk9YKJ/HXXMY7WNIawdsbuI6dIToglIyWhy/OeEKbRtDMXApiAMCimpidyw5JsXthWxuYDVb1fYAxrZdWNlJ9q7tf4QUffXjQJVeUPG0tDVDMDYPeRGmaNH4FI16vHE0KYRrM+kC0tXBemGf1z4/KpZKQkcOeLu2gJ4V7pRvRpX5A2gBYCwIRRbs6faaaghlJrm4+9x2q7HFAO8IQwjWYgsCTEmi6jqOJ2ObnrklwKy2tNdiujR/kl1XhcDnLGJPVeuBfXnp1FdUML6z/tvN2Y0R/FlfU0t/qYldF9QHC7nCHLhxBY8WxaCFHoq7ljWD4jnYfe3Ge2FjC6lV9azbyJI3E6Bv7f8azsVHLGJPGU2QU1JAI5EDrvYdSR2+WgIUTbXwcCi5llFIVEhLsvmUWrT7nv1d12V8cIQ7VNLRQeOzXg7qKAwBTU3UdPsaXETEEdqILDp4hzxpA92tNtGbcrdIPKgcBi115GJiAMsompbn6wbCqv7jjK+/vCJ5+DER62HzqJTxnwgHJHl83NIMUdy1MfHQjZPYer3UdPMWNsUo+tN0+cI2QrlQOBxexlFMXWfCWbrFQ3P11fYFIeGl+QX1JNjNCnDe16k+BysPrMibxRUM7hk2YKan+pqj8HQg/dReD/fYds2mmLmXYa9eJjHdy7cjYHKut57L1iu6tjhJGtpdXkjB1BUnxsSO/77bP8U1Cf+dhMQe2vwycbqWls6XZBWoDH5cTb6gvJbML65lacMYIrBONJ/WECwhD5yvQ0vjZnLI+8U8Shqga7q2OEgTaf8snBavJCNH7QUUZKAhfOGsuzWw6GNAH8cLL7SNc5EDoL5Y6nDdZOp92teRhsJiAMoTsvzsURI9zzcoHdVTHCwN5jp6j3toV0/KCjaxdncbKhhZe2Hx6U+0e7giOniBGYOba3gOAfAA5F4G2wcadTCDIgiMgKESkUkSIRua2L83Eiss46v0lEsqzjC0Rku/XzqYj8XbD3jEbjkhO46fxpvLXnOG/uLre7OobNAhvR9WfL62AsmDyKmeNG8NRHZgpqfxQcOcXk0Z5e+/M9IUyj2eBts23KKQQREETEATwKXATkAleKSG6nYtcD1ao6FXgI+Ll1fBeQp6pzgRXAb0TEGeQ9o9J1Z09m+phE7l5fYJryw1x+STVjRsSRObLrPXIGSkS4bnEWe4/VsrHYbKHSFz6fUnCkpsf1BwHuEKbRbPC2tedptkMwLYQFQJGqFquqF3gWWNmpzErgaevx88B5IiKq2mDlZAaIBwJfU4K5Z1SKdcRw38rZHD7ZyCPvfGZ3dQwbbS2tJm/SqEHtL7507nhGDpMpqIeqGthXXjvg+5SfauLbv9vE0Zomzpk6utfyoUyj2eBtxW3TthUQXEDIAA51eF5mHeuyjBUAaoBUABFZKCIFwE7ge9b5YO6Jdf0aEckXkfyKiuiYx78wO5XL52Xw2PvF7K+os7s6hg2O1TRx+GQjZwzCgHJH8bEOrlwwkTd3l0f9ZIab1m3nqw+9z7+u286Rfk63fXtvORf95wdsKz3Jz/9+DlfkZfZ6zWAMKtslmIDQ1deXzh2S3ZZR1U2qOgs4E7hdROKDvCfW9Y+pap6q5qWlpQVR3chw+9dmEh/r4K6Xdpn+3WEov9TfhTMYM4w6+4dFkxCRqN4F1edTdh85xZQ0D6/uPMqyX77LL/66l9qmlqCub25t456XC/jOU/mMGRHPyz88h2+eOTGo1lso02g2eNts28cIggsIZcCEDs8zgc47Z7WXEREnkAx8odNSVfcA9cDsIO8Z1dKS4rjlwhw+LDphcuEOQ1tLq0mIdfQ6xz0UxqcksGLWWP60+WDItmkON4eqG2hsaWPNV7J5+0fnctHssfzXu/tZ+uC7PLOxlNYe1ggUHa/jskc/4skPS7ju7Cz+8v3FTE1PDPq1E2JD10Jo9LbZttMpBBcQtgDTRGSyiLiA1cD6TmXWA9dYj1cBb6uqWtc4AURkEpADlAR5z6h31cJJzM4YwX2v7A76m4wRHbaWVnP6hGRih2gB0rVnZ3GqqZUXP4nO7117j/nHDnLGjiBzpJuHV89j/Y1nMyU9kTtf3MWFD7/P/+4p/0JrXFVZt+Ugl/y/DZSfauKJa/L46SWziI/t2zf0QAshFBvc1Xtbw7uFYPX53wi8AewBnlPVAhG5V0QutYo9AaSKSBFwMxCYRnoO8KmIbAf+AnxfVSu7u2co31gkcMQI9182h4q6Zh5+ywwwDxcN3lYKjoRuQ7tg5E0ayeyMETz10YGo7KLcZwWEaR2+2Z+WmcK6NYt47NvzUYXrn87nqsc3setwDTWNLdz4p0/4yQs7OWNSCq//yxLOmzmmX68dGEOoj4IxhKDaJqr6GvBap2N3dXjcBFzRxXXPAM8Ee8/haO6EFFafOZGnPiph1fxMZvaQiMOIDtsPnaTNp+RNGjVkrykiXLt4Mj/+86d8vP8Ei4OYPRNJ9pbXMnGUu/3beoCI8NVZY1k2I521mw7y8Fv7uOSRDYx0u6hpbOHWFTl87ytTiInp/0yvOGcMMTLwhWmtbT68rb7wX5hmDK5bL8whOSGWO1/chc8Xfd/ejC/aNsgL0rpz8Wnj8LgcvLIz+sas9h2rZXoPCYZiHTFcsziLd29ZxpqvZDNxlJs/f+8svr906oCCAfiDjsflHPCgst25EMAEhLAw0uPithUzyC+t5oVtZXZXxxhk+aXVTB+TSLI7tBva9SY+1sE500bzzt7jUdVt1NzaRnFlPTPG9p5xLjkhltsvmsmLPzg7pAHZHecY8MK0wPXhPu3UGAKr5mcyf9JIHnh9LycbvHZXxxgkPp+yrbR6SMcPOlo+I52jNU3tg7DRoLiinjafMj2IgDBYQpFGMzADzHQZGcTECPetnM3JBi8PvlFod3WMQVJUUcepplbmD+H4QUfLctIBeHvvcVtefzAUWsEtmBbCYAlFGs3AtFXTQjAAyB0/gmsXT2bt5oN8euik3dUxBkG+ldZyKBakdSV9RDyzM0bwTjQFhPJaYh1CVmr3aS4HW0jGENqzpZkWgmH51wumkZYYxx0v7qLNDDBHnfzSKlI9Lialum2rw/KcdLYdrKa6Pjq6JvcdqyV7dCIup30fZ+64gWdNC3QZmRaC0S4pPpY7Ls5l5+Ea1m4+aHd1jBDbao0f2JUABWDZjHR8Cu9/Fh17g+09VkuOjd1FYHUZDTggWC2EcF6YZgy9S04bx+IpqTz4171U1jXbXR0jRCpqmyk90TBoCXGCdXpmCqkeV1SMI9Q2tXD4ZGMYBARnyMYQwn23U2OIiQj3rpxNY0sbD7y21+7qGCESSIhj14ByQEyMcG5OGu/tq4j4bsl95f7dgnN6WIMwFDwux4BXKge6jMI9H4Jhg6npidywJJsXtpWx+YBJbhINtpZW4XLGMDvD/tXoy2ekc7KhhU8OVttdlQEJ5D+wu4WQ4HIOeKVyewvBjCEYXblx+VQyUhK488VdtPSwW6MRGbaWVnNaRjJxTvv+wwcsmZaGI0Yivtuo8FgtHpeDjJTByToXLI/LgdfaeqK/Al1O8Tb++zABIYy5XU5+ekkuheW1PPVhid3VMQagqaWNXYdPMd/m8YOA5IRY8iaNjIqAMG1M0oC3nxgot7WH0kBaCYF8yna+FxMQwtwFuWNYPiOdh9/ax9Ga/mWBMuy383AN3jbfkG5o15vlM9LZe6y239nF7KaqFJbX2rogLaA9a1pL/weWG1rabO0uAhMQwp6IcPcls2j1Kfe/ssfu6hj9FFiQdsbEFJtr8rnlM/yrlt8pjMxWQmWdl6p6b4+b2g2V9i2wB7CfUUNzK24bF6WBCQgRYWKqmx8sm8qrO4/y/r7omDs+3GwtrSZ7tIfUxDi7q9JuanoimSMTInbVcjhsWREQWF08kIx0gS4jOwUVEERkhYgUikiRiNzWxfk4EVlnnd8kIlnW8QtEZKuI7LT+XN7hmnete263ftJD9aai0ZqvZJOV6uan6wtobh14Ig5j6Kgq2w7at6Fdd0SE5TPS+bDoBE0D3JjNDoXWDCM7N7ULaO8yCsEYgp16DQgi4gAeBS4CcoErRSS3U7HrgWpVnQo8BPzcOl4JXKKqc/Cn2OycLOcqVZ1r/UTm15QhEh/r4N6VszlQWc9j7xXbXR2jD4or66mq94ZdQAD/quXGljY2Fp+wuyp9tu9YLaMTXYwOg1ZXYFB5YC0QIeagAAAgAElEQVSEyOgyWgAUqWqxqnqBZ4GVncqsBJ62Hj8PnCcioqqfqGogiWsBEC8i9v/tRaivTE/ja3PG8sg7RRyqarC7OkaQtgY2tAuTGUYdnZWdSnxsTER2G+0t7zkpzlDyhGIMweb0mRBcQMgADnV4XmYd67KMlS+5BkjtVObvgU9UteNeDE9a3UV3Sjebu4jIGhHJF5H8igrTf37nxbk4YoS71w+7FNQRa2tpNSnuWLJHJ/ZeeIjFxzo4e8po3i6MrKQ5Pp/yWRgFhMAH+UCnnXoiICB09UHd+V9Oj2VEZBb+bqR/7HD+KqsraYn18+2uXlxVH1PVPFXNS0tLC6K60W1ccgI3nT+N/917nDd3l9tdHSMI+aVVzJ840va58t1ZNiOdQ1WN7K+os7sqQSurbqTB2xYWA8rw+aDyQLbA9rcQwr/LqAyY0OF5JnCkuzIi4gSSgSrreSbwF+BqVd0fuEBVD1t/1gJr8XdNGUG47uzJTB+TyN3rCwa8XN4YXNX1XvZX1HNGGI4fBCybEXlJc8JpQBk+339oYIPKrRHRQtgCTBORySLiAlYD6zuVWY9/0BhgFfC2qqqIpACvArer6oeBwiLiFJHR1uNY4GJg18DeyvAR64jhvpWzOXyykUfe+czu6hg92HbQ3oQ4wchISWDG2KTICgjHTgGETZeRyxGDI0b6Pajs8ymNkbAwzRoTuBF4A9gDPKeqBSJyr4hcahV7AkgVkSLgZiAwNfVGYCpwZ6fppXHAGyKyA9gOHAZ+G8o3Fu0WZqdy+RkZPPZ+cUQ19Yeb/NJqYh3C6RPCZ0FaV5bNSCe/pJpTTS12VyUoheV1ZI5MIDHO3i6WABHB7XL0e1C5qbUN1c9nK9klqHUIqvqaqk5X1Smq+jPr2F2qut563KSqV6jqVFVdoKrF1vH7VdXTYWrpXFU9rqr1qjpfVU9T1Vmq+i+qavo++uj2i2YSH+vgrpd2RdSA4HCytaSaWeOTiY+1f0O7niyfkU6rT/lgX6XdVQlK4bFTYTN+EOBxOfvdQgiHnU7BrFSOaGlJcdxyYQ4fFp3glR1H7a6O0Ym31cenZSfDcv1BZ/MmpJCcEBsR3UbeVh/FFfVh010UMJCsaQ3NgYAQAS0EI3xdtXASszNGcN8ru6mNkOb+cFFwpIbmVl9Yjx8EOB0xnDs9jff2HccX5klzDlTW0+pT23MgdDaQvMqBTfFMC8EYEEeMcP9lc6ioa+bht8wAczj5PENa+AcE8HcbVdZ52XG4xu6q9GivNaAcdgHB5aS+n2k0A2MPkbAwzQhzcyekcOWCiTz1UQl7jp6yuzqGJb+kmgmjEkgfEW93VYJy7vQ0YiT8p5/uK6/FGSNht9BvIF1GgenjHtNlZITCrRfmkJwQyx0v7gr7Jv9woKpsPVgdVvkPejPS42LexJFhv41F4bFastM8uJzh9fE1sEFl02VkhFCK28VtF81ga2k1z28rs7s6w96hqkYqapsjprsoYPmMdHYeruH4qSa7q9KtwvJacsban5e6swENKptZRkaorTojk/mTRvIfr+/lZIPX7uoMa/mlVUB4bmjXk2U5/lXL7xaG575hdc2tHKpqJGdMeHUXAdY6hIFOOzVdRkaIxMQI962czckGLw++UWh3dYa1/NJqkuKcTEsPr4HP3swcl8S45PiwHUf4zNqyIixbCHFOGvuZV6K9yyjOtBCMEModP4JrF09m7eaDfHropN3VGba2lVYzb9JIHGG6oV13RISlOelsKKrE2+qzuzpfEsiSlhNmaxDAvwV2S5v26/fW3kKweQGjCQhR6F8vmEZaYhx3vLiLNjPAPORqGlsoLK+NiPUHXVk+I5265la2lFTZXZUvKSyvxe1ykDkywe6qfEnCANJo1ntbcTlicDrs/Ug2ASEKJcXHcsfFuew8XMPaTaV2V2fY+eRgNarhvaFdT86emorLGROW3UaFx2qZNiYpLLcS9wwgjWajt8327iIwASFqXXLaOBZPSeUXbxRSUdvc+wVGyGwrrcYRE/4b2nXH7XKyKDs1LKef7iuvDcsBZRhYGs0Gb5vt3UVgAkLUEhHuXTmbppY2Hnh9j93VGVbyS6uZOS4JT5jsxNkfy3PSKK6sp6Sy3u6qtKusa6ayzhuWA8owsDSaDd5W23c6BRMQotrU9ERuWJLN/2w7zOYD4dcfHI1a23xsP3QyohakdWX5jDFAeK1a3hfGA8rw+bYT/ekyavDanwsBTECIej9cPo2MlATufHEXLW3hN2sk2uw5WkuDty2sM6QFY2KqmylpHt4pDJ+AUNg+5TQ8A4JnAIPKDc0RFBBEZIWIFIpIkYjc1sX5OBFZZ53fJCJZ1vELRGSriOy0/lze4Zr51vEiEfm1iITfKFEUSHA5+OkluRSW1/LUhyV2VyfqbQ0sSIvwgAD+2Uabiqv6vdgq1AqP1TLK42J0osvuqnTJYw0K1/enhdDSavuiNAgiIIiIA3gUuAjIBa4UkdxOxa4HqlV1KvAQ8HPreCVwiarOwZ9i85kO1/w3sAaYZv2sGMD7MHpwQe4Yls9I5+G39nG0ptHu6kS1/NJqxifHMz4l/KZF9tWyGel423xsKAqPpDmF5bXkjEkiXL87BqadNkZ5C2EBUKSqxarqBZ4FVnYqsxJ42nr8PHCeiIiqfqKqR6zjBUC81ZoYB4xQ1Y/Vn+rr98BlA343RpdEhLsvmUWrT7n/FTPAPJi2llYzPyuyxw8CzswaRVKcMyxmG/l8yr5jtWHbXQQDHVSOnICQARzq8LzMOtZlGSsHcw2Q2qnM3wOfqGqzVb7jDmxd3RMAEVkjIvkikl9REZ77q0SCialufrBsKq/uPMr7+8zvcTAcPtnI0Zom5k+MzOmmncU6YlgyfTTvFB63PUXr4ZON1HvbwjoguAe4MC0iuoyArtpnnf919FhGRGbh70b6xz7c039Q9TFVzVPVvLS0tCCqa3RnzVeymTzaw0/XF9DcalJYh1ogIU5elLQQwL/ZXfmpZgqO2JtnI7BlRbilzezI5YzBGSP9X5gWIS2EMmBCh+eZwJHuyoiIE0gGqqznmcBfgKtVdX+H8pm93NMIsfhYB/dcOosDlfU89l6x3dWJOltLqnC7HGGX/H0gllq7n9rdbRSYYTQ9TBelBfRnC2xvq49Wn0ZMQNgCTBORySLiAlYD6zuVWY9/0BhgFfC2qqqIpACvArer6oeBwqp6FKgVkUXW7KKrgZcG+F6MIHxlehpfnzOOR94p4lBVg93ViSr5pdXMm5hi+340oZSWFMfpmcm8bfP0033ltWSkJJAUH2trPXrjiet7Gs3Pk+NEQJeRNSZwI/AGsAd4TlULROReEbnUKvYEkCoiRcDNQGBq6o3AVOBOEdlu/aRb5/4JeBwoAvYDr4fqTRk9u+PimThihLvXF9hdlahR39zKnqOnmD8x8qebdrZsRjrbD53kRJ19W6AUhvmAckCCy0FDH7fADpfkOBDkOgRVfU1Vp6vqFFX9mXXsLlVdbz1uUtUrVHWqqi5Q1WLr+P2q6lHVuR1+jlvn8lV1tnXPG9XuUathZFxyAv96/nT+d+9x3txdbnd1osL2QyfxKVEzw6ij5TPSUYX3bJqM0NLmY39FXUQEBI/LSUN/Wwhm6wrDLteencX0MYncvb6gPcG30X/5JdWIwLwomWHU0ezxyYxOjLNtG4sDlfW0tGnYblnRkdvl6PPCtHDJhQAmIAxbsY4Y7ls5m8MnG3nknc/srk7Eyy+tImdMEiPCvI+7P2JihGU5aby/r4JWG7Y/aU+KEwEtBP+gct9aCIF1CxHTZWREp4XZqVx+RgaPvV9M0fE6u6sTsdp8yvaDJ5kfBdtVdGf5jHRONbW2T60dSoXHanHECNlpniF/7b5yxzn7PMuoscV0GRlh4vaLZhIf6+Cn63fZvvgoUu0rr6W2uZW8rOgNCOdMG02sQ2yZbVRYXkv2aA9xTvu/QffG43LQ0MeVyhE3qGxEr7SkOG69MIcPi07w8o6jdlcnIuUHFqRF+JbXPUmKj+XMrFG2rEcoPFbL9AjoLgL/1NH6PnYZNZguIyOcfGvhJOZkJHP/K7upbWqxuzoRZ1tpNWlJcWGZ5zeUls9IZ195HWXVQ7d+pcHbysGqBmZEwIAy+D/UG71tfWptR9Q6BCP6OWKE+y6bTUVdMw+9aQaY+yq/tIq8SSPDdhfOUFk2Y+hXLe8r949tRUoLwRPnpNWnePsw+F5vuoyMcDN3QgpXLpjI0x+XsOeovfvWRJLjp5o4VNUY1QPKAdmjPUxKdQ/p9NNAlrRI2Q4kwZo62pdxhEZvGzECcU77P47tr4ERNm69MIfkhFjueHEXPp8ZYA5GfhRuaNcdEWFZTjof7T8xZGtXCstrSYh1MGGke0heb6ACSXL6slq53tuKx+UMixamCQhGuxS3i9sumsHW0mqe2HDA7upEhK2l1cQ5Y8gdF56J30Nt2Yx0mlt9bDxwYkher/BYLdPHJBITY/+HZTDat8Duw2rlRm9bez5mu5mAYHzBqjMyWTFrLD97bQ9rNx20uzphL7+0mtMnpOAKg+b+UFg4eRTxsTG8Vzg021gUlteG9ZbXnQXGAfqyWrk+TLa+BhMQjE5iYoT/vHIuy3LS+LcXd/LC1rLeLxqmPj10kl2Ha1g0Ofq7iwLiYx2clZ3Ku0OwHqGq3ktFbXNErFAO6E+SnMYwSY4DJiAYXYhzOvjvf5jP4imp3PL8p7z8qUlV0Vl9cys3rdvOmKQ4rj8n2+7qDKmlOemUnGigpLJ+UF8nsCp6dkbyoL5OKLWPIfRhUDlc0meCCQhGN+JjHfz26jzyJo3ipnXb+euuY3ZXKazc+/JuSk7U86tvziXZHX37F/VkaY4/c+FgtxI2fFZBQqwjojYM/LzLKPgWQr23LSy2rQATEIweuF1OfnfdmZyWmcwP/7TN9qxZ4eL1nUdZl3+Ifzp3CouyO6cOj36TUj1MHu3h3UHeDntDUSULJo+KiC0rAgJdP32ZhdXobQ2LnU4hyIAgIitEpFBEikTkti7Ox4nIOuv8JhHJso6nisg7IlInIo90uuZd656dE+cYYSQxzslT1y0gZ2wS//iHrXxYVGl3lWx1tKaR2/5nJ6dlJnPT+dPtro5tzp2exsf7T9DUx2QwwTpa08j+inqWTBs9KPcfLB4rIPRpULm5DXdchAQEEXEAjwIXAbnAlSKS26nY9UC1qk4FHgJ+bh1vAu4EftzN7a/qnDjHCD/JCbE8852FZI/2cP3TW9h8oMruKtnC51N+9NyneFt9/OfqecNmZlFXluak+aefFg/O9NMNn/m/eJw9NbICQmD6aJ+mnbZE1hjCAqBIVYtV1Qs8C6zsVGYl8LT1+HngPBERVa1X1Q34A4MRwUZ6XDxz/UIyUhK47snNbDs49Nsg2+23HxTz0f4T3H1pLpNHh/9WzINpUXYqcc4Y3h2k6acbiioZneiKmBXKAS5nDLEO6dvCtObImmWUARzq8LzMOtZlGSsHcw0QTOfqk1Z30Z3SzTI9EVkjIvkikl9RYU8KP8MvLSmOtTcsYnRSHNf8bjO7DtfYXaUhs+twDb/8WyErZo3lG3kT7K6O7eJjHZw1JXVQ0mqqKh8WVXL21NFhsXq3r9x9SKPZ5lOaW30R1ULo6m+k874GwZTp7CpVnQMssX6+3VUhVX1MVfNUNS8tLa3XyhqDa8yIeNbesIgR8bH8wxOb2Hss+vc9avS28c/PfkKqJ44HLp8TkR9Sg2Hp9DQOVNZTeiK000/3Hqulss7LORHWXRTg6UMazcaW8NnYDoILCGVAx69EmUDnientZUTECSQDPXY0q+ph689aYC3+rikjAmSkJLD2hoXEOWP4h8c3RX22tftf3c2Bynp+9Y3TGelx2V2dsLE0xz8PJNTdRoHxg3MibEA5IMHaAjsYgZZEJHUZbQGmichkEXEBq4H1ncqsB66xHq8C3tYeNgQXEaeIjLYexwIXA7v6WnnDPpNSPay9YREgfOu3Gwd9kZJd/lZwjD9uOsiaJdksjtBvrIMla7SHrFR3yNcjbCiqZEqah3HJkZlfwhMXfJKccMqWBkEEBGtM4EbgDWAP8JyqFojIvSJyqVXsCSBVRIqAm4H2qakiUgL8CrhWRMqsGUpxwBsisgPYDhwGfhu6t2UMhSlpifzxuwtpafNx1eObhjRxylA4fqqJn7ywg1njR3DzV4fvFNOeLM1J5+Pi0E0/bW5tY9OBEyyZFrndw+4+pNGsD6PkOBDkOgRVfU1Vp6vqFFX9mXXsLlVdbz1uUtUrVHWqqi5Q1eIO12ap6ihVTVTVTFXdbc0+mq+qp6nqLFX9F1Udmv10jZDKGZvEM9cvpLaphW/9dhPHaqJjQpnPp/zoz5/S2NLGf66eG1GLo4bSuTlpNLX42BSiqcjbSk/S1OKLuOmmHfUljWZjpLUQDKM3szOSefo7C6iq9/KtxzdSUdtsd5UG7MmPSvjgs0ru+HouU9Mja+rjUDqrffppaLqNNhRV4IgRFmVH7oaB7j6MIQQGnz2RsjDNMIIxb+JInrzuTI6ebOIfHt9EVb3X7ir12+4jp/j563s5f+YYrlo40e7qhLX4WAeLslNDth32hqITzJ2QQlJ85O4P5elTC8FfLiE2grqMDCMYZ2aN4olr8ig5Uc+3n9hETUOL3VXqs6aWNv7l2U9Idsfy8783U0yDsTQnjeLKeg6eGNgYUk1DCzvLTkbsdNOAhL6MITSbLiMjii2eOprffHs+n5XXcfWTm6ltiqyg8MBre/jseB2/vOJ0UhPj7K5ORGiffrpvYN1GH+2vxKeRO900wBPnoKGljR4mWrYLrGiOmL2MDKOvluak88i35lFwuIbvPLWlT8lC7PTO3uM8/XEp3zl7MudOj9xZLkNt8mgPk1LdA16PsKGoEo/LwdwJkbPddVfcLmf7CuTeNEbiLCPD6KuvzhrLw6vnsrW0mu8+nT9ou2KGSkVtM7c8/ykzxiZx64ocu6sTcZZOT+Oj/ZUD+nveUFTJouxUYh2R/bEU6P5pCGJgOdBllBBJ218bRn9cfNp4/u83Tufj4hN87w9baW4Nz6Cgqtz6/KfUNrXy6yvnER8m/zkjydKcdJpafP3eCfdQVQOlJxoivrsIPt8CO5iWcWNLG/GxMThiwmOsygQEY1D93bxMHvi7ObxbWMGNaz+hpa33ZvRQ+/3HpbxTWMH/+drMiEroHk4WZafiGsDupxusPBuRPqAMn48HBNdCaG0PIOHABARj0K1eMJF7Lp3Fm7vLuWnddlrDKCjsK6/lZ6/tYVlOGlefNcnu6kSsBJd/+ml/B5Y3FFUyZkQcU9MTQ1yzodeeRjOIHU8bvW3tORTCgQkIxpC4ZnEW//a1mby64yi3Pr8Dn6/3GRiDramljX/+0yeMiHfyi1WnmymmA7R0ehrFFfUcqurb9FOfT/moqJJzpqZFxd9BX9Jo1ntbw2bKKZiAYAyhG76SzY8umM7/fHKYf3txZ1DT8gbTL/5ayN5jtTy46nTSkswU04FamuOfmdXXVcu7j56iuqGFc6ZFR37qvqTRbPC2hc0MIzABwRhiPzxvGjcum8qfNh/inpd32xYU3ttXwe8+PMA1Z01i2QyTzjsUJo/2MHFU36effhCh6TK7055GM5hBZW/4pM8ECJ/QZAwbP/rqdJpa2nh8wwFczhhuv2jGkHYVnKhr5sd//pRp6Ync/rWZQ/a60U5EWJqTxp/zy2hqaQt6ttaGogpyxiSRnhQ/yDUcGp6+DCp720hxh0+ODdNCMIaciPBvX5/JtxdN4rH3i3nozX1D9tqqyk9e2ElNQ4uZYjoIluak0djSxpaS4KafNrW0saWkOiqmmwYEuoCCG1QOrzEE00IwbCEi3HPpLLytPn79dhFxsQ5+sGzqoL/u2s0HeWtPOXdenMvMcSMG/fWGm7OyR7dPPw0mp8GWkiq8rb6omG4a0KeFad62sNnpFIJsIYjIChEpFJEiEbmti/NxIrLOOr9JRLKs46ki8o6I1InII52umS8iO61rfi3RML3A6JOYGOHfL5/DZXPH8+AbhTz+QXHvFw1A0fFa7ntlN0umjea6xVmD+lrDVYLLwcLJo4IeWN5QVEmsQ1gwOXK3u+4s1hGDyxETVEBo9LaFzU6nEERAEBEH8ChwEZALXGllPevoeqBaVacCDwE/t443AXcCP+7i1v8NrAGmWT8r+vMGjMjmiBF+ecXpfG3OWO5/dQ/PfFwyKK/T3NrGP/9pOwmxDv7vFacTEyYrQ6PR0px09gc5/XTDZ5XMmzgST1z4fCiGgjvO0eugsqpS722NuBbCAqBIVYtV1Qs8C6zsVGYl8LT1+HngPBERKzPaBvyBoZ2IjANGqOrHVu7l3wOXDeSNGJHL6YjhP1fP4/yZY7jzpQKe23Io5K/xq7/tY/fRU/xi1emkj4iOwctw1T79dF/Ps42q6r0UHDnFkijqLgpwxzra9ynqTnOrD1UibmFaBtDxf2iZdazLMlYO5hqgp0nFGdZ9eronACKyRkTyRSS/oiI0STiM8BPriOHRq+bxlelp/OR/dvDiJ4dDdu8Piyr5zfvFXLVwIhfkjgnZfY2uZY/2MGFUAu/10m30obVdxdlRNKAc4I5z9tpCCAw6u8NoYkMwAaGrtnXnyePBlOlXeVV9TFXzVDUvLc1sSRzN4pwOfvMP81k0OZUf/flTXtt5dMD3rK73cvNz28lO83DH1zv3dBqDQURYOj2dj/af6HFDww+LKkmKd3JaRvIQ1m5oeFyOXscQAufdYdRdFkxAKAMmdHieCRzproyIOIFkoKd5Z2XWfXq6pzEMJbgcPH5NHvMmpPDPf/qEt3aX9/teqspt/7ODqnovv149L6ya5tFuaU4aDd42thyo7vK8qvLBZ5WclZ2KM8K3u+6K29V7C6GxJbyypUFwAWELME1EJouIC1gNrO9UZj1wjfV4FfC29rAEVVWPArUissiaXXQ18FKfa29EJU+ck99ddyazxo/g+3/cxnu99EV357n8Q7xRUM6Pv5rD7Cj8FhrOzpqSissR0+1so5ITDRw+2ciSKOwuAv+HfG9jCIEuo4ja7dQaE7gReAPYAzynqgUicq+IXGoVewJIFZEi4GagfWqqiJQAvwKuFZGyDjOU/gl4HCgC9gOvh+YtGdFgRHwsv//OQqamJ7Lm9/l8vP9En64vrqjj7vW7WTwllRuWZA9SLY3uuF1OFmaP6nZguX276yDWKkQid5yzvQXQncDmd+HUcg2qraaqr6nqdFWdoqo/s47dparrrcdNqnqFqk5V1QWqWtzh2ixVHaWqiaqaqaq7reP5qjrbuueNPbUojOEp2R3LM9cvYOIoN9c/vYX8IFe/trT5uGnddlzOGH71jblmiqlNzp2eRtHxOsqqvzz9dMNnFWSkJJCV6rahZoPP43L0ulI5sPldRLUQDMNOqYlx/PGGhYwdEc91T27h00Mne73moTf3saOshv+4fA5jk80UU7sszfFvGth5s7s2n/LR/hOcM3V0VGx33ZWEoAaVW9vLhgsTEIywl54Uzx9vWEiKJ5arf7eZgiM13ZbdWHyC/35vP9/Mm8BFc8YNYS2NzqakecgcmfClgLCj7CS1Ta1ROd00wGMNKvfU8dE+y8gEBMPom3HJCaz97iI8LgfffmIz+8prv1SmpqGFm9dtJyvVw12XmCmmdgvsfvrR/sovTD9tX38wJTryH3TFHefAp/7FZ91pMF1GhtF/E0a5+eMNi3DGCFc9voniirr2c6rK/3lxJ8drm3n4m3OjbiuESLV0ejoN3jbySz6ffvrBZ5XkjhtBamL0JiUKLDbraRyh0XQZGcbATB7tYe0NC/H5lKse39S+X84L2w7z6o6j/OsF0zl9QorNtTQCFk/94vTTBm8r2w5WR+1004DAYrOexhHqvW3EOgSXM3w+hsOnJoYRpKnpSfzhuwtpbGnjyt9u5OP9J/jpS7tYMHkU3zt3it3VMzpwu5wsmDyqfRxh04EqWto0arKjdSfQDdRTQPDvdBo+rQMwAcGIUDPHjeCZ7yykpqGFK3+7kZgY4aFvzsVhppiGnaU5aXx2vI7DJxvZ8FklLmdMVG133ZXAQHF9D6uV65tbw65r0wQEI2LNyUzmqe8sYFKqmwdXnUZGSoLdVTK60L77aeFxPiyqJG/SyKjPVBcICI09tBAaWtrCavwATMY0I8LNnzSS925ZZnc1jB5MSUskIyWB57eWsfdYLbeuyLG7SoMu8M2/p0HlhubWsJphBKaFYBjGIAtMP/3koH9R4ZKp0bldRUcJQaTRbPCGXwvBBATDMAZdYNVyijuW3PHRn8s6qEHllrawWpQGJiAYhjEEFlu7n549ZfSwGPh3xwVaCF13GakqJ+q8YddlFF61MQwjKnninDxxbR5ZqR67qzIkPl+Y1nUL4f3PKjl8spF/OX/aUFarVyYgGIYxJJZE6VbXXXE6YnA5Y2ho6bqF8F/vFDEuOZ7L5naZOdg2psvIMAxjEHhcDhq6aCFsLa1m04EqvrskO6xWKUOQAUFEVohIoYgUichtXZyPE5F11vlNIpLV4dzt1vFCEbmww/ESEdkpIttFJD8Ub8YwDCNcuF3OLhem/fe7+0lxx3LlggldXGWvXruMRMQBPApcgD8X8hYRWR9IdGO5HqhW1akishr4OfBNKzvaamAWMB54S0Smq2ogbC5T1coQvh/DMIyw4O6ihVB4rJa39pRz0/nTcIfZgDIE10JYABSparGqeoFngZWdyqwEnrYePw+cZ+VKXgk8q6rNqnoAf7rMBaGpumEYRvhyxzlp6JRG8zfv7cftcnDNWVn2VKoXwQSEDOBQh+dl1rEuy1g5mGuA1F6uVeBvIrJVRNb0veqGYRjhyx3roKHDSuVDVQ289OkRrlwwkZEel401614wbZauJg13TgPUXZmerj1bVY+ISFFIndgAAAsySURBVDrwpojsVdX3v/Ti/mCxBmDixIlBVNcwDMN+njgHh0+2tD//7QfFxAh8d8lkG2vVs2ACQhnQcfQjEzjSTZkyEXECyUBVT9eqauDP4yLyF/xdSV8KCKr6GPAYQF5e3pfy0bW0tFBWVkZTU1MQbyUyxMfHk5mZSWxsrN1VMQyjn9wuZ3sSnMq6ZtZtOcTl8zIZlxy+mzAGExC2ANNEZDJwGP8g8bc6lVkPXAN8DKwC3lZVFZH1wFoR+RX+QeVpwGYR8QAxqlprPf4qcG9/3kBZWRlJSUlkZWVFRcJuVeXEiROUlZUxeXL4fpMwDKNnbpeDemvriic/PIC3zceac7NtrlXPeg0IqtoqIjcCbwAO4HeqWiAi9wL5qroeeAJ4RkSK8LcMVlvXFojIc8BuoBX4gaq2icgY4C/WB7gTWKuqf+3PG2hqaoqaYAD+jcBSU1OpqKjovbBhGGHL7XLS0NxKbVMLv/+4lItmj2VKWqLd1epRUPOeVPU14LVOx+7q8LgJuKKba38G/KzTsWLg9L5WtjvREgwCou39GMZw5Ilz0NDSxh82HqS2qZV/Oneq3VXqVXgtkzMMw4gSbpcTVXjs/f0smTaaOZnJdlepVyYghEBiYtfNwN///vfMnj2bWbNmkZubyy9/+UsArr32WiZPnszcuXOZO3cuixcvHsrqGoYxBAJbW1c3tPBPEZLrO/yWykWJ119/nYcffpi//e1vjB8/nqamJp555pn28w8++CCrVq2ysYaGYQymQEA4fUIKZ01Jtbk2wYmqgHDPywXsPnIqpPfMHT+Cn14yq8/XPfDAA/zyl79k/PjxgH8q6Q033BDSuhmGEb5Guv2Lz/7p3CkRMy5ouowGya5du5g/f36352+55Zb2LqOrrrpqCGtmGMZQODcnjWfXLOLCWWPsrkrQoqqF0J9v8nYxXUaGEd1iHTEsyo6MrqIA00IYJLNmzWLr1q12V8MwDCNoJiAMkttvv51bb72VY8eOAdDc3Myvf/1rm2tlGIbRvajqMrJLQ0MDmZmZ7c9vvvlmbr75ZsrLyzn//PNRVUSE73znO+1lbrnlFu6///7255s3b8blCs8dEA3DGB5MQAgBn8/X5fHrrruO66677kvHn3rqqUGukWEYRt+ZLiPDMAwDMAHBMAzDsERFQFD9UpqEiBZt78cwjMgQ8QEhPj6eEydORM2HaCAfQnx8vN1VMQxjmIn4QeXMzEzKysqiKn9AIGOaYRjGUIr4gBAbG2syixmGYYRAUF1GIrJCRApFpEhEbuvifJyIrLPObxKRrA7nbreOF4rIhcHe0zAMwxhavQYEEXEAjwIXAbnAlSKS26nY9UC1qk4FHgJ+bl2biz+d5ixgBfBfIuII8p6GYRjGEAqmhbAAKFLVYlX1As8CKzuVWQk8bT1+HjhP/Pu9rgSeVdVmVT0AFFn3C+aehmEYxhAKZgwhAzjU4XkZsLC7MqraKiI1QKp1fGOnazOsx73dEwARWQOssZ7WiUhhh9PJQE0Q7yFgNFDZh/LDWV9/t3azs76D/dqhvv9A7zeQ6/tzbV+uMf/HuzYpmELBBISuMjt0nuPZXZnujnfVMuly3qiqPgY81mXFRB5T1TVdneumfL6q5gVbfjjr6+/WbnbWd7BfO9T3H+j9BnJ9f67tyzXm//jABNNlVAZM6PA8EzjSXRkRceKP6FU9XBvMPYPxcj+uMYITab9bO+s72K8d6vsP9H4Dub4/10bav8WIJb0t6LI+4PcB5wGHgS3At1S1oEOZHwBzVPV7IrIauFxVvyEis4C1+McMxgP/C0zD33Lo8Z6DwXx7MIzoZv6PD0yvXUbWmMCN/P/t3WmoVGUcx/HvL8sWyjCLiijUFk1KMk2SViGMehEYLUaE0YuIFivrXRGlUBH1ogiSFimKooUWKdq7BplSmmmaRZtUEq22UBZk/148/6G515nr3JnRO935feAwz5x7nuecc53H555z5vwOvAwMAxZGxFpJ84DlEbEIeAB4WNKnlCODWVl3raQngA+Bv4HLImIzQK022797W6h56snMhgz38RZs9QjBzMy6w/8+y8jMzNrDA4KZmQEdNCBI2lXSm3kXM5JmS/okp9l16pwtaa2kfyQ1dCGpkciMelEckkZL2iTp/ZwWVNV5TdLIge63Wbdoso/fKGlDVZ87vYH1uI83KyI6YgIuA67M8l7A5/k6Mssja9Q5HBgHLAamNLCOYcBnwFhgOLAKmFBjuUuBBVmeBTye5dHAmjptzwauG+zfoydPnTo12cdvBK4dwDrcx1uYOuYIATgfeC7LpwKvRsRPEbEReJWShdRLRKyLiI/7zu9Ho5EZ9aI4+rMIOG8A22LWbQbcx5vgPt6CjhgQJA0HxkbE+pxVKy7jgL71mtBou72iOCi3zY/Kn42RtDIPfU+oVMgP9c6SRm3RmlmXa7GPXy5ptaSFDZyycR9vQUcMCJT8kZ+r3jcSl9GMRtutt9w3wEERMQmYCzwqaUTVMt9RbsAzs96a7eP3AAcDR1H63x1bWY/7eAs6ZUDYBFQ/M7Jd0RZ9NdpuzSiOKKmtPwJExArKucrDqurtQtkXM+utqT4eEd9GxOaI+Ae4j3JKqD/u4y3oiAEhD8WGSap8YF4GZkgamYeIM3JeQyQdIOn1Gj96FzhU0pg8hJ1FOS/Y1yLKBSSAs4A3IiIk7VP1DYmxlBiOz/O9gP2A9Y1up1m3aLaPS9q/6u1MYE3Odx/fBjpiQEivAMcDRMRPwHzKP+67wLych6T7K18xlTRT0tfANOAFSZUP1P6UqIxe8lxhJTJjHfBEZGSGpHmSzshFHwBGZRTHXKDy1bUTgdWSVlEuRF1S2S5gMrAs12FmWxpwHwduk/SBpNXAdODqnO8+vg10THSFpEnA3Ii4oA1tXQ58GSVnabuQdCewKCJq/dVi1vXcxztfI89D2C4iYqWkHknDIgPwWmjr7nZt1wCsGcofFLNWuY93vo45QjAzs8HVSdcQzMxsEHlAMDMzwAOCmZklDwjWlSStl7R3q8v0U/dkSc8PsM5VknZrZn1m7eABwaxzXAV4QLBB4wHBhjxJz0paofLsjIv7/Gy0pI8kPZQBak/1+Sv9Cknv5c1R47POVElvZwDa25LG1Vn1CEnPSPpQ0gJJO2T9GZKWZrtPStpd0hxKRk6PpJ5c7h5Jy3O7b2r/b8asNw8I1g0uiojJwBRgTo20ynHAvRExEfiVkpVf8UNEHE0JWbs2530EnJgBaDcAN9dZ71TgGuBISkDbmXkK6nrglGx3OeVmrbsomTvTI2J61r8uIqYAE4GTJE1scv/NGtIxN6aZbUNzJM3M8oGUfJpqX0XEkiw/AswBbs/3T+frCuDMLO8JPCTpUEpC5k511vtORFRycB6jxDb8CUwAlmT8/nBgaZ365+QRzY6UqIYJwOr+d9WseR4QbEiTdDJwCjAtIv6QtJjeqZuwZTxy9fu/8nUz//WX+UBPRMxUefTi4jqrr9WuKA+G6fdBK5LGUI5IjomIjZIerLHdZm3lU0Y21O0JbMzBYDxwbI1lDpI0LcvnAW810OaGLF9YmVkjgXNqpm7uAJyb7S4DjpN0SNbZTVIlXvk3YI8sjwB+B36RtC9w2tZ31aw1HhBsqHsJ2DHTMudT/kPuax0wO5fZi3K9oD+3AbdIWkJ5hm9F3wTOpcCtlMjmL4BnIuJ7yiDyWK5vGTA+l78XeFFST0SsAlYCa4GFwBLMtjFnGVlXy1M+z0fEEW1oa7sncJq1k68hmLXJICVwmrWNjxDMzAzwNQQzM0seEMzMDPCAYGZmyQOCmZkBHhDMzCz9C3PtHwjUWqpBAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "report_results('tuning', scores);" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'AMZe': {'LCE': {'alpha': 0.1,\n", " 'beta': 0.0,\n", " 'regularization': 30,\n", " 'rank': 40}},\n", " 'AMZvg': {'LCE': {'alpha': 0.1,\n", " 'beta': 0.3,\n", " 'regularization': 10,\n", " 'rank': 40}}}" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "config" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### saving data" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "save_results(f'{experiment_name}_param', config=config, tuning=scores)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## rank estimation" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "rank_config = {}\n", "rank_scores = {}" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "for label in track(data_labels):\n", " model, = prepare_recommender_models(label, data_models,\n", " [lce_init_config, config]) # initiate with optimal config\n", " rank_config[label], rank_scores[label] = fine_tune_lce(model, {'rank': lce_ranks[label]},\n", " label, ntrials=0, record_time_as='rank')\n", "del model" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAEWCAYAAACKSkfIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAHrtJREFUeJzt3X10XXW95/H3N89PbdKmKU3atCm0lLaCVQJ4RUUpCjhCnXurFrxSL4zo3Mswaxj0wlp6RxjveFHWoHfAu2QJozA66GU5twFF0NbLlUdJpTy0pRJqoWnSp6RPaR5P8p0/9k45PSTNSXLy+Pu81so6Z+/92/v8dlb7Ob98zz6/be6OiIiEIWuiOyAiIuNHoS8iEhCFvohIQBT6IiIBUeiLiAREoS8iEhCFvohIQBT6EgQz+1czO2Rm+UnrfmhmbmZXprT9Trz+8/HyVjNrS/npMrO+cT4NkVFT6Mu0Z2Y1wAcBB65M2fxHYH1S2xzgU8Ab/evcfaW7l/T/APOAncB/H9uei2SeQl9CcA3wHPBDkgI+9ghwoZnNipcvA14G9p7ieD8AdgO3AZjZdjP7RP9GM8sxs4Nm9t54+Roze9PMWszsa2a2y8wuycSJiQyXQl9CcA3w4/jnUjM7LWlbJ1AHrEtq+8BgBzKzG4ELgavdvb+883+Bq5KaXQocdPc/mNkK4HvAZ4FKoBSYP+ozEhkhhb5Ma2b2AWAR8DN330xUtrk6pdkDwDVmVgpcBPzLIMd6H/A/gE+5+8GkTT8BrjSzonj56ngdwFrgEXd/yt27gb8jKjOJTAiFvkx364EnkkL6J6SUeNz9KaAC+CrwqLt3pB7EzOYA/wzc6u7PpezfAGwHroiD/0reDv0qolJQf9t2oCUD5yUyIjkT3QGRsWJmhcCngWwz66/R5wNlZvbulOb/h2gU/pEBjpNFFOJPu/v/GuTl+ks8WcC2+I0AoBlYltKn8pGdkcjoKfRlOvsk0AucDXQnrf8ZUe0+2T8CvwP+bYDjfB2oBv78FK/1EPD3wGzeHuUDPAw8Z2bvB+qJPvy1tM9AJMNU3pHpbD3wv939LXff2/8D3E30weqJQY+7t7r7Rh/4BhNfBU4H9g5wvf7CeP9m4Fng/cBPk467FfhPRG8KzcAxYD/QNRYnLDIU001URMaPmZUAh4Gl7v6nie6PhEcjfZExZmZXmFmRmRUDdwKvALsmtlcSKoW+yNhbAzTFP0uBdYOUkUTGnMo7IiIB0UhfRCQgk+6SzTlz5nhNTc1Ed0NEZErZvHnzQXevGKrdpAv9mpoa6uvrJ7obIiJTipm9mU47lXdERAKi0BcRCYhCX0QkIJOupj+Qnp4eGhsb6ezsnOiuZFRBQQELFiwgNzd3orsiIoGYEqHf2NjIjBkzqKmpwWx6zFXl7rS0tNDY2MjixYsnujsiEogpUd7p7OykvLx82gQ+gJlRXl4+7f56EZHM60700deXmS/STomRPjCtAr/fdDwnkenG3TnY1k3D/jYaDrTxxv423mptp6wwl6qyQqrKCpk/q5D5ZQVUlRVSlJd+rLo7XYk+DrV303S4k+YjHTQf7qQpfmw+0kHTkU4OtnVRUZLPX75vEVedv5CKGfkjPp8pE/oiIqfi7jQf6WRb01G2Nx+lrStBcX5O9JOXTXF+DiX5ORQlP8/PpiQ/h8LcbPocGg+1R+G+v403DrSdeH60M3HidYryslk4u4gde4+x92gnvSkj8LKiXOb3vxmUFWIGxzoTHO3o4VhngmNd8WNngmOdPfT0vnMEX5yXTWVZIZWlBZw1bybzSgvYsvsw//PXf+TuTQ184pxK1r+/hndXlw3795RW6JvZZcB3gWzgB+7+Dynb84nuM3ou0a3gPuPuu8yshug2cjvips+5+5eG3ctJoKSkhLa2tnesf+CBB/jWt76Fu+PuXHvttdx88818/vOf58knn6S0tBSAoqIinnnmmfHutsgpHevs4c2W9uin9ThvtbSzqyV6PNaZoHp2EYvnFLOovIiaOcXUlBdTU15ExYz8Cf1LtTvRR8P+NrY1RwG/reko25qPcqSj50SbvJwsuhN9pzjK28wg24xEUoDPKcnnjIpirnh3FUvmlnBGRQlL5pZQWVpw4twTvX3sO9ZF0+EOmg530Hio48Tzt1raee6NFhyYUZDDzIJcZhTkUFGSz+lzSphRkMOMeF1ZUS5VpYVUlhVQWVrIzIKcAX+/bxxo44FndvHw5kZ+/uIe3rOwjM+/v4bL31WZ9u9uyNA3s2zgHuCjQCPwgpnVufu2pGbXAYfcfYmZrQPuAD7T3093X5V2j6aQxx57jO985zs88cQTVFVV0dnZyYMPPnhi+7e//W3Wrl07gT2U0Lk7rce72dXSzlutx9l1sJ23Wt8O9pbj3Se1n1OSx6LyYt53ejklBTm81drOtuajPL5170mBWJSXzaLyYhbPKWJR/EZQU15MzZxi5mb4DeFwezfb4mDf3nyMbc1Hadh/7MQIuSA3i2XzZvLxsytZUTmDFVUzWTZvJiX5OfT09tHe1Utbd4L2rgRtXQnau3vjxwRtXb0c74q2JfqcmvJizphbwpKKEkqLhr6qLic7i/nxiH48nFFRwm1r3sXNly7j4c2N/OiZXfznh7bw9zO2p32MdEb65wMN7r4TwMweIpoqNjn01xDdUg6i28PdbQEUrL/5zW9y5513UlVVBUSXYH7hC1+Y4F5JaPr6nL1HO08EeX/A94/g27reLk2YQVVpIYvKi/jYytNYVF7MotlFLCyPwrskf+BISPT2sedwB7ta2nmz5Th/Ohgd/7W9x/j1tn0nlSgKc7OjvwziN4HK0gJ6evvoSvTR0d1LZ08vHT29dPb00dmTvNxLR08fXSctR+36VczIZ0XlTC46s4IVVTNZUTmTxXOKyc4aOG5ys7MoLcpKK8CnkhkFufzVhYtZ/2c1PPn6AX749C5eSHPfdEJ/PrA7abkRuGCwNu6eMLMjvH3z58Vm9iJwFPiqu/8u9QXM7HrgeoCFCxeesjO3PbKVbU1H0+h2+lZUzeS/XbFy2Pu9+uqrnHvuuYNu//KXv8w3vvENAFauXMmPf/zjEfdRwnakvYe3WtvZfaid3fHjW60dNLa203i446QyRm62UT2riEXlRZxXM5tF5dHzhbOLqZ5dSH5O9rBfPyc7K3qDKC8GTp7TK9HbR/ORzviN4Di7WtrZdfA4r+8/xqbX9tPd+3bfsix6Uyg48ZNFYV42BTlRnX12cXa8HK/PzWZ2cR4rKmeyvHLmqD7AnI6ysoyPLJvLR5bN5YHr0tsnndAf6C009ZOHwdo0AwvdvcXMzgX+xcxWuvtJqe3u9wL3AtTW1k6bCf5V3pF0dfb00nio40Sg726NyjC7WzvYfSiqrycrK8qlelYRyytn8tGVp7FodnEc7EVUlRUOOvIdCznZWVTPLqJ6dhGpbwi9fc6h9m7ycrIoyMkmN9t01doESyf0G4HqpOUFRHcAGqhNo5nlAKVAa3x3oC4Ad99sZm8AZwIjnkZzJCPysbJy5Uo2b97MxRdfPNFdkUmuNy7BvNUShXpjazu7D3XEwd7O/mMn3yc9PycO0lmFnFczi+rZRSyYVUT17EKqZxcxs2BqlCuys4w5JRqdTybphP4LwFIzWwzsAdYBV6e0qQPWA88Ca4FN7u5mVkEU/r1mdjrRreJ2Zqz3E+zWW2/lK1/5Co8++ijz5s2jq6uL73//+9x4440T3TUZBXenu7ePzp4+uhK9dMWPycudqY89vXQl3t6ns6eP9u4Eew5Hwd50uOOkuneWQWVpIdWzC7nozAqqZ0ej9OrZhVTPmvirY2T6GjL04xr9DcDjRJds3u/uW83sdqDe3euA+4AHzawBaCV6YwD4EHC7mSWAXuBL7t46Ficy1trb21mwYMGJ5ZtuuombbrqJffv2cckll+DumBnXXnvtiTbJNX2A3//+9+Tl5Y1rv0Ozu7Wdjdv3cbij56QAHii8B3vsSvQxmruI5mYbBTnZFORlU1VawNnzS/n42ZVUz3o72CtLC8nLmRJfiJdpZtLdI7e2ttZTb6Kyfft2li9fPkE9GlvT+dzGy8G2Ln75SjMbtjSx+c1DJ9bn5WSRn5NFQW72sB7zU5cHa5sb1amTH/Nzsse1ni7Sz8w2u3vtUO30jVyZktq6EjyxdS8btjTxVMNBevucs+bN4CuXLeOKc6qYX1ZIlsJX5B0U+jJldCV6eXLHATa81MRvtu2jK9HH/LJCvvih07lyVRVnzZs50V0UmfSmTOj318ynk8lWWpuMevuc5//UQt2WJn75SjNHOxPMLs7jM+dVs2ZVFe9dOGva/bsQGUtTIvQLCgpoaWmZVtMr98+nX1BQMNFdmXTcnVf3HGXDlj088nIT+452UZyXzaUr53HlqiouXDKH3Gx9CCoyElMi9BcsWEBjYyMHDhyY6K5kVP+dsySy80AbdS81UbeliZ0Hj5ObbXx42VzWrKpi9VmnUZg3/G+SisjJpkTo5+bm6u5S09S+o5088lITdS818XLjEczgfYvLuf5Dp3P5uyqn3ZwpIhNtSoS+TC9H2nv41dboEstnd7bgDmfPL+Wr/245nzininmlKnmJjBWFvoyLzp5eNm7fz4Yte/jXHQfo7u1j8Zxibrx4KVeuquKMipKJ7qJIEBT6MmYSvX08/UYLG7bs4fFX93K8u5e5M/L53J8tYs2qKs6eXzptPpgXmSoU+pJR7s4f3jpM3ZY9PPpyMy3Hu5lRkMMnzqlizaoqLji9XN9YFZlACn3JiD/uO8aGLXvYsKWJxkMd5Odkccny07hyVRUfXlYxojncRSTzFPoyYo2H2nnkpWY2bNnDa3uPkZ1lXLhkDv/lkjP52MrTmDFFpv8VCYlCX4al9Xg3v3ilmbote3hhVzS52XsXlnHblSv5+NmVurORyCSn0JchHe9K8Ott+9iwZQ+/e/0giT5n6dwSvnzpMq58d1V8xyQRmQoU+jKg7kQf//bHaHKzX2/bS2dPNLnZf/jg6axZVcVZ82boyhuRKUihLye0dyd46vWDbNy+n19t3cuRjh5mFeWy9twFrFk1n3MXztJ0xSJTnEI/cE2HO9j42n42bd/H02+00J3oY0Z+DquXz2XNqvl8YKkmNxOZThT6genrc17Zc4SN2/fxm+372dZ8FIBF5UX85QWLWL18LufVzNat/ESmKYV+AJLLNpt27OfAsS6yDM5dNItbLj+LS5bP5YyKEtXoRQKg0J+m+ss2G7fv45mkss2HllVwyfK5fPjMucwq1k3aRUKj0J8m+vqcl/ccYZPKNiJyCgr9KWywsk3totkq24jIgBT6U4zKNiIyGgr9Sa6/bLNx+z42DlC2uWT5XGpVthGRNCn0JyGVbURkrCj0JwmVbURkPCj0J0g6ZZvzFs/Wt2FFJKMU+uOovTvB714/yKYByja3Xn4Wq1W2EZExptAfYyrbiMhkotDPsOSyzW+272e7yjYiMoko9DOgv2yzcfs+Nr12gINtqWWb0zijolhlGxGZcAr9ERqwbFOQw0VnVrBaZRsRmaTSCn0zuwz4LpAN/MDd/yFlez7wAHAu0AJ8xt13JW1fCGwDvu7ud2am6+NLZRsRmQ6GDH0zywbuAT4KNAIvmFmdu29LanYdcMjdl5jZOuAO4DNJ2+8CHstct8eHyjYiMt2kM9I/H2hw950AZvYQsIZo5N5vDfD1+PnDwN1mZu7uZvZJYCdwPGO9HkNNhzuia+df2/+Oss0ly0/jojMrVLYRkSkrndCfD+xOWm4ELhisjbsnzOwIUG5mHcDfEv2VcPNgL2Bm1wPXAyxcuDDtzmdCX5/zUuNhNr22X2UbEZn20gn9gWoXnmab24C73L3tVCUQd78XuBegtrY29dgZd7wrwVMNKtuISHjSCf1GoDppeQHQNEibRjPLAUqBVqK/CNaa2beAMqDPzDrd/e5R93yY9hzuOHGDkWd3qmwjImFKJ/RfAJaa2WJgD7AOuDqlTR2wHngWWAtscncHPtjfwMy+DrSNV+D3l202bt/PxtfeLtvUlBfxufctYvVZKtuISHiGDP24Rn8D8DjRJZv3u/tWM7sdqHf3OuA+4EEzayAa4a8baYc6unt5ufHwKfpz6v2bj3Sy6TWVbUREBmI+VIqOs/zKpV65/jujOkZy2ebDyyooK1LZRkSmNzPb7O61Q7WbdN/IXVRexD+tP3W/TzVQn1GQy6rqMpVtREQGMOlCf2ZBLquXnzbR3RARmZY0HBYRCYhCX0QkIAp9EZGAKPRFRAKi0BcRCYhCX0QkIAp9EZGAKPRFRAKi0BcRCYhCX0QkIAp9EZGAKPRFRAKi0BcRCYhCX0QkIAp9EZGAKPRFRAKi0BcRCYhCX0QkIAp9EZGAKPRFRAKi0BcRCYhCX0QkIAp9EZGAKPRFRAKi0BcRCYhCX0QkIAp9EZGAKPRFRAKi0BcRCYhCX0QkIGmFvpldZmY7zKzBzG4ZYHu+mf003v68mdXE6883sy3xz0tm9u8z230RERmOIUPfzLKBe4DLgRXAVWa2IqXZdcAhd18C3AXcEa9/Fah191XAZcD3zSwnU50XEZHhSWekfz7Q4O473b0beAhYk9JmDfCj+PnDwGozM3dvd/dEvL4A8Ex0WkRERiad0J8P7E5abozXDdgmDvkjQDmAmV1gZluBV4AvJb0JnGBm15tZvZnVHzhwYPhnISIiaUkn9G2Adakj9kHbuPvz7r4SOA+41cwK3tHQ/V53r3X32oqKijS6JCIiI5FO6DcC1UnLC4CmwdrENftSoDW5gbtvB44D7xppZ0VEZHTSCf0XgKVmttjM8oB1QF1Kmzpgffx8LbDJ3T3eJwfAzBYBy4BdGem5iIgM25BX0rh7wsxuAB4HsoH73X2rmd0O1Lt7HXAf8KCZNRCN8NfFu38AuMXMeoA+4K/d/eBYnIiIiAzN3CfXBTW1tbVeX18/0d0QEZlSzGyzu9cO1U7fyBURCYhCX0QkIAp9EZGAKPRFRAKi0BcRCYhCX0QkIAp9EZGAKPRFRAKi0BcRCYhCX0QkIAp9EZGAKPRFRAKi0BcRCYhCX0QkIAp9EZGAKPRFRAKi0BcRCYhCX0QkIAp9EZGAKPRFRAKi0BcRCYhCX0QkIAp9EZGAKPRFRAKi0BcRCYhCX0QkIAp9EZGAKPRFRAKi0BcRCYhCX0QkIAp9EZGAKPRFRAKSVuib2WVmtsPMGszslgG255vZT+Ptz5tZTbz+o2a22cxeiR8vzmz3RURkOIYMfTPLBu4BLgdWAFeZ2YqUZtcBh9x9CXAXcEe8/iBwhbufDawHHsxUx0VEZPjSGemfDzS4+0537wYeAtaktFkD/Ch+/jCw2szM3V9096Z4/VagwMzyM9FxEREZvnRCfz6wO2m5MV43YBt3TwBHgPKUNn8BvOjuXakvYGbXm1m9mdUfOHAg3b6LiMgwpRP6NsA6H04bM1tJVPL54kAv4O73unutu9dWVFSk0SURERmJdEK/EahOWl4ANA3WxsxygFKgNV5eAPw/4Bp3f2O0HRYRkZFLJ/RfAJaa2WIzywPWAXUpbeqIPqgFWAtscnc3szLgF8Ct7v50pjotIiIjM2ToxzX6G4DHge3Az9x9q5ndbmZXxs3uA8rNrAG4Cei/rPMGYAnwNTPbEv/MzfhZiIhIWsw9tTw/sWpra72+vn6iuyEiMqWY2WZ3rx2qnb6RKyISEIW+iEhAFPoiIgFR6IuIBEShLyISEIW+iEhAFPoiIgFR6IuIBEShLyISEIW+iEhAFPoiIgFR6IuIBEShLyISEIW+iEhAFPoiIgFR6IuIBEShLyISEIW+iEhAFPoiIgFR6IuIBEShLyISEIW+iEhAFPoiIgFR6IuIBEShLyISEIW+iEhAFPoiIgFR6IuIBEShLyISEIW+iEhAFPoiIgFR6IuIBCSt0Dezy8xsh5k1mNktA2zPN7OfxtufN7OaeH25mf3WzNrM7O7Mdl1ERIZryNA3s2zgHuByYAVwlZmtSGl2HXDI3ZcAdwF3xOs7ga8BN2esxyIiMmLpjPTPBxrcfae7dwMPAWtS2qwBfhQ/fxhYbWbm7sfd/Smi8BcRkQmWTujPB3YnLTfG6wZs4+4J4AhQnm4nzOx6M6s3s/oDBw6ku5uIiAxTOqFvA6zzEbQZlLvf6+617l5bUVGR7m4iIjJM6YR+I1CdtLwAaBqsjZnlAKVAayY6KCIimZNO6L8ALDWzxWaWB6wD6lLa1AHr4+drgU3unvZIX0RExkfOUA3cPWFmNwCPA9nA/e6+1cxuB+rdvQ64D3jQzBqIRvjr+vc3s13ATCDPzD4JfMzdt2X+VEREZChDhj6Au/8S+GXKur9Let4JfGqQfWtG0T8REckgfSNXRCQgCn0RkYAo9EVEAqLQFxEJiEJfRCQgCn0RkYAo9EVEAqLQFxEJiEJfRCQgCn0RkYAo9EVEAqLQFxEJiEJfRCQgCn0RkYAo9EVEAqLQFxEJiEJfRCQgCn0RkYAo9EVEAqLQFxEJiEJfRCQgCn0RkYAo9EVEAqLQFxEJiEJfRCQgCn0RkYAo9EVEAqLQFxEJiEJfRCQgCn0RkYAo9EVEAqLQFxEJSFqhb2aXmdkOM2sws1sG2J5vZj+Ntz9vZjVJ226N1+8ws0sz13URERmuIUPfzLKBe4DLgRXAVWa2IqXZdcAhd18C3AXcEe+7AlgHrAQuA74XH09ERCZAOiP984EGd9/p7t3AQ8CalDZrgB/Fzx8GVpuZxesfcvcud/8T0BAfT0REJkBOGm3mA7uTlhuBCwZr4+4JMzsClMfrn0vZd37qC5jZ9cD18WKbme1I2lwKHEmjn/3mAAeH0V4GNtzf+2QzGfo/nn0Yi9fK1DFHe5yR7h9adixKp1E6oW8DrPM026SzL+5+L3DvgC9udq+7Xz/QtkHa17t7bbrtZWDD/b1PNpOh/+PZh7F4rUwdc7THGen+yo6BpVPeaQSqk5YXAE2DtTGzHKJ32NY09x3KI8NsL5kx1X/vk6H/49mHsXitTB1ztMcZ6f6T4d/ApGPu7xh4n9wgCvE/AquBPcALwNXuvjWpzd8AZ7v7l8xsHfDn7v5pM1sJ/ISojl8FbASWunvvmJwN4bxbi0hmhZIdQ5Z34hr9DcDjQDZwv7tvNbPbgXp3rwPuAx40swaiEf66eN+tZvYzYBuQAP5mLAM/NmCZSERkCEFkx5AjfRERmT70jVwRkYAo9EVEAjJlQt/MCs3sSTNbZGabzWyLmW01sy8ltTnXzF6Jp334x/gLYqnHucHM/mp8ey8iYy0pI7LN7FdmdtjMHk1pszieKub1eOqYvHj9qKaSMbPfmNmssTy/TJkyoQ9cC/wcaAbe7+6riL4kdouZVcVt/onoS15L45/LBjjO/cCNY99dERln1wI/jy8W+TbwuQHa3AHc5e5LgUNEU8jA6KeSeRD46wyey5iZSqH/WWCDu3e7e1e8Lp/4HMysEpjp7s969On0A8AnUw/i7u3ALjPTdBAi08tngQ0A7r4ROJa8Mf7L/2KiqWIgmjqmPyNGO5VMHXBV5k5l7EyJ0I//BDvd3XfFy9Vm9jLR1A93uHsT0fQOjUm7DTjlQ6we+ODY9VhExlNqRgyiHDjs7ol4OTkjTppKhmj6hnIGnobmHbni7oeAfDMrH8VpjIspEfpEc2Ic7l9w993ufg6wBFhvZqeR5pQPsf1EXxYTkenhpIwYxKkyYlRTycSmRK5MldDvAApSV8Yj/K1Eo/ZGomke+p1qyoeC+JgiMj0MmBEpDgJl8SwDcHJGZGIqmSmRK1Mi9OM/nbLNrMDMFphZIUD8afmFwA53bwaOmdn74lrcNcT1vfiKnRuSDnkm8Or4noWIjJXkjDhFGwd+C6yNV60nzgiimvz6+PlaYFPcvg5YF1/ds5joApHfA5jZRjObHz83YB6wK5PnNRamROjHngA+ACwHnjezl4AngTvd/ZW4zX8EfkD0YcsbwGPx+rOAlqRjXQj8Zjw6LSLjpj8jMLPfAf9M9IFsY9Klln8L3BRPGVNONIUM8WN5vP4m4BaIppIB+qeS+RXxVDJmlkVUXm6N9z8XeC7p84JJa8pMw2Bm7wFucveBLsMaat9HiSaB6x7NcURk8hrP/9tm9i7gWne/KV7+LlAXXzU0qU2Zkb67vwj8diS3W3T3T8R3/YLoA5+vZbRzIjLhRpMRI3itV/sDP/bqVAh8mEIjfRERGb0pM9IXEZHRU+iLiAREoS8iEhCFvsgomdnXzezmie6HSDoU+iJJLKL/FzJt6R+3BM/Masxsu5l9D/gDcJ+Z1cf3a7gtqd0uM7vNzP4Q37fhrAGO9QUze6z/W+Mik41CXySyDHjA3d8D/Fd3rwXOAS4ys3OS2h109/cS3bvhpJJOPNXHFcAn3X3Sz8EiYVLoi0TedPfn4uefNrM/AC8S3TxjRVK7n8ePm4GapPWfAy4H/iLpfg8ik45CXyRyHKLb6RGN4FfH03f/gpNnb+wP9F4gJ2n9q0RvAskzvYpMOgp9kZPNJHoDOBLfp+HyNPd7EfgiUJd0+06RSUehL5LE3V8iCvCtRPdTfnoY+z5F9FfCL8xsztj0UGR0NPeOiEhANNIXEQmIQl9EJCAKfRGRgCj0RUQCotAXEQmIQl9EJCAKfRGRgPx/mc4u2h7VOpYAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "report_results('rank', {lbl: v.sort_index() for lbl, scr in rank_scores.items() for k, v in scr.items()});" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'AMZe': {'LCE': {'rank': 100}}, 'AMZvg': {'LCE': {'rank': 2500}}}" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rank_config" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### saving data" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "save_results(f'{experiment_name}_rank', config=rank_config, tuning=rank_scores)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## cross-validation" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "result = {}\n", "for label in track(data_labels):\n", " models = prepare_recommender_models(label, data_models, [lce_init_config, config, rank_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=label))\n", " save_cv_training_time(experiment_name, models, label)" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAEWCAYAAACKSkfIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAFrhJREFUeJzt3XuQXOWZ3/HvowvSshiBhdgsCBh5UWwkwGDLMlkw3iAWi2KN2I2IhZ1CXGzY8pI4ZjERKe4hYGwquByzlVCBIGQwImBvtLEobIOBBRuJ0YJlhEwyyAImXCyNZAUWJCz05I8+Qk0zw/RcezTv91PVpXPe83T3c07N/Obo7e7TkZlIksowptUNSJKGj6EvSQUx9CWpIIa+JBXE0Jekghj6klQQQ1+SCmLoqwgR8VBEbI6ICXVjt0VERsSpDbXfqsbPqtbXRMTrDbdtEbFjmHdDGjBDX6NeRLQBnwISOLVh8/8GFtbVjgNOB57bOZaZMzNzr5034J8A64D/MLSdS4PP0FcJzgQeB26jLuArfwccGxH7VutzgdXAK+/zeP8NeBG4CiAi1kbEn+3cGBHjImJjRHysWj8zIp6PiK6IuCwi1kfEiYOxY1JfGfoqwZnAHdXtMxHxB3XbtgLLgAV1tbf39EAR8W+AY4HPZ+bO6Z3vAWfUlX0G2JiZ/xARM4C/Ab4A/CEwCThwwHsk9ZOhr1EtIo4DDgHuzsxV1KZtPt9QdjtwZkRMAj4N/G0Pj3UMcC1wemZurNt0J3BqROxZrX++GgOYD/xdZj6amW8Bl1ObZpJawtDXaLcQ+FFdSN9JwxRPZj4KTAEuBf5XZr7Z+CARsR/wP4BLMvPxhvt3AGuBz1bBfyq7Qv8AalNBO2vfALoGYb+kfhnX6gakoRIRvwf8S2BsROyco58A7BMRH20o/y61s/B/3s3jjKEW4o9l5n/u4el2TvGMAZ6p/hAAvAx8uKGnyf3bI2ngDH2NZqcBbwNHAG/Vjd9Nbe6+3reBvwce6eZxrgQOAv7ifZ7rLuA/Ah9k11k+wD3A4xHxx0A7tRd/o+k9kAaZ0zsazRYC/z0zX8jMV3begO9Qe2H1nZOezNyUmQ9k918wcSnwIeCVbt6vf3B1/5eBnwN/DCyte9w1wL+m9kfhZeA14DfAtqHYYak34ZeoSMMnIvYCfgtMz8xft7oflcczfWmIRcRnI2LPiPh94Abgl8D61nalUhn60tCbB7xU3aYDC3qYRpKGnNM7klQQz/QlqSAj7i2b++23X7a1tbW6DUnaraxatWpjZk7prW7EhX5bWxvt7e2tbkOSdisR8XwzdU7vSFJBDH1JKoihL0kFGXFz+t353e9+R2dnJ1u3bm11K4Nq4sSJTJ06lfHjx7e6FUmF2C1Cv7Ozkw984AO0tbURMTquVZWZdHV10dnZybRp01rdjqRC7BbTO1u3bmXy5MmjJvABIoLJkyePuv+9SBrZdovQB0ZV4O80GvdJ0si224S+JGngDP0mtLW1sXHjxgHXSFKr7RYv5ErSUGlb9MNWt8D6r58ybM81as/0169fz0c+8hG++MUvcvjhh/OFL3yBn/zkJxx77LFMnz6dlStXsmnTJk477TSOPPJIjjnmGFavXg1AV1cXJ510EkcffTTnn38+9Vci/e53v8vs2bM56qijOP/883n77bdbtYuS1GejNvQBOjo6+MpXvsLq1av51a9+xZ133smjjz7KDTfcwLXXXssVV1zB0UcfzerVq7n22ms588za16ZeddVVHHfccTz55JOceuqpvPDCCwCsXbuWpUuX8thjj/HUU08xduxY7rjjjlbuoiT1yaie3pk2bRpHHHEEADNnzmTOnDlEBEcccQTr16/n+eef59577wXghBNOoKuriy1btvDII4/w/e9/H4BTTjmFfffdF4AHHniAVatW8YlPfAKAN998k/33378FeyZJ/TOqQ3/ChAnvLI8ZM+ad9TFjxrB9+3bGjXvv7u98G2V3b6fMTBYuXMh11103RB1L0tAa1aHfm+OPP5477riDyy67jIceeoj99tuPvffe+53xSy+9lPvuu4/NmzcDMGfOHObNm8dXv/pV9t9/fzZt2sRrr73GIYcc0uI9kfqmtBcvtUvRoX/llVdy9tlnc+SRR7LnnnuyePFiAK644grOOOMMPvaxj/HpT3+agw8+GIAZM2ZwzTXXcNJJJ7Fjxw7Gjx/PTTfdZOhL2m2MuO/InTVrVjZ+icratWs57LDDWtTR0BrN+6aRyzP9XUbLsYiIVZk5q7e6Uf3uHUnSuxn6klQQQ1+SCmLoS1JBDH1JKoihL0kF2S3fpz/Yb7Fq5u1Se+21F6+//vp7xm+//Xa+8Y1vkJlkJueccw4XXXQRZ511Fg8//DCTJk0CYM899+RnP/vZoPYtSX21W4b+SHHffffxrW99ix/96EcccMABbN26lSVLlryz/Zvf/Cbz589vYYeS9G5O7wzAddddxw033MABBxwAwMSJE/nSl77U4q4kqWee6Q/A008/zcc//vEet3/ta1/jmmuuAWpX+fQyzK01Wj55KQ2EoT+EnN6RNNI4vTMAM2fOZNWqVa1uQ5Ka1lToR8TciHg2IjoiYlE32ydExNJq+4qIaKvG2yLizYh4qrr9l8Ftv7UuueQSLr74Yl555RUAtm3bxre//e0WdyVJPet1eicixgI3AX8KdAJPRMSyzHymruxcYHNmHhoRC4Drgc9V257LzKMGs+lWzIu+8cYbTJ069Z31Cy+8kAsvvJBXX32VE088kcwkIjjnnHPeqamf0wdYuXIle+yxx7D2LUn1mpnTnw10ZOY6gIi4C5gH1If+PODKavke4DvR3VdP7cZ27NjR7fjZZ5/N2Wef/Z7x2267bYg7kqS+a2Z650Dgxbr1zmqs25rM3A5sASZX26ZFxJMR8XBEfKq7J4iI8yKiPSLaN2zY0KcdkCQ1r5nQ7+6MvfGbV3qqeRk4ODOPBi4E7oyIvd9TmHlzZs7KzFlTpkxpoiVJUn80E/qdwEF161OBl3qqiYhxwCRgU2Zuy8wugMxcBTwH/NP+NDrSvuFrMIzGfZI0sjUT+k8A0yNiWkTsASwAljXULAMWVsvzgQczMyNiSvVCMBHxIWA6sK6vTU6cOJGurq5RFZKZSVdXFxMnTmx1K5IK0usLuZm5PSIuAO4HxgK3ZuaaiLgaaM/MZcAtwJKI6AA2UfvDAHA8cHVEbAfeBv4yMzf1tcmpU6fS2dnJaJvvnzhx4rveESRJQ62pT+Rm5nJgecPY5XXLW4HTu7nfvcC9A+yR8ePHM23atIE+jCQVz0/kSlJBDH1JKoihL0kFMfQlqSCGviQVxNCXpIIY+pJUEENfkgpi6EtSQQx9SSqIoS9JBTH0Jakghr4kFcTQl6SCGPqSVBBDX5IKYuhLUkEMfUkqiKEvSQUx9CWpIIa+JBXE0Jekghj6klSQca1uQEOrbdEPW90CAOu/fkqrW5CEZ/qSVBRDX5IKYuhLUkEMfUkqSFOhHxFzI+LZiOiIiEXdbJ8QEUur7Ssioq1h+8ER8XpEXDQ4bUuS+qPX0I+IscBNwMnADOCMiJjRUHYusDkzDwVuBK5v2H4jcN/A25UkDUQzZ/qzgY7MXJeZbwF3AfMaauYBi6vle4A5EREAEXEasA5YMzgtS5L6q5nQPxB4sW69sxrrtiYztwNbgMkR8fvAvwOuer8niIjzIqI9Ito3bNjQbO+SpD5qJvSjm7FssuYq4MbMfP39niAzb87MWZk5a8qUKU20JEnqj2Y+kdsJHFS3PhV4qYeazogYB0wCNgGfBOZHxDeAfYAdEbE1M78z4M4lSX3WTOg/AUyPiGnA/wUWAJ9vqFkGLAR+DswHHszMBD61syAirgReN/AlqXV6Df3M3B4RFwD3A2OBWzNzTURcDbRn5jLgFmBJRHRQO8NfMJRNS5L6p6kLrmXmcmB5w9jldctbgdN7eYwr+9GfJGkQ+YlcSSqIoS9JBTH0Jakghr4kFcTQl6SCGPqSVBBDX5IKYuhLUkEMfUkqiKEvSQUx9CWpIIa+JBXE0Jekghj6klQQQ1+SCmLoS1JBDH1JKoihL0kFMfQlqSCGviQVxNCXpIIY+pJUEENfkgpi6EtSQQx9SSqIoS9JBTH0Jakghr4kFaSp0I+IuRHxbER0RMSibrZPiIil1fYVEdFWjc+OiKeq2y8i4s8Ht31JUl/0GvoRMRa4CTgZmAGcEREzGsrOBTZn5qHAjcD11fjTwKzMPAqYC/zXiBg3WM1LkvqmmTP92UBHZq7LzLeAu4B5DTXzgMXV8j3AnIiIzHwjM7dX4xOBHIymJUn900zoHwi8WLfeWY11W1OF/BZgMkBEfDIi1gC/BP6y7o/AOyLivIhoj4j2DRs29H0vJElNaWaqJboZazxj77EmM1cAMyPiMGBxRNyXmVvfVZh5M3AzwKxZswb8v4G2RT8c6EMMivVfP6XVLUjSuzRzpt8JHFS3PhV4qaeaas5+ErCpviAz1wL/CBze32YlSQPTTOg/AUyPiGkRsQewAFjWULMMWFgtzwcezMys7jMOICIOAT4MrB+UziVJfdbr9E5mbo+IC4D7gbHArZm5JiKuBtozcxlwC7AkIjqoneEvqO5+HLAoIn4H7AC+nJkbh2JHJEm9a+rtk5m5HFjeMHZ53fJW4PRu7rcEWDLAHiVJg8RP5EpSQQx9SSqIoS9JBTH0Jakghr4kFcTQl6SCGPqSVBBDX5IKYuhLUkEMfUkqiKEvSQUx9CWpIIa+JBXE0Jekghj6klQQQ1+SCmLoS1JBDH1JKoihL0kFMfQlqSCGviQVxNCXpIIY+pJUEENfkgpi6EtSQQx9SSqIoS9JBWkq9CNibkQ8GxEdEbGom+0TImJptX1FRLRV438aEasi4pfVvycMbvuSpL7oNfQjYixwE3AyMAM4IyJmNJSdC2zOzEOBG4Hrq/GNwGcz8whgIbBksBqXJPVdM2f6s4GOzFyXmW8BdwHzGmrmAYur5XuAORERmflkZr5Uja8BJkbEhMFoXJLUd82E/oHAi3XrndVYtzWZuR3YAkxuqPkXwJOZua3xCSLivIhoj4j2DRs2NNu7JKmPmgn96GYs+1ITETOpTfmc390TZObNmTkrM2dNmTKliZYkSf3RTOh3AgfVrU8FXuqpJiLGAZOATdX6VOAHwJmZ+dxAG5Yk9V8zof8EMD0ipkXEHsACYFlDzTJqL9QCzAcezMyMiH2AHwKXZOZjg9W0JKl/eg39ao7+AuB+YC1wd2auiYirI+LUquwWYHJEdAAXAjvf1nkBcChwWUQ8Vd32H/S9kCQ1ZVwzRZm5HFjeMHZ53fJW4PRu7ncNcM0Ae5QkDRI/kStJBTH0Jakghr4kFcTQl6SCGPqSVBBDX5IKYuhLUkEMfUkqiKEvSQUx9CWpIIa+JBXE0Jekghj6klQQQ1+SCmLoS1JBDH1JKoihL0kFMfQlqSCGviQVxNCXpIIY+pJUEENfkgpi6EtSQQx9SSqIoS9JBTH0Jakghr4kFcTQl6SCNBX6ETE3Ip6NiI6IWNTN9gkRsbTaviIi2qrxyRHx04h4PSK+M7itS5L6qtfQj4ixwE3AycAM4IyImNFQdi6wOTMPBW4Erq/GtwKXARcNWseSpH5r5kx/NtCRmesy8y3gLmBeQ808YHG1fA8wJyIiM/8xMx+lFv6SpBZrJvQPBF6sW++sxrqtycztwBZgcrNNRMR5EdEeEe0bNmxo9m6SpD5qJvSjm7HsR02PMvPmzJyVmbOmTJnS7N0kSX3UTOh3AgfVrU8FXuqpJiLGAZOATYPRoCRp8DQT+k8A0yNiWkTsASwAljXULAMWVsvzgQczs+kzfUnS8BjXW0Fmbo+IC4D7gbHArZm5JiKuBtozcxlwC7AkIjqoneEv2Hn/iFgP7A3sERGnASdl5jODvyuSpN70GvoAmbkcWN4wdnnd8lbg9B7u2zaA/iRJg8hP5EpSQQx9SSqIoS9JBTH0Jakghr4kFcTQl6SCGPqSVBBDX5IKYuhLUkEMfUkqiKEvSQUx9CWpIIa+JBXE0Jekghj6klQQQ1+SCmLoS1JBDH1JKoihL0kFMfQlqSCGviQVxNCXpIIY+pJUEENfkgpi6EtSQQx9SSqIoS9JBTH0JakgTYV+RMyNiGcjoiMiFnWzfUJELK22r4iItrptl1Tjz0bEZwavdUlSX/Ua+hExFrgJOBmYAZwRETMays4FNmfmocCNwPXVfWcAC4CZwFzgb6rHkyS1QDNn+rOBjsxcl5lvAXcB8xpq5gGLq+V7gDkREdX4XZm5LTN/DXRUjydJaoFxTdQcCLxYt94JfLKnmszcHhFbgMnV+OMN9z2w8Qki4jzgvGr19Yh4tqnuh9Z+wMaBPEBcP0idtJ7HYpcBHYtRdBzAY1FvJByLQ5opaib0o5uxbLKmmfuSmTcDNzfRy7CJiPbMnNXqPkYCj8UuHotdPBa77E7HopnpnU7goLr1qcBLPdVExDhgErCpyftKkoZJM6H/BDA9IqZFxB7UXphd1lCzDFhYLc8HHszMrMYXVO/umQZMB1YOTuuSpL7qdXqnmqO/ALgfGAvcmplrIuJqoD0zlwG3AEsiooPaGf6C6r5rIuJu4BlgO/BXmfn2EO3LYBtR000t5rHYxWOxi8dil93mWETthFySVAI/kStJBTH0Jakghn6DiLg1In4TEU+3updWioiJEbEyIn4REWsi4qpW9zTcuvtZiIgPRsSPI+L/VP/u28oeh0NEHBQRP42ItdXPwleq8RKPRbe/F9UbXVZUx2Jp9aaXEcnQf6/bqF0yonTbgBMy86PAUcDciDimxT0Nt9t478/CIuCBzJwOPFCtj3bbgb/OzMOAY4C/qi6xUuKx6On34nrgxupYbKZ2aZoRydBvkJmPUHsHUtGy5vVqdXx1K+pV/x5+FuovObIYOG1Ym2qBzHw5M/+hWn4NWEvtk/UlHouefi9OoHYJGhjhx8LQV48iYmxEPAX8BvhxZq5odU8jwB9k5stQC0Ng/xb3M6yqK+geDayg0GPR+HsBPAf8NjO3VyXdXm5mpDD01aPMfDszj6L2SerZEXF4q3tS60TEXsC9wL/NzP/X6n5apfH3Ajisu7Lh7ap5hr56lZm/BR7C1zoAXo2IPwSo/v1Ni/sZFhExnlrg35GZ36+GizwWO9X9XhwD7FNdggZG+OVmDH11KyKmRMQ+1fLvAScCv2ptVyNC/SVHFgL/s4W9DIvqMum3AGsz8z/VbSrxWHT3e7EW+Cm1S9DACD8WfiK3QUR8D/gTapdKfRW4IjNvaWlTLRARR1J7QWostZODuzPz6tZ2Nby6+1kA/ha4GzgYeAE4PTNH9Qv/EXEc8PfAL4Ed1fC/pzavX9qx6Pb3IiI+RO27Rj4IPAn8q8zc1rpOe2boS1JBnN6RpIIY+pJUEENfkgpi6EtSQQx9SSqIoa9iRcQ+EfHlVvchDSdDXyXbBzD0VZRevyNXGsW+DvxRdfGsH1djJ1O7bso1mbk0Iv4EuBroAj4MPAJ8OTN31D9QRJwFnArsCfwR8IPMvHg4dkLqC8/0VbJFwHPVxbMep3Z99I9S+2j9N3deV4baRbX+GjiCWqD/RQ+PdxTwuarucxFx0BD2LvWLoS/VHAd8r7qC4qvAw8Anqm0rM3NdZr4NfK+q7c4DmbklM7cCzwCHDHnXUh8Z+lJNvM+2xmuVZET8eUQ8Vd1mVeP111p5G6dPNQIZ+irZa8AHquVHqE3JjI2IKcDxwMpq2+zqO1DHUJu+eTQzf5CZR1W39uFvXeofQ1/Fyswu4LHqi8//GbAa+AXwIHBxZr5Slf6c2ou+TwO/Bn7QgnalQeFVNqX3Ub1756LM/LNW9yINBs/0JakgnulLUkE805ekghj6klQQQ1+SCmLoS1JBDH1JKsj/B3g8nUKfkqa/AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "report_results('topn', result, target_metric);" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AMZeAMZvg
typemetric
relevancehr0.0309300.116132
rankingmrr0.0147870.051645
\n", "
" ], "text/plain": [ " AMZe AMZvg\n", "type metric \n", "relevance hr 0.030930 0.116132\n", "ranking mrr 0.014787 0.051645" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.concat({lbl: res.mean(level='top-n').loc[10, :'ranking'] for lbl, res in result.items()}, axis=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### saving data" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "save_results(experiment_name, cv=result)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Cold start" ] }, { "cell_type": "raw", "metadata": {}, "source": [ "import gc\n", "del data_models, models\n", "gc.collect()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def prepare_cold_start_recommender_models(data_label, data_models, config):\n", " data_model = data_models[data_label]\n", " lce = LCEModelItemColdStart(data_model, item_features=meta_dict[data_label])\n", " lce.method = 'LCE(cs)'\n", " models = [lce]\n", " apply_config(models, config, data_label)\n", " return models" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## tuning" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "config_cold = {}\n", "scores_cold = {}\n", "data_models_cold = {}" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'seed': 42,\n", " 'max_iterations': 75,\n", " 'alpha': 0.1,\n", " 'beta': 0.05,\n", " 'max_neighbours': 10}" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lce_init_config['AMZe']['LCE(cs)']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### $\\alpha, \\beta$" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "_config_cold = {}\n", "for label in track(data_labels):\n", " # reuse regularization param from standard scenario\n", " _config_cold[label] = {f'{k}(cs)' if k=='LCE' else k: v for k, v in _config[label].items()}\n", " data_models_cold[label] = prepare_cold_start_data_model(label, *all_data, seed)\n", " model, = prepare_cold_start_recommender_models(label, data_models_cold, [lce_init_config, _config_cold])\n", " config_cold[label], scores_cold[label] = fine_tune_lce(model, coeffs, label, record_time_as=None)\n", " # make sure to save all parameters\n", " config_cold[label][model.method].update(_config_cold[label][model.method])\n", "del model" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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9DpkfVyccflXBvCbN5azYstuhvVMb4ZWSiRvvvkm999/P++88w69e/emuLiYp556qmr9b3/7Wy666KJDyt19993MnFn9ZEvdvv/973P33Xfzxz/+sVHtjqRVzWUk0lb99+vLKSk/wO3nD69xYPCiMX357Tsrefrj9fz6gpGHuYUty69eXcqyTbtjWmd273R+cd7wepe78847ueeee+jduzcQuhfgu9/9bq1lVq1aRXJyMl27dgVg69atfO9732PNmjUAPPLIIxx77LFccskl5OfnU1FRwa233sq3v/1tTjnlFKZOnUp5eTkJCbE9hGvqCpFm9u/VO3j5k01cc9pABnaLfEoCoFOHJM47pjcvLdjInpLyw9hCqc2SJUsYM2ZMjet//OMfV50yuuyyywD48MMPGT16dFWe66+/ntNOO41FixaxYMEChg8fzltvvUXv3r1ZtGgRS5YsYcKECQDExcUxaNAgFi1aFPN9UQ9BpBmVlh/g1peX0K9zO64945D7Nw9x+fH9eXFBPi8t3MgVxw84DC1smRryS765RDpltHnzZsIvo3/vvfd48sknAYiPjycjI4ORI0dy44038tOf/pRzzz2XU045pSp/9+7d2bRpU62BqCHUQxBpRo/OXsPq7Xu5feIIUhLj68w/ql9HRvRJ5+mP1qOnHbYMw4cPZ/78+fUq065duzpvIBsyZAjz589n5MiR3HzzzQcNQBcXF9OuXbsGtbc2CggizSS/cB8PvvsZZw/vEfW0FGahweWVW4vIXV/YxC2UaNx888385Cc/YcuW0CXBJSUlPPjgg7WWOfroo8nLy6t6P378eB555BEAKioq2L17N5s2baJ9+/Zcfvnl3HjjjSxYsKAq/6pVqxg+PPa9JAUEkWbyq1eXYRi31fP0x8RRvUlLSeCpj3QJ6uG2b98++vbtW/W69957+frXv861117LmWeeyfDhwxkzZgzl5V+O8YSPIYwaNYrS0lJOPfVUFi5cWNXLe+CBB5g1axYjR45kzJgxLF26lE8//ZRx48YxatQofvOb33DLLbcAoQHodu3a0avXoVejNZbGEESawT+WbeXvy7Zy0znD6NOxfl3/9kkJfGt0X/4yZz079mTTNTW5iVop1R04cCBi+lVXXcVVV111SPqf//zniPmTkpI488wzeffddznzzDPp0aMHr7zyyiH5zj777EPS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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "report_results('tuning', scores_cold);" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'AMZe': {'LCE(cs)': {'alpha': 0.3,\n", " 'beta': 0.3,\n", " 'regularization': 30,\n", " 'rank': 40}},\n", " 'AMZvg': {'LCE(cs)': {'alpha': 0.3,\n", " 'beta': 0.05,\n", " 'regularization': 10,\n", " 'rank': 40}}}" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "config_cold" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### saving data" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "save_results(f'{experiment_name}_coldstart_param', config=config_cold, tuning=scores_cold)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## rank estimation" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "rank_config_cold = {}\n", "rank_scores_cold = {}" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "for label in track(data_labels):\n", " model, = prepare_cold_start_recommender_models(label, data_models_cold,\n", " [lce_init_config, config_cold]) # initiate with optimal config\n", " rank_config_cold[label], rank_scores_cold[label] = fine_tune_lce(model, {'rank': lce_ranks[label]},\n", " label, ntrials=0)\n", "del model" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "image/png": "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PQGsAyqAG9y9EiBam8FL/h74AHgrMh7OU+5+R7MdsYiINIhF3vgf3TIyMjwrK6u1uyEiclQxsxXunlFfPX0yW0REQikoREQklIJCRERCKShERCSUgkJEREIpKEREJJSCQkREQikoREQklIJCRERCKShERCSUgkJEREIpKEREJJSCQkREQikoREQklIJCRERCKShERCSUgkJEREIpKEREJJSCQkREQsUUFGY2w8xyzCzXzG6Lsr2LmT0ebF9qZsNrbJsblOeY2fT62jSzG4MyN7N+TTs8ERFpqnqDwszigHuB84E04DIzS6tV7Wpgp7uPBO4G7gz2TQNmA+nADOA+M4urp803gGnAB008NhERaQaxXFFMBnLdPc/dDwLzgZm16swEHgkeLwCmmpkF5fPdvczdNwK5QXt1tunuq9x9UxOPS0REmkksQTEY2FLjeX5QFrWOu1cAJUBiyL6xtBnKzK41sywzyyosLGzIriIi0gCxBIVFKfMY6zS0PGbu/oC7Z7h7RlJSUkN2FRGRBoglKPKBoTWeDwG21lXHzDoCCUBxyL6xtCkiIm1ALEGxHEg1sxQz60xkcDqzVp1MYE7weBaw2N09KJ8dzIpKAVKBZTG2KSIibUC9QRGMOdwILATWA0+4e7aZ3WFmFwXVHgISzSwXuBm4Ldg3G3gCWAc8D9zg7pV1tQlgZjeZWT6Rq4y3zezB5jtcERFpKIu88T+6ZWRkeFZW1mFl5eXl5OfnU1pa2kq9atu6du3KkCFD6NSpU2t3RURaiZmtcPeM+up1PBKdaQ35+fn07NmT4cOHE5mpK4e4O0VFReTn55OSktLa3RGRNq7dLuFRWlpKYmKiQiIKMyMxMVFXWyISk3YbFIBCIoR+NiISq3YdFCIi0nQKihbUo0ePqOXz5s3jhBNOID09nbS0NH7xi18AcOWVV5KSksLEiROZOHEip512WvU+Tz/9NHfccUeD+zB79mzee++9xh2AiAgKiiPuueee49e//jUvvPAC2dnZrFy5koSEhOrtd911F6tXr2b16tW8+eab1eU///nPuf766xv8el//+tf5+c9/3ix9F5FjU7ud9VTT7c9ms27r7mZtM21QL354YXqD9/vpT3/KL37xCwYNGgREpqlec801ofts2LCBLl260K9fZNX1goICrrvuOvLy8gC4//77mTBhAl/4whfIz8+n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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "report_results('rank', {lbl: v.sort_index() for lbl, scr in rank_scores_cold.items() for k, v in scr.items()});" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'AMZe': {'LCE(cs)': {'rank': 3000}}, 'AMZvg': {'LCE(cs)': {'rank': 2000}}}" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rank_config_cold" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### saving data" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "save_results(f'{experiment_name}_coldstart_rank', config=rank_config_cold, tuning=rank_scores_cold)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## cross validation" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "result_cold = {}\n", "for label in track(data_labels):\n", " models_cold = prepare_cold_start_recommender_models(label, data_models_cold,\n", " [lce_init_config, config_cold, rank_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=label))" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEWCAYAAAB42tAoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAGJRJREFUeJzt3X+01XW95/HnmwMCLgsL0FLMwyRNgggaOU6ZdsWrNN4ldVdOmBVaKst0WVdHk1YrixF/5erHdM2b9+poqYGjaUxpP9Db+KtAMHBEwk7+yDOaIqClBXbgPX/sL3g87PM5m3MObH48H2udxff7+X6+n/35fNfZvM73x/7syEwkSerOgGZ3QJK0fTMoJElFBoUkqcigkCQVGRSSpCKDQpJUZFBIkooMCqkBEfHLiFgTEYM7lV0fERkRJ3Sp+82q/JRqfVlEvNLlZ11EbNjGw5B6xaCQehARrcAHgARO6LL5cWB6p7oDgROB328sy8xxmbnHxh/gbcATwH/fuj2X+odBIfXsU8CvgevpFAqV/w28PyLeUq1PAR4B/lho79+AZ4CvbiyIiH+IiCUR8VJEPBgRB/dX56W+Miiknn0KuKn6OS4i9u60bS0wD5jWqe73umsoIs4B3g98PDM3VGWHAtcBM4DhwHeBeZ0vc0nNZFBIBRFxBLA/cEtmLqZ2SenjXap9D/hURAwDjgLu6Katw4FLgBMz88VOm04HvpuZCzJzfWbeAKwDDu/f0Ui9Y1BIZdOBn3f6j/1mulx+ysz7gZHAl4AfZ+ZfuzYSESOA/wXMzMxfd9m8P3BeddnppYh4CdgP2Kd/hyL1zsBmd0DaXkXEUOC/Ai0RsfGew2Bgz4iY0KX6jcCXgb+r084AagHzQGZ+u85LPQPMzszZ/dZ5qR8ZFFL3PgysB8YDr3Uqv4XavYjO/gdwH3BvnXa+Qu0M4R+7eZ1/BW6PiPnAQmB34IPAvZn55172Xeo3BoXUvenA/8zMP3QujIh/phYM8zeWZeZq4O5u2vkS8DfgjxHRddvYzFwUEacD/wyMAf4K3E/90JG2ufCLiyRJJd7MliQVGRSSpCKDQpJUZFBIkop2iqeeRowYka2trc3uhiTtUBYvXvxiZo7sqd5OERStra0sWrSo2d2QpB1KRDzdSD0vPUmSigwKSVKRQSFJKtop7lHU87e//Y329nbWrl3b7K5sl4YMGcKoUaMYNGhQs7siaTu30wZFe3s7b3rTm2htbaXO/Dq7tMxk1apVtLe3M3r06GZ3R9J2bqe99LR27VqGDx9uSNQREQwfPtyzLUkN2WmDAjAkCjw2khq1UweFJKnvDIomam1t5cUXX+xzHUnamnbam9mStDW0XviTZncBgKcuO36bvZZnFFvoqaee4t3vfjennXYaBx10ECeffDLz58/n/e9/P2PGjGHhwoWsXr2aD3/4wxx88MEcfvjhPPLIIwCsWrWKY489lkMOOYQZM2bQ+UujbrzxRg477DAmTpzIjBkzWL9+fbOGKElvYFD0QltbG5/73Od45JFH+O1vf8vNN9/M/fffz5VXXskll1zCRRddxCGHHMIjjzzCJZdcwqc+Vft65a9+9ascccQR/OY3v+GEE07gD3+ofcPm8uXLmTt3Lg888ABLliyhpaWFm266qZlDlKRNvPTUC6NHj2b8+PEAjBs3jsmTJxMRjB8/nqeeeoqnn36a2267DYCjjz6aVatW8fLLL3Pvvffywx/+EIDjjz+et7zlLQDcfffdLF68mPe+970A/PWvf2WvvfZqwsgkaXMGRS8MHjx40/KAAQM2rQ8YMICOjg4GDtz8sG58HLXeY6mZyfTp07n00ku3Uo8lqfe89LQVHHnkkZsuHf3yl79kxIgRvPnNb35D+V133cWaNWsAmDx5MrfeeisvvPACAKtXr+bppxua/VeStjrPKLaCr3zlK5x66qkcfPDB7L777txwww0AXHTRRZx00kkceuihHHXUUbzjHe8AYOzYsVx88cUce+yxbNiwgUGDBnHVVVex//77N3MYkgRAdH7yZkc1adKk7PrFRcuXL+fAAw9sUo92DB4jacvtTI/HRsTizJzUUz0vPUmSirz0JKlHO9Nf0dpynlFIkooMCklSkUEhSSoyKCRJRbvMzez+vhnnTTVJuwrPKLaiPfbYo2759773PQ466CDGjRvH2LFjufLKKwE45ZRTGD16NBMnTmTixIm8733v27TPHXfcwaxZs7a4D9OmTeN3v/td7wYgSRgU29xdd93FN7/5TX7+85+zbNkyHn74YYYNG7Zp+9e+9jWWLFnCkiVLePDBBzeVX3HFFXz2s5/d4tc788wzueKKK/ql75J2TQ0FRURMiYgVEdEWERfW2T44IuZW2xdERGunbTOr8hURcVxPbUbE5Ih4OCKWRMT9EXFA34a4fbn00ku58sor2WeffQAYMmQIp59+enGfxx9/nMGDBzNixAgAnn/+eT7ykY8wYcIEJkyYwIMPPsirr77K8ccfz4QJEzjooIOYO3cuAB/4wAeYP38+HR0dW3dgknZaPQZFRLQAVwEfAsYCJ0XE2C7VPgOsycwDgG8Al1f7jgWmAeOAKcB3IqKlhzavBk7OzInAzcCX+jbE7cujjz7Ke97znm63n3/++ZsuPZ188skAPPDAAxx66KGb6pxzzjkcddRRLF26lIcffphx48bx05/+lH322YelS5fy6KOPMmXKFKA2o+0BBxzA0qVLt+7AJO20GjmjOAxoy8wnMvM1YA4wtUudqcAN1fKtwOSozac9FZiTmesy80mgrWqv1GYCb66WhwHP9m5oO6bOl542zjT73HPPMXLkyE117rnnHs4880wAWlpaGDZsGOPHj2f+/Pl84Qtf4L777nvD5ay99tqLZ5/dpQ6jpH7USFDsCzzTab29KqtbJzM7gJeB4YV9S22eBtwZEe3AJ4HL6nUqIs6IiEURsWjlypUNDGP7MG7cOBYvXrxF+wwdOpS1a9cW67zrXe9i8eLFjB8/npkzZ77hxvfatWsZOnRor/orSY08Hrv5N+3U/upvpE535fUCamOb/wT8l8xcEBHnA1+nFh5vrJx5DXAN1GaPrd/1120vj7POnDmTCy64gB//+Me87W1vY926dXz3u9/lnHPO6XafAw88kBtvvHHT+uTJk7n66qv5/Oc/z/r163n11Vd55ZVXeOtb38onPvEJ9thjD66//vpN9R9//HHGjRu3NYclaSfWSFC0A/t1Wh/F5peDNtZpj4iB1C4Zre5h383KI2IkMCEzF1Tlc4GfNtDH7dJf/vIXRo0atWn93HPP5dxzz+X555/nmGOOITOJCD796U9vqnP++edz8cUXb1pfuHAhRx55JOedd96m+t/61rc444wzuPbaa2lpaeHqq6/mT3/6E+effz4DBgxg0KBBXH311UDtxvfQoUN5+9vfvu0GLmmn0khQPASMiYjRwP+jdnP6413qzAOmA78CPgrck5kZEfOAmyPi68A+wBhgIbUzjXptrgGGRcS7MvNx4O+B5X0cY9Ns2LChbvmpp57Kqaeeull557OAznbbbTeOOeYY7r77bo455hj2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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "report_results('topn', result_cold, target_metric);" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "data": { "image/png": "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ZyDl/sovvZhfqU63yiUdB5wD3JxzHETE7RHREhEt9fVV38hoZmY5ZQmQDuCEovVRwIuV6kgaCAwHtnfRtlL5KcBooF3SFuCPJLVX2YeZmdVAlgB5HBgjqVHSYAo3xVtL6rQCM9Ly2cDKKDxy1ApMT09QNQJjgDWV+oyIH0fEMRHREBENwOvppnlX+zAzsxqoeg8k3W+YBTwA1AELI2KTpLlAW0S0AguAu9LZwnYKgUCqtxR4CugELouIPQDl+qwylLL7MDOz2sj0RcKIWA4sLym7umh5F4V7F+XazgPmZemzTJ0jsuzDzMz6nqcyMTOzXPr9VCY9PXtmX86EaWZWSz4DqYEjjjiibPmdd97JySefTHNzM01NTdx4440AXHDBBTQ2NjJhwgQmTJjAn/3Zn+1rc9999zF37txuj2H69On88pe/zHcAZmY4QA4a999/P9/61rd48MEH2bRpE0888QTDhw/ft/2b3/zmvjmxHn300X3l3/jGN/jCF77Q7f1deumlfOMb3+iRsZtZ/+QAOUj8wz/8AzfeeCPHHXccAEOHDuXzn/98l22eeeYZhgwZwsiRIwF4+eWX+fSnP8348eMZP348jz76KL/73e8466yzGD9+PCeffDJLliwB4MMf/jArVqygs7Ozdw/MzA5bDpCDxMaNG3n/+99fcfuVV1657xLWZz/7WQAeeeQRTj311H11Lr/8cj7ykY+wfv16nnjiCZqbm/nJT37Ccccdx/r169m4cSNTpkwBCjMEjx49mvXr1/fugZnZYcsBcogovoS1d+bel156ieLpWlauXMmll14KQF1dHcOHD2fs2LGsWLGCr3zlKzz88MP7XRY76qijePHF0kkFzMyycYAcJJqbm1m7dm232gwbNoxdu3Z1Wee9730va9euZezYscyZM2e/G+67du1i2LBhucZrZtbvH+M9WB67nTNnDldddRU/+tGPOOaYY9i9ezff+c53uPzyyyu2ed/73sfdd9+9b33SpEncdtttfOlLX2LPnj387ne/47XXXuPd7343n/vc5zjiiCP2myX4mWeeobm5uTcPy8wOY/0+QGrh9ddfZ9SoUfvWr7jiCq644gpefvllzjjjDCICSfzN3/zNvjpXXnkl11133b71NWvWcPrpp/PlL395X/1//Md/ZObMmSxYsIC6ujpuu+02Xn31Va688koGDBjA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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "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": null, "metadata": {}, "outputs": [], "source": [ "save_results(f'{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.8" } }, "nbformat": 4, "nbformat_minor": 2 }