{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "env: MKL_NUM_THREADS=20\n", "env: OMP_NUM_THREADS=20\n" ] } ], "source": [ "%env MKL_NUM_THREADS=20\n", "%env OMP_NUM_THREADS=20" ] }, { "cell_type": "code", "execution_count": 2, "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", " find_optimal_config,\n", " set_config)\n", "\n", "from scaledsvd import ScaledSVD, ScaledSVDItemColdStart\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": 3, "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": 4, "metadata": {}, "outputs": [], "source": [ "seed = 42" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "experiment_name = 'scaledsvd'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Experiment setup" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "data_labels = ['AMZe', 'AMZvg']" ] }, { "cell_type": "code", "execution_count": 7, "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": 8, "metadata": {}, "outputs": [], "source": [ "scaling_params = [0.2, 0.4, 0.6]" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "topk_values = [1, 3, 10, 20, 30]" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "target_metric = 'mrr'" ] }, { "cell_type": "code", "execution_count": 11, "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": 12, "metadata": {}, "outputs": [], "source": [ "all_data = [data_dict, similarities, sim_indices, meta_dict]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Amazon Electronics" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "lbl = 'AMZe'" ] }, { "cell_type": "code", "execution_count": 14, "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": 15, "metadata": {}, "outputs": [], "source": [ "similarities[lbl], sim_indices[lbl], feature_idx[lbl] = get_similarity_data(meta_dict[lbl])" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.0" ] }, "execution_count": 16, "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": 17, "metadata": {}, "outputs": [], "source": [ "lbl = 'AMZvg'" ] }, { "cell_type": "code", "execution_count": 18, "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": 19, "metadata": {}, "outputs": [], "source": [ "similarities[lbl], sim_indices[lbl], feature_idx[lbl] = get_similarity_data(meta_dict[lbl])" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.0" ] }, "execution_count": 20, "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": 21, "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": 22, "metadata": {}, "outputs": [], "source": [ "def prepare_recommender_models(data_label, data_models, config):\n", " data_model = data_models[data_label]\n", " models = [ScaledSVD(data_model)]\n", " apply_config(models, config, data_label)\n", " return models\n", "\n", "def fine_tune_scaledsvd(model, ranks, scale_params, label, record_time=False):\n", " param_grid = [(s, r) for s in scale_params for r in reversed(list(sorted(ranks)))]\n", " param_names = ('col_scaling', 'rank')\n", " best_svd_config, svd_scores = find_optimal_config(model, param_grid, param_names,\n", " target_metric,\n", " return_scores=True,\n", " force_build=False,\n", " iterator=lambda x: track(x, label=label))\n", " model_config = {model.method: dict(zip(param_names, best_svd_config))}\n", " model_scores = {model.method: svd_scores}\n", " try:\n", " if record_time:\n", " max_rank = max(ranks)\n", " save_training_time(f'{experiment_name}_rank_{max_rank}', model, svd_scores.xs(max_rank, level='rank').index, label)\n", " finally:\n", " return model_config, model_scores" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## tuning" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "config = {}\n", "scores = {}\n", "data_models = {}" ] }, { "cell_type": "code", "execution_count": 24, "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\">[02:43:24<12:03, 4902.09s/it]</span></div>" ], "text/plain": [ "\u001b[A\u001b[A\u001b[2K\r", " [████████████████████████████████████████████████████████████] 2/2 [02:43:24<12:03, 4902.09s/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</span>\n", "<progress style=\"width:45ex\" max=\"78\" value=\"78\" class=\"Progress-main\"/></progress>\n", "<span class=\"Progress-label\"><strong>100%</strong></span>\n", "<span class=\"Iteration-label\">78/78</span>\n", "<span class=\"Time-label\">[02:31:12<00:07, 116.30s/it]</span></div>" ], "text/plain": [ "\u001b[A\u001b[2K\r", " AMZe [█████████████████████████████████████████████] 78/78 [02:31:12<00:07, 116.30s/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</span>\n", "<progress style=\"width:45ex\" max=\"78\" value=\"78\" class=\"Progress-main\"/></progress>\n", "<span class=\"Progress-label\"><strong>100%</strong></span>\n", "<span class=\"Iteration-label\">78/78</span>\n", "<span class=\"Time-label\">[12:02<00:01, 9.26s/it]</span></div>" ], "text/plain": [ "\u001b[A\u001b[2K\r", " AMZvg [█████████████████████████████████████████████] 78/78 [12:02<00:01, 9.26s/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_scaledsvd(ScaledSVD(data_models[label]),\n", " svd_ranks[label],\n", " scaling_params,\n", " label, record_time=True)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/evfro/miniconda3/envs/polara_dev/lib/python3.6/site-packages/pandas/plotting/_core.py:998: UserWarning: Attempted to set non-positive left xlim on a log-scaled axis.\n", "Invalid limit will be ignored.\n", " ax.set_xlim(left, right)\n" ] }, { "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": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'AMZe': {'PureSVDs': {'col_scaling': 0.2, 'rank': 3000}},\n", " 'AMZvg': {'PureSVDs': {'col_scaling': 0.4, 'rank': 300}}}" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "config" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### saving data" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "save_results(experiment_name, config=config, tuning=scores)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## cross-validation" ] }, { "cell_type": "code", "execution_count": 28, "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\">[03:59:04<00:22, 7172.01s/it]</span></div>" ], "text/plain": [ "\u001b[A\u001b[A\u001b[2K\r", " [████████████████████████████████████████████████████████████] 2/2 [03:59:04<00:22, 7172.01s/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:58:42<47:27, 2864.49s/it]</span></div>" ], "text/plain": [ "\u001b[A\u001b[2K\r", " AMZe folds [█████████████████████████████████████████████] 5/5 [03:58:42<47:27, 2864.49s/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:22<00:04, 4.30s/it]</span></div>" ], "text/plain": [ "\u001b[A\u001b[2K\r", " AMZvg folds [█████████████████████████████████████████████] 5/5 [00:22<00:04, 4.30s/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": 29, "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": 31, "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": 32, "metadata": {}, "outputs": [], "source": [ "def prepare_cold_start_recommender_models(data_label, data_models, config):\n", " data_model = data_models[data_label]\n", " models = [ScaledSVDItemColdStart(data_model, item_features=meta_dict[data_label])]\n", " apply_config(models, config, data_label)\n", " return models" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## tuning" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "config_cold = {}\n", "scores_cold = {}\n", "data_models_cold = {}" ] }, { "cell_type": "code", "execution_count": 34, "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\">[02:46:14<12:38, 4987.05s/it]</span></div>" ], "text/plain": [ "\u001b[A\u001b[A\u001b[2K\r", " [████████████████████████████████████████████████████████████] 2/2 [02:46:14<12:38, 4987.05s/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</span>\n", "<progress style=\"width:45ex\" max=\"78\" value=\"78\" class=\"Progress-main\"/></progress>\n", "<span class=\"Progress-label\"><strong>100%</strong></span>\n", "<span class=\"Iteration-label\">78/78</span>\n", "<span class=\"Time-label\">[02:33:32<00:17, 118.10s/it]</span></div>" ], "text/plain": [ "\u001b[A\u001b[2K\r", " AMZe [█████████████████████████████████████████████] 78/78 [02:33:32<00:17, 118.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</span>\n", "<progress style=\"width:45ex\" max=\"78\" value=\"78\" class=\"Progress-main\"/></progress>\n", "<span class=\"Progress-label\"><strong>100%</strong></span>\n", "<span class=\"Iteration-label\">78/78</span>\n", "<span class=\"Time-label\">[12:38<00:00, 9.71s/it]</span></div>" ], "text/plain": [ "\u001b[A\u001b[2K\r", " AMZvg [█████████████████████████████████████████████] 78/78 [12:38<00:00, 9.71s/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 = ScaledSVDItemColdStart(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_scaledsvd(model,\n", " svd_ranks[label],\n", " scaling_params,\n", " label, record_time=False)" ] }, { "cell_type": "code", "execution_count": 35, "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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qZxo77//Pi+99BIff/wxSUlJlJeX09zcHLfnb2lp4YYbbuCjjz5i6NChNDU1sWvXLsaNG0dJSQm7du1i5MiRACxZsoSpU6dSXFwMwK9+9Ssuu+wyjDH87ne/44wzzuCTTz7B4/GwePFipk+fTmZmZkT1mTZtGiUlJezevZvhw4dH++UqpWKoXwWEn/57I5v2RfaNtiuTB2fyk/OndPh4aWkp+fn5JCUlAZCfnw/AypUr+da3vkVdXR1JSUm8+eabHDp0iGuuuYa6ujoAHnjgAU466aRW1/P5fNxxxx0sX76cpqYmbr75Zm688UaMMdx6660sXbqUUaNGEdjYqKamBq/XS15eHgBJSUlMmDABgMsvv5xnnnmGH/7whwAsXLiQq6666qjXICJ85zvf4YUXXuCVV17hwgsv5O9//zs33HBDsMyTTz7Jr3/9a0SEY445hqeeeornnnuOn/70pzidTrKyslixYgUA559/PgsXLuQHP/hB5L9wpVTCaJNRD51zzjns2bOH8ePH881vfpO33nqL5uZmrrzySu6//37WrVvHkiVLSElJobCwkDfeeIOPP/6YZ555httuu+2o6z322GNkZWWxcuVKVq5cySOPPMJnn33GCy+8wJYtW9iwYQOPPPII7733HgC5ublccMEFjBgxgquuuoq///3v+P1+AK666ioWLlwIQFNTE4sXL+bSSy/t8LUce+yxfPrppwC8++67zJo1C4CNGzdyzz33sHTpUtatW8f9998PwN13381rr73GunXrWLToyDbbs2fP5u23347Cb1cpFU/9KkPo7Jt8rKSnp7N69Wrefvttli1bxpVXXsmPfvQjiouLOe644wCCzS51dXXccsstrF27FqfTydatW4+63uuvv8769euD/QPV1dVs27aNFStWcNVVV+F0Ohk8eDBnnnlm8JxHH32UDRs2sGTJEn7961/zxhtv8Pjjj3PcccdRW1vLli1b2Lx5M3PmzCEnJ6fD1xK6nWpFRQUZGRkALF26lMsuuyyY/eTm5gJw8sknc/3113PFFVdwySWXBM8tLCxk37593fp9KqUSp18FhERxOp2cfvrpnH766UybNo0HH3yw3SGWv/3tbykqKmLdunX4/X6Sk5OPKmOM4Q9/+APz589vdXzx4sWdDtucNm0a06ZN45prrmHUqFE8/vjjACxYsICFCxeyefPm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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": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'AMZe': {'ScaledSVD(cs)': {'col_scaling': 0.4, 'rank': 300}},\n", " 'AMZvg': {'ScaledSVD(cs)': {'col_scaling': 0.6, 'rank': 1500}}}" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "config_cold" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### saving data" ] }, { "cell_type": "code", "execution_count": 39, "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": 40, "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\">[12:01<06:52, 360.53s/it]</span></div>" ], "text/plain": [ "\u001b[A\u001b[A\u001b[2K\r", " [████████████████████████████████████████████████████████████] 2/2 [12:01<06:52, 360.53s/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\">[05:09<01:01, 61.88s/it]</span></div>" ], "text/plain": [ "\u001b[A\u001b[2K\r", " AMZe folds [█████████████████████████████████████████████] 5/5 [05:09<01:01, 61.88s/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\">[06:52<01:24, 82.33s/it]</span></div>" ], "text/plain": [ "\u001b[A\u001b[2K\r", " AMZvg folds [█████████████████████████████████████████████] 5/5 [06:52<01:24, 82.33s/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": 41, "metadata": {}, "outputs": [ { "data": { "image/png": "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bN1VV13FmWfGrvcvXryYNWvWMHDgQAA+/PBDunXrloYtE5HWpNV+M/tE0KFDh8PLbdq0Ofy+TZs21NbW0rbt0X89h24jTXY7qbszbtw4vv/97zfTiEXkZKSgaMEuu+wy5s6dy3e+8x2WLVtG165dOeOMMw6Xf/vb3+aFF15g165dABQUFFBYWMjtt99Ot27d2LlzJ3v27OGcc85J85ZIa3CyXcCVIxQULdi9997LjTfeSJ8+fTjllFOYMyf2ncZ77rmHoqIiLrzwQoYMGcKnPvUpAPLy8vje977HFVdcwcGDB2nXrh0zZsxQUIhIo1j8HTMnqgEDBnjig4vKyso4//zz0zQiORb6O2vZdERxRGvZF2a2xt0H1FdP04yLiEiQgkJERIIUFCIiEqSgEBGRIAWFiIgEKShERCTopPkeRVPfztZSbtMTEWluOqJoZtOmTaN379706dOHfv36sXLlyvobxamoqOCCCy5oUJvx48fz9NNPA/Dcc8/Rv39/+vbtS15eHo899hjLli3js5/97Mfa1NbWctZZZ1FVVcX48ePJycmhb9++nHvuuYwdO5a///3vh+u6O8OGDeOf//wnDbFhwwbGjx/foDYikn4nzRFFOvzlL3/hueee45VXXqFDhw6899577N+//7h9/kcffcSECRNYtWoVPXv2pKamhoqKCnJzc6msrKSiooLs7GwAFi1axAUXXED37rFZ3n/4wx8yatQo3J0f//jHXH755WzcuJH27duzYMEC+vbtyxlnnNGg8eTn51NZWcm2bdsOf5tcRFo+BUUzqqqqomvXrocn++vatSsAq1ev5rbbbuODDz6gQ4cOLF68mOrqam644QY++OADAH7605/yuc997mP9HThwgClTprBs2TJqamqYNGnS4edR3HrrrSxZsoScnJzDz6fYs2cPtbW1ZGZmArFJCM877zwARo8ezbx58/jmN78JQHFxMUVFRUdtg5lx++238+yzz/LCCy9QWFjI3LlzmTBhwuE6v/jFL3jooYcwM/r06cOTTz7JU089xX333UdGRgadO3dm+fLlAHzhC1+guLiYb3zjG022n5tTa/kGrkhj6NRTM7riiivYvn075557Lrfccgt/+tOf2L9/P9dffz0PP/ww69atY9GiRXTq1Ilu3bqxcOFCXnnlFebNm8dXv/rVo/qbNWsWnTt3ZvXq1axevZrHH3+crVu38uyzz7J582Y2bNjA448/zp///GcAunTpwsiRIznnnHMoKipi7ty5HDx4EICioiKKi4sBqKmpYcGCBVx77bV1bsuFF17I66+/DsDLL7/MRRddBMCmTZuYNm0aS5YsYd26dTz88MMATJ06lRdffJF169ZRUnLkOVcDBgzgpZdeaoK9KyLHi44omtFpp53GmjVreOmll1i6dCnXX389d911F927dz/8zIhDp28++OADJk+efPiBQ2+88cZR/f3xj39k/fr1h68/7N69mzfffJPly5dTVFRERkYGn/zkJxk2bNjhNj//+c/ZsGEDixYt4qGHHmLhwoXMnj2bgQMHsnfvXjZv3kxZWRmDBw8+/FyLZOLnBNu5cyenn346AEuWLGHUqFGHj5a6dOkCwCWXXML48eO57rrr+OIXv3i4bbdu3Xj77cQn6YpIS6agaGYZGRkMHTqUoUOHkp+fz4wZM5I+S2L69OmcddZZrFu3joMHD9KxY8ej6rg7P/nJTxg+fPjHyhcsWJC0z0Py8/PJz8/nhhtuICcnh9mzZwMwZswYiouLKSsrS3raKd6rr75KQUEBAG3btuXgwYO0adMGd0/62T/72c9YuXIlzz//PP369WPt2rVkZmayb98+OnXqFPwsEWlZTpqgSMd53s2bN9OmTRtyc3MBWLt2Leeffz5/+MMfWL16NQMHDmTPnj106tSJ3bt307NnT9q0acOcOXOSPut6+PDhPProowwbNox27drxxhtv0KNHDy677DIee+wxxo4dy7vvvsvSpUv50pe+xN69eyktLWXo0KGHPz9+yvGioiIKCwvZvXs3s2bNSroNh8KpqqqKESNGAHDeeeexZcsWevXqRUFBAddccw233347mZmZ7Ny5ky5duvDWW29x8cUXc/HFF/P73/+e7du3k5mZyRtvvNHgu7hEJL1OmqBIh71793Lrrbfy/vvv07ZtW3r16sXMmTO58cYbufXWW/nwww/p1KkTixYt4pZbbuHaa6/lqaee4vLLL+fUU089qr+bb76ZiooKLrzwQtydrKwsfvvb33LNNdewZMkS8vPzOffccxkyZAgQ+yX/gx/8gIkTJ9KpUydOPfXUw0cTEHt+xSmnnMJFF1101OfdcccdfPe73+Vf//oXgwcPZunSpbRv3x6IPX512bJl9OrVi969e3PXXXcxZMgQ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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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C2jTpg3t27dn/vz5vPfee8yePZsf/OAHR7Q3bdo0TjvtNIqLiykuLubJJ5/kk08+4cUXX2T9+vWsWbOGJ598sipMzjzzTIYPH865555LYWEhM2fO5NChQwAUFhZWfTDv37+fuXPncu2111a7Lb169eLDDz8E4O2336Z3794ArF27lilTprBw4UJWrVrFo48+CsDkyZOZN28eq1atoqioqKqdPn368NZbbzXA3hWRxqRTRvV08skns3z5ct566y0WLVrE6NGjueuuu+jQoUPVMwsqT7t8+eWXTJw4serBNhs2bDiivddff53Vq1dXXR/YvXs3H330EW+++SaFhYWkpqZy9tlnM3jw4Kp1nnrqKdasWcOCBQt4+OGHmT9/PtOnT6dv377s3buX9evXs27dOvr371/1XIV4ose12rlzJ6eccgoACxcuZOTIkbRr1w6IhBDARRddxLhx47juuuu45pprqtZt3749n38e+9htEWnqFAgNIDU1lUGDBjFo0CByc3OZOnVq3GcZPPLII5x11lmsWrWKQ4cO0bp16yPquDu//OUvufzyy/+pfO7cuXHbrJSbm0tubi433ngj2dnZTJ8+HYCCggJmzZrFunXr4p4uirZixQry8/MBSEtL49ChQ6SkpODucd/717/+NUuXLuXVV1+lR48erFy5kvT0dPbt20ebNm2O+l4i0vSccIHQ2LeJrl+/npSUFHJycgBYuXIl559/Pn/6058oLi6mb9++7NmzhzZt2rB7924yMzNJSUlhxowZcZ+FfPnll/PYY48xePBgWrRowYYNG+jYsSMDBgzg8ccfZ8yYMWzdupVFixZx/fXXs3fvXkpKShg0aFDV+0cPhV1YWMiIESPYvXs306ZNi7sNlSG0ZcsWhg4dCsB5553Hxo0b6dSpE/n5+Vx99dXccccdpKens3PnTs4880w+/vhjLrjgAi644AJefvllNm/eTHp6Ohs2bKj1XVMiknwnXCA0tr1793LbbbfxxRdfkJaWRqdOnXjiiSe46aabuO222/jqq69o06YNCxYs4NZbb+Xaa6/lhRde4NJLL6Vt27ZHtHfLLbdQVlZGr169cHcyMjJ46aWXuPrqq1m4cCG5ubl07tyZgQMHApEP85/+9KdMmDCBNm3a0LZt26qjA4g8P+Gkk06id+/eR7zfnXfeyY9//GP+8Y9/0L9/fxYt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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": 42, "metadata": {}, "outputs": [ { "data": { "image/png": "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cPfddwNw66238vjjj7NixQpqa/dMkVFdXc3TTz/dDnvXzDqSTxm10Uc+8hGee+45nn76aRYtWsQVV1zB1772NU466aTdcxbsOu3y5z//mcmTJ++e2ObVV1/dq79f/vKXrFy5cvf1gS1btvDaa6/x1FNPUVNTQ0lJCSeffDLDhw/f3eb+++/nxRdfZMGCBdx555088cQTzJw5k7POOov333+fNWvWsHr1aoYNG7Z7XoV8sp9rtXnzZo455hgAFi5cyJgxY+jZsyeQCSGAc845h4kTJ3L55Zfzuc99bnfbE044gTffzJ1Uz8wOdg6EdlBSUsIFF1zABRdcQP/+/Zk2bVreuQzuuusuTjzxRFasWMHOnTvp3r37XnUigu9+97uMHDnyf5TPnz8/b5+79O/fn/79+3PllVdSUVHBzJkzARg3bhyzZ89m9erVeU8XZXvhhRcYMWIEAJ07d2bnzp106tSJiMj73v/1X//FkiVLeOyxxxg0aBDLly+ntLSUrVu30qNHj32+l5kdfA67QOjo20TXrFlDp06dqKysBGD58uWcccYZ/OIXv2DZsmWcddZZvPfee/To0YMtW7bQu3dvOnXqxKxZs/LOhTxy5Ei+973vMXz4cLp06cKrr75Kr169OO+887j33nsZP348b731FosWLeILX/gC77//PnV1dVxwwQW73z/7Udg1NTWMHj2aLVu2MGPGjLzbsCuENmzYwKhRowA4/fTTWbt2LX369GHEiBFcdtll3HDDDZSWlrJ582aOP/54Xn/9dc4++2zOPvtsfvazn7F+/XpKS0t59dVX9/uuKTMrvoICQdIo4G4yU2jeHxG356zvBnwfOBPYBFwREQ1p3U3A1cAO4MsR8bik04E5WV38FXBzRHynbZvT8d5//32uv/563n33XTp37kyfPn2YPn06V111Fddffz0ffPABPXr0YMGCBVx77bV8/vOf5+GHH+bCCy/k6KOP3qu/L37xizQ0NDBkyBAigrKyMn76059y2WWXsXDhQvr3789pp53G+eefD2Q+zP/93/+da665hh49enD00UfvPjqAzPwJRx11FGeeeeZe73fjjTfyzW9+k7/85S8MGzaMRYsW0bVrVyAzbefixYvp06cPffv25Wtf+xrnn38+JSUlDB48mJkzZ3LjjTfy2muvERGMGDGCgQMHArBo0SIuucTf3zA7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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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/PLLmTVrFieffPKeOe+POeYYOnfuzPvvv8/nPvc5ampqmDhxIq+88so++/vlL3/JXXfdxaBBgzjnnHPYuHEjr7/+Ok8//TS1tbWUlZVxyimnMHr06D3b/OAHP+CJJ55g+PDh3Hbbbfzt3/4tAMOGDWPLli2sXLmSRx55hBEjRuyZl7+Y/PmWNm3axNFHHw3AwoULmTBhAj179gRyLzQA5557LlOnTuWOO+74s2/vOvHEE1m7Nu1/+sysPUg1y2ZE1AF1BW3X5z1eTG7Y54P2cSdwZ4srbEfKyso4//zzOf/886mpqWHmzJlF58K//fbbOemkk1i6dCm7du2ie/fu+/SJCL73ve9x0UUX/Vl7XV1d0X3uVlNTQ01NDZ/+9KepqqrizjvvBGDSpEnMmzePFStWFB3ayffSSy8xZswYADp37syuXbvo1KkTEVH0ub///e+zaNEiHn74YQYNGsSSJUsoLy9n69at9OjR4wOfy8zalw45tXIpbrFcuXIlnTp1om/fvgAsWbKEs846i1/84hcsXryYYcOG8e6779KjRw82b95M79696dSpE3Pnzi363bYXXXQR//7v/87o0aPp0qULr732Gr169WLkyJHMmjWLyZMn89Zbb/Hkk09yxRVXsGXLFurr6zn//PP3PH/+NMu1tbWMHz+ezZs3M2fOnKLHsPuFZt26dYwdOxaAM888k1WrVtGnTx/GjBnDpZdeyhe/+EXKy8vZtGkTJ5xwAm+88QbnnHMO55xzDj//+c9Zs2YN5eXlvPbaay2+G8nMSqtDhn4pbNmyhWuvvZZ33nmHzp0706dPH2bPns2VV17Jtddey3vvvUePHj14/PHHueaaa7jsssu4//77ueCCCzjyyCP32d9nP/tZGhsbGTJkCBFBRUUFP/vZz7j00ktZuHAhNTU1nHHGGYwaNQrIBfa3vvUtrr76anr06MGRRx655yofcvPvH3HEEZx99tn7PN91113HN77xDf70pz8xYsQInnzySbp27QrkvqLxqaeeok+fPvTr14+vfvWrjBo1irKyMgYPHsydd97Jddddx+uvv05EMGbMGAYOHAjAk08+ySWX+DMOZh2J59PPuHXr1jF58mQee+yxFm23bds2Ro0axTPPPFP0qyD9d2YdhefTt0w5+eST+dznPtfiD2etXr2aW265pWjgm1n71WF+Y/f3JqMd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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": 43, "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.8" } }, "nbformat": 4, "nbformat_minor": 2 }