{ "cells": [ { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.021999, "end_time": "2020-05-12T09:25:50.911014", "exception": false, "start_time": "2020-05-12T09:25:50.889015", "status": "completed" }, "tags": [] }, "source": [ "# Recommendation List Data Prep\n", "\n", "This notebook does the data preparation for the recommendation list analysis." ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.021022, "end_time": "2020-05-12T09:25:50.956015", "exception": false, "start_time": "2020-05-12T09:25:50.934993", "status": "completed" }, "tags": [] }, "source": [ "## Setup" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "papermill": { "duration": 0.87456, "end_time": "2020-05-12T09:25:51.851576", "exception": false, "start_time": "2020-05-12T09:25:50.977016", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import seaborn as sns\n", "import matplotlib.pyplot as plt\n", "from itertools import product" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "papermill": { "duration": 0.033033, "end_time": "2020-05-12T09:25:51.910579", "exception": false, "start_time": "2020-05-12T09:25:51.877546", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "import ujson" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "papermill": { "duration": 0.173999, "end_time": "2020-05-12T09:25:52.106542", "exception": false, "start_time": "2020-05-12T09:25:51.932543", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "from bookgender.config import data_dir" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.024029, "end_time": "2020-05-12T09:25:52.156570", "exception": false, "start_time": "2020-05-12T09:25:52.132541", "status": "completed" }, "tags": [] }, "source": [ "## Load Data" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.021961, "end_time": "2020-05-12T09:25:52.199539", "exception": false, "start_time": "2020-05-12T09:25:52.177578", "status": "completed" }, "tags": [] }, "source": [ "Load book gender data and clean it up:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "papermill": { "duration": 6.819439, "end_time": "2020-05-12T09:25:59.040008", "exception": false, "start_time": "2020-05-12T09:25:52.220569", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "text/plain": [ "count 12234574\n", "unique 4\n", "top unknown\n", "freq 7271039\n", "Name: gender, dtype: object" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "book_gender = pd.read_csv('data/author-gender.csv.gz')\n", "book_gender = book_gender.set_index('item')['gender']\n", "book_gender.loc[book_gender.str.startswith('no-')] = 'unknown'\n", "book_gender.loc[book_gender == 'unlinked'] = 'unknown'\n", "book_gender = book_gender.astype('category')\n", "book_gender.describe()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "papermill": { "duration": 0.029996, "end_time": "2020-05-12T09:25:59.092033", "exception": false, "start_time": "2020-05-12T09:25:59.062037", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "text/plain": [ "item\n", "0 male\n", "1 unknown\n", "2 male\n", "3 unknown\n", "4 male\n", "Name: gender, dtype: category\n", "Categories (4, object): [ambiguous, female, male, unknown]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "book_gender.head()" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.02405, "end_time": "2020-05-12T09:25:59.143056", "exception": false, "start_time": "2020-05-12T09:25:59.119006", "status": "completed" }, "tags": [] }, "source": [ "And load hashes:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "papermill": { "duration": 12.430592, "end_time": "2020-05-12T09:26:11.595624", "exception": false, "start_time": "2020-05-12T09:25:59.165032", "status": "completed" }, "tags": [] }, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
nisbnsmd5dcode
item
0173781b82fabd530590c70cac955b52bb00
124c6606ab43bfbe946a436c0ce7633a7a0
238e16249d40bf94b35d8a784d73d0511c51
32289071ab1041c090ac252616a76fe0791
447308735b39347b616ee6be0ab093541e0
\n", "
" ], "text/plain": [ " nisbns md5 dcode\n", "item \n", "0 17 3781b82fabd530590c70cac955b52bb0 0\n", "1 2 4c6606ab43bfbe946a436c0ce7633a7a 0\n", "2 38 e16249d40bf94b35d8a784d73d0511c5 1\n", "3 2 289071ab1041c090ac252616a76fe079 1\n", "4 4 7308735b39347b616ee6be0ab093541e 0" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "book_hash = pd.read_parquet('data/book-hash.parquet').rename(columns={'cluster': 'item'})\n", "book_hash['dcode'] = book_hash['md5'].apply(lambda x: int(x[-1], 16) % 2)\n", "book_hash = book_hash.set_index('item')\n", "book_hash.head()" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.027002, "end_time": "2020-05-12T09:26:11.644648", "exception": false, "start_time": "2020-05-12T09:26:11.617646", "status": "completed" }, "tags": [] }, "source": [ "Load the user profile data:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "papermill": { "duration": 0.043, "end_time": "2020-05-12T09:26:11.710634", "exception": false, "start_time": "2020-05-12T09:26:11.667634", "status": "completed" }, "tags": [] }, "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", " \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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
countlinkedambiguousmalefemaledcknowndcyesPropDCKnownPropFemalePropKnown
Setuser
AZ52988214830.37500050.8000000.625000
17232524315625140.560000210.2857140.840000
1810146060810.12500060.0000000.428571
278188151850.62500060.1666670.750000
286366060640.66666760.0000001.000000
\n", "
" ], "text/plain": [ " count linked ambiguous male female dcknown dcyes PropDC \\\n", "Set user \n", "AZ 529 8 8 2 1 4 8 3 0.375000 \n", " 1723 25 24 3 15 6 25 14 0.560000 \n", " 1810 14 6 0 6 0 8 1 0.125000 \n", " 2781 8 8 1 5 1 8 5 0.625000 \n", " 2863 6 6 0 6 0 6 4 0.666667 \n", "\n", " Known PropFemale PropKnown \n", "Set user \n", "AZ 529 5 0.800000 0.625000 \n", " 1723 21 0.285714 0.840000 \n", " 1810 6 0.000000 0.428571 \n", " 2781 6 0.166667 0.750000 \n", " 2863 6 0.000000 1.000000 " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "profiles = pd.read_pickle('data/profile-data.pkl')\n", "profiles.head()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "papermill": { "duration": 0.031991, "end_time": "2020-05-12T09:26:11.767633", "exception": false, "start_time": "2020-05-12T09:26:11.735642", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "text/plain": [ "['AZ', 'BX-E', 'BX-I', 'GR-E', 'GR-I']" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "datasets = list(profiles.index.levels[0])\n", "datasets" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.022001, "end_time": "2020-05-12T09:26:11.812633", "exception": false, "start_time": "2020-05-12T09:26:11.790632", "status": "completed" }, "tags": [] }, "source": [ "And load the recommendations:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "papermill": { "duration": 1.138614, "end_time": "2020-05-12T09:26:12.975247", "exception": false, "start_time": "2020-05-12T09:26:11.836633", "status": "completed" }, "tags": [] }, "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", " \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", "
SetAlgorithmitemscoreuserrank
0BX-Euser-user4980911.8150942068771
1BX-Euser-user48146011.8150942068772
2BX-Euser-user55970411.8150942068773
3BX-Euser-user57296711.8150942068774
4BX-Euser-user234080611.8150942068775
\n", "
" ], "text/plain": [ " Set Algorithm item score user rank\n", "0 BX-E user-user 49809 11.815094 206877 1\n", "1 BX-E user-user 481460 11.815094 206877 2\n", "2 BX-E user-user 559704 11.815094 206877 3\n", "3 BX-E user-user 572967 11.815094 206877 4\n", "4 BX-E user-user 2340806 11.815094 206877 5" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "recs = pd.read_parquet('data/study-recs.parquet')\n", "recs.rename(columns={'dataset': 'Set', 'algorithm': 'Algorithm'}, inplace=True)\n", "recs.head()" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.023, "end_time": "2020-05-12T09:26:13.020247", "exception": false, "start_time": "2020-05-12T09:26:12.997247", "status": "completed" }, "tags": [] }, "source": [ "The original paper truncated recommendation lists to 50. Let's do that too:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "papermill": { "duration": 0.262011, "end_time": "2020-05-12T09:26:13.305258", "exception": false, "start_time": "2020-05-12T09:26:13.043247", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "recs = recs[recs['rank'] <= 50]" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "papermill": { "duration": 0.131967, "end_time": "2020-05-12T09:26:13.462240", "exception": false, "start_time": "2020-05-12T09:26:13.330273", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "text/plain": [ "array(['BX-E', 'BX-I', 'AZ', 'GR-E', 'GR-I'], dtype=object)" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "recs.Set.unique()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "papermill": { "duration": 0.173, "end_time": "2020-05-12T09:26:13.657238", "exception": false, "start_time": "2020-05-12T09:26:13.484238", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "text/plain": [ "array(['user-user', 'item-item', 'als', 'wrls', 'bpr', 'user-user-imp',\n", " 'item-item-imp', 'wrls-imp', 'bpr-imp'], dtype=object)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "recs.Algorithm.unique()" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.029999, "end_time": "2020-05-12T09:26:13.716234", "exception": false, "start_time": "2020-05-12T09:26:13.686235", "status": "completed" }, "tags": [] }, "source": [ "We will need to extract implicit/explicit from those. In the new paper, we are going to separate out implicit and explicit data for presentation; these functions will help with that." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "papermill": { "duration": 0.036, "end_time": "2020-05-12T09:26:13.777234", "exception": false, "start_time": "2020-05-12T09:26:13.741234", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "def select_implicit(data, reset=True):\n", " if reset:\n", " data = data.reset_index()\n", " implicit = data['Algorithm'].str.endswith('-imp') | data['Set'].str.endswith('-I')\n", " data = data[implicit].assign(Set=data['Set'].str.replace('-I', ''),\n", " Algorithm=data['Algorithm'].str.replace('-imp', ''))\n", " data['Algorithm'] = data['Algorithm'].str.replace('wrls', 'als')\n", " return data" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "papermill": { "duration": 0.030999, "end_time": "2020-05-12T09:26:13.837233", "exception": false, "start_time": "2020-05-12T09:26:13.806234", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "def select_explicit(data, reset=True):\n", " if reset:\n", " data = data.reset_index()\n", " implicit = data['Algorithm'].str.endswith('-imp') | data['Set'].str.endswith('-I')\n", " data = data[~implicit].assign(Set=data['Set'].str.replace('-E', ''))\n", " return data" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.024999, "end_time": "2020-05-12T09:26:13.885232", "exception": false, "start_time": "2020-05-12T09:26:13.860233", "status": "completed" }, "tags": [] }, "source": [ "And give ourselves a handy way to relable algorithms:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "papermill": { "duration": 0.030999, "end_time": "2020-05-12T09:26:13.941231", "exception": false, "start_time": "2020-05-12T09:26:13.910232", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "algo_labels = {\n", " 'als': 'ALS',\n", " 'bpr': 'BPR',\n", " 'item-item': 'II',\n", " 'user-user': 'UU'\n", "}" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.02502, "end_time": "2020-05-12T09:26:13.989251", "exception": false, "start_time": "2020-05-12T09:26:13.964231", "status": "completed" }, "tags": [] }, "source": [ "## Analyze Rec List Composition" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.025998, "end_time": "2020-05-12T09:26:14.040230", "exception": false, "start_time": "2020-05-12T09:26:14.014232", "status": "completed" }, "tags": [] }, "source": [ "In the mean time, let's proceed by computing recommendation list gender data." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "papermill": { "duration": 1.758015, "end_time": "2020-05-12T09:26:15.822258", "exception": false, "start_time": "2020-05-12T09:26:14.064243", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "text/plain": [ "count 4883258\n", "unique 4\n", "top male\n", "freq 1935586\n", "Name: gender, dtype: object" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "recs.drop(columns=['gender'], errors='ignore', inplace=True)\n", "recs = recs.join(book_gender, on='item', how='left')\n", "recs['gender'] = recs['gender'].fillna('unknown')\n", "recs['gender'].describe()" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.023, "end_time": "2020-05-12T09:26:15.868258", "exception": false, "start_time": "2020-05-12T09:26:15.845258", "status": "completed" }, "tags": [] }, "source": [ "And mix in the dummy code data:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "papermill": { "duration": 1.888476, "end_time": "2020-05-12T09:26:17.779733", "exception": false, "start_time": "2020-05-12T09:26:15.891257", "status": "completed" }, "tags": [] }, "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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SetAlgorithmitemscoreuserrankgenderdcode
0BX-Euser-user4980911.8150942068771female1.0
1BX-Euser-user48146011.8150942068772male0.0
2BX-Euser-user55970411.8150942068773male1.0
3BX-Euser-user57296711.8150942068774male1.0
4BX-Euser-user234080611.8150942068775male0.0
\n", "
" ], "text/plain": [ " Set Algorithm item score user rank gender dcode\n", "0 BX-E user-user 49809 11.815094 206877 1 female 1.0\n", "1 BX-E user-user 481460 11.815094 206877 2 male 0.0\n", "2 BX-E user-user 559704 11.815094 206877 3 male 1.0\n", "3 BX-E user-user 572967 11.815094 206877 4 male 1.0\n", "4 BX-E user-user 2340806 11.815094 206877 5 male 0.0" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "recs.drop(columns=['dcode'], errors='ignore', inplace=True)\n", "recs = recs.join(book_hash['dcode'], on='item', how='left')\n", "recs.head()" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.026005, "end_time": "2020-05-12T09:26:17.829738", "exception": false, "start_time": "2020-05-12T09:26:17.803733", "status": "completed" }, "tags": [] }, "source": [ "Count up the statistics for each list by gender:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "papermill": { "duration": 1.977042, "end_time": "2020-05-12T09:26:19.833774", "exception": false, "start_time": "2020-05-12T09:26:17.856732", "status": "completed" }, "tags": [] }, "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", " \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", " \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", " \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", " \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", " \n", " \n", " \n", " \n", " \n", "
genderambiguousfemalemaleunknownTotalKnownPropKnownPropFemale
SetAlgorithmuser
AZals52928192150270.540.296296
172301292950210.420.571429
18102693350150.300.400000
278118172450250.500.320000
286324251950290.580.137931
.................................
GR-Iwrls87493343214050460.920.695652
8751578534350390.780.128205
87540814729050360.720.194444
8754413407050470.940.851064
87551625124050250.500.040000
\n", "

99146 rows × 8 columns

\n", "
" ], "text/plain": [ "gender ambiguous female male unknown Total Known \\\n", "Set Algorithm user \n", "AZ als 529 2 8 19 21 50 27 \n", " 1723 0 12 9 29 50 21 \n", " 1810 2 6 9 33 50 15 \n", " 2781 1 8 17 24 50 25 \n", " 2863 2 4 25 19 50 29 \n", "... ... ... ... ... ... ... \n", "GR-I wrls 874933 4 32 14 0 50 46 \n", " 875157 8 5 34 3 50 39 \n", " 875408 14 7 29 0 50 36 \n", " 875441 3 40 7 0 50 47 \n", " 875516 25 1 24 0 50 25 \n", "\n", "gender PropKnown PropFemale \n", "Set Algorithm user \n", "AZ als 529 0.54 0.296296 \n", " 1723 0.42 0.571429 \n", " 1810 0.30 0.400000 \n", " 2781 0.50 0.320000 \n", " 2863 0.58 0.137931 \n", "... ... ... \n", "GR-I wrls 874933 0.92 0.695652 \n", " 875157 0.78 0.128205 \n", " 875408 0.72 0.194444 \n", " 875441 0.94 0.851064 \n", " 875516 0.50 0.040000 \n", "\n", "[99146 rows x 8 columns]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rec_stats = recs.groupby(['Set', 'Algorithm', 'user'])['gender'].value_counts().unstack(fill_value=0)\n", "rec_stats.columns = rec_stats.columns.astype('object')\n", "rec_stats['Total'] = rec_stats.sum(axis=1)\n", "rec_stats['Known'] = rec_stats['male'].fillna(0) + rec_stats['female'].fillna(0)\n", "rec_stats['PropKnown'] = rec_stats['Known'] / rec_stats['Total']\n", "rec_stats['PropFemale'] = rec_stats['female'] / rec_stats['Known']\n", "rec_stats" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "papermill": { "duration": 0.044, "end_time": "2020-05-12T09:26:19.901773", "exception": false, "start_time": "2020-05-12T09:26:19.857773", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "MultiIndex: 99146 entries, ('AZ', 'als', 529) to ('GR-I', 'wrls', 875516)\n", "Data columns (total 8 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 ambiguous 99146 non-null int64 \n", " 1 female 99146 non-null int64 \n", " 2 male 99146 non-null int64 \n", " 3 unknown 99146 non-null int64 \n", " 4 Total 99146 non-null int64 \n", " 5 Known 99146 non-null int64 \n", " 6 PropKnown 99146 non-null float64\n", " 7 PropFemale 98926 non-null float64\n", "dtypes: float64(2), int64(6)\n", "memory usage: 6.6+ MB\n" ] } ], "source": [ "rec_stats.info()" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.022999, "end_time": "2020-05-12T09:26:19.948771", "exception": false, "start_time": "2020-05-12T09:26:19.925772", "status": "completed" }, "tags": [] }, "source": [ "Mix in info from dummy codes:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "papermill": { "duration": 0.904025, "end_time": "2020-05-12T09:26:20.880796", "exception": false, "start_time": "2020-05-12T09:26:19.976771", "status": "completed" }, "tags": [] }, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
dcknowndcyesPropDC
SetAlgorithmuser
AZals52944230.522727
172339170.435897
181031160.516129
278135170.485714
286337200.540541
\n", "
" ], "text/plain": [ " dcknown dcyes PropDC\n", "Set Algorithm user \n", "AZ als 529 44 23 0.522727\n", " 1723 39 17 0.435897\n", " 1810 31 16 0.516129\n", " 2781 35 17 0.485714\n", " 2863 37 20 0.540541" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rec_dc_stats = recs.groupby(['Set', 'Algorithm', 'user'])['dcode'].agg(['count', 'sum', 'mean'])\n", "rec_dc_stats.rename(columns={'count': 'dcknown', 'sum': 'dcyes', 'mean': 'PropDC'}, inplace=True)\n", "rec_dc_stats['dcyes'] = rec_dc_stats['dcyes'].astype('i4')\n", "rec_dc_stats.head()" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "papermill": { "duration": 0.058028, "end_time": "2020-05-12T09:26:20.963796", "exception": false, "start_time": "2020-05-12T09:26:20.905768", "status": "completed" }, "tags": [] }, "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", " \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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ambiguousfemalemaleunknownTotalKnownPropKnownPropFemaledcknowndcyesPropDC
SetAlgorithmuser
AZals52928192150270.540.29629644230.522727
172301292950210.420.57142939170.435897
18102693350150.300.40000031160.516129
278118172450250.500.32000035170.485714
286324251950290.580.13793137200.540541
\n", "
" ], "text/plain": [ " ambiguous female male unknown Total Known PropKnown \\\n", "Set Algorithm user \n", "AZ als 529 2 8 19 21 50 27 0.54 \n", " 1723 0 12 9 29 50 21 0.42 \n", " 1810 2 6 9 33 50 15 0.30 \n", " 2781 1 8 17 24 50 25 0.50 \n", " 2863 2 4 25 19 50 29 0.58 \n", "\n", " PropFemale dcknown dcyes PropDC \n", "Set Algorithm user \n", "AZ als 529 0.296296 44 23 0.522727 \n", " 1723 0.571429 39 17 0.435897 \n", " 1810 0.400000 31 16 0.516129 \n", " 2781 0.320000 35 17 0.485714 \n", " 2863 0.137931 37 20 0.540541 " ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rec_stats = rec_stats.join(rec_dc_stats)\n", "rec_stats.head()" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.023032, "end_time": "2020-05-12T09:26:21.010798", "exception": false, "start_time": "2020-05-12T09:26:20.987766", "status": "completed" }, "tags": [] }, "source": [ "Quick status-check on the number of recommendation lists per algorithm, implicit feedback:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "papermill": { "duration": 0.246575, "end_time": "2020-05-12T09:26:21.281303", "exception": false, "start_time": "2020-05-12T09:26:21.034728", "status": "completed" }, "tags": [] }, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Algorithmalsbpritem-itemuser-user
Set
AZ5000500050005000
BX5000500049944987
GR5000500050004994
\n", "
" ], "text/plain": [ "Algorithm als bpr item-item user-user\n", "Set \n", "AZ 5000 5000 5000 5000\n", "BX 5000 5000 4994 4987\n", "GR 5000 5000 5000 4994" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "select_implicit(rec_stats).groupby(['Set', 'Algorithm'])['Total'].count().unstack()" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.026019, "end_time": "2020-05-12T09:26:21.334300", "exception": false, "start_time": "2020-05-12T09:26:21.308281", "status": "completed" }, "tags": [] }, "source": [ "Explicit feedback:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "papermill": { "duration": 0.150028, "end_time": "2020-05-12T09:26:21.510296", "exception": false, "start_time": "2020-05-12T09:26:21.360268", "status": "completed" }, "tags": [] }, "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", " \n", " \n", " \n", " \n", " \n", " \n", "
Algorithmalsitem-itemuser-user
Set
AZ5000.04986.04503.0
BX5000.04988.04818.0
GRNaN5000.04876.0
\n", "
" ], "text/plain": [ "Algorithm als item-item user-user\n", "Set \n", "AZ 5000.0 4986.0 4503.0\n", "BX 5000.0 4988.0 4818.0\n", "GR NaN 5000.0 4876.0" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "select_explicit(rec_stats).groupby(['Set', 'Algorithm'])['Total'].count().unstack()" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.025032, "end_time": "2020-05-12T09:26:21.561296", "exception": false, "start_time": "2020-05-12T09:26:21.536264", "status": "completed" }, "tags": [] }, "source": [ "## Non-personalized Recommendations\n", "\n", "We also want to compute the makeup of non-personalized recommendations, to get a baseline level for each algorithm." ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "papermill": { "duration": 5.648164, "end_time": "2020-05-12T09:26:27.235433", "exception": false, "start_time": "2020-05-12T09:26:21.587269", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "az_ratings = pd.read_parquet('data/AZ/ratings.parquet')\n", "bxi_ratings = pd.read_parquet('data/BX-I/ratings.parquet')\n", "bxe_ratings = pd.read_parquet('data/BX-E/ratings.parquet')\n", "gre_ratings = pd.read_parquet('data/GR-E/ratings.parquet')\n", "gri_ratings = pd.read_parquet('data/GR-I/ratings.parquet')" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.024997, "end_time": "2020-05-12T09:26:27.285449", "exception": false, "start_time": "2020-05-12T09:26:27.260452", "status": "completed" }, "tags": [] }, "source": [ "### Popularity" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "papermill": { "duration": 13.565638, "end_time": "2020-05-12T09:26:40.879087", "exception": false, "start_time": "2020-05-12T09:26:27.313449", "status": "completed" }, "tags": [] }, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Setitemcount
0AZ78521575
1AZ802219922
2AZ126418640
3AZ2766015105
4AZ566813905
\n", "
" ], "text/plain": [ " Set item count\n", "0 AZ 785 21575\n", "1 AZ 8022 19922\n", "2 AZ 1264 18640\n", "3 AZ 27660 15105\n", "4 AZ 5668 13905" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "istats = pd.concat({\n", " 'AZ': az_ratings.groupby('item')['user'].count().nlargest(50),\n", " 'BX-I': bxi_ratings.groupby('item')['user'].count().nlargest(50),\n", " 'BX-E': bxe_ratings.groupby('item')['user'].count().nlargest(50),\n", " 'GR-I': gri_ratings.groupby('item')['user'].count().nlargest(50),\n", " 'GR-E': gre_ratings.groupby('item')['user'].count().nlargest(50)\n", "}, names=['Set'])\n", "istats = istats.reset_index(name='count')\n", "istats.head()" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "papermill": { "duration": 0.900653, "end_time": "2020-05-12T09:26:41.805739", "exception": false, "start_time": "2020-05-12T09:26:40.905086", "status": "completed" }, "tags": [] }, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Setitemcountgender
0AZ78521575female
1AZ802219922female
2AZ126418640ambiguous
3AZ2766015105ambiguous
4AZ566813905male
\n", "
" ], "text/plain": [ " Set item count gender\n", "0 AZ 785 21575 female\n", "1 AZ 8022 19922 female\n", "2 AZ 1264 18640 ambiguous\n", "3 AZ 27660 15105 ambiguous\n", "4 AZ 5668 13905 male" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "irecs = istats.join(book_gender, on='item', how='left')\n", "irecs['gender'] = irecs['gender'].fillna('unknown')\n", "irecs.head()" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "papermill": { "duration": 0.046008, "end_time": "2020-05-12T09:26:41.876776", "exception": false, "start_time": "2020-05-12T09:26:41.830768", "status": "completed" }, "tags": [] }, "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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
genderambiguousfemalemaleunknownTotalKnownPropKnownPropFemale
Set
AZ81719650360.720.472222
BX-E82022050420.840.476190
BX-I81725050420.840.404762
GR-E181319050320.640.406250
GR-I171419050330.660.424242
\n", "
" ], "text/plain": [ "gender ambiguous female male unknown Total Known PropKnown PropFemale\n", "Set \n", "AZ 8 17 19 6 50 36 0.72 0.472222\n", "BX-E 8 20 22 0 50 42 0.84 0.476190\n", "BX-I 8 17 25 0 50 42 0.84 0.404762\n", "GR-E 18 13 19 0 50 32 0.64 0.406250\n", "GR-I 17 14 19 0 50 33 0.66 0.424242" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pop_gender = irecs.groupby(['Set', 'gender']).item.count().unstack().fillna(0).astype('i4')\n", "pop_gender.columns = pop_gender.columns.astype('object')\n", "pop_gender['Total'] = pop_gender.sum(axis=1)\n", "pop_gender['Known'] = pop_gender['male'] + pop_gender['female']\n", "pop_gender['PropKnown'] = pop_gender['Known'] / pop_gender['Total']\n", "pop_gender['PropFemale'] = pop_gender['female'] / pop_gender['Known']\n", "pop_gender" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.027025, "end_time": "2020-05-12T09:26:41.928773", "exception": false, "start_time": "2020-05-12T09:26:41.901748", "status": "completed" }, "tags": [] }, "source": [ "### Highest Average Rating" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "papermill": { "duration": 7.001446, "end_time": "2020-05-12T09:26:48.955182", "exception": false, "start_time": "2020-05-12T09:26:41.953736", "status": "completed" }, "tags": [] }, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Setitemcount
0AZ135.0
1AZ235.0
2AZ265.0
3AZ395.0
4AZ665.0
\n", "
" ], "text/plain": [ " Set item count\n", "0 AZ 13 5.0\n", "1 AZ 23 5.0\n", "2 AZ 26 5.0\n", "3 AZ 39 5.0\n", "4 AZ 66 5.0" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "astats = pd.concat({\n", " 'AZ': az_ratings.groupby('item')['rating'].mean().nlargest(50),\n", " 'BX-E': bxe_ratings.groupby('item')['rating'].mean().nlargest(50),\n", " 'GR-E': gre_ratings.groupby('item')['rating'].mean().nlargest(50)\n", "}, names=['Set'])\n", "astats = astats.reset_index(name='count')\n", "astats.head()" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "papermill": { "duration": 0.929698, "end_time": "2020-05-12T09:26:49.911884", "exception": false, "start_time": "2020-05-12T09:26:48.982186", "status": "completed" }, "tags": [] }, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Setitemcountgender
0AZ135.0male
1AZ235.0unknown
2AZ265.0male
3AZ395.0unknown
4AZ665.0unknown
\n", "
" ], "text/plain": [ " Set item count gender\n", "0 AZ 13 5.0 male\n", "1 AZ 23 5.0 unknown\n", "2 AZ 26 5.0 male\n", "3 AZ 39 5.0 unknown\n", "4 AZ 66 5.0 unknown" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arecs = astats.join(book_gender, on='item', how='left')\n", "arecs['gender'] = arecs['gender'].fillna('unknown')\n", "arecs.head()" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "papermill": { "duration": 0.048001, "end_time": "2020-05-12T09:26:49.986882", "exception": false, "start_time": "2020-05-12T09:26:49.938881", "status": "completed" }, "tags": [] }, "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", " \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", "
genderambiguousfemalemaleunknownTotalKnownPropKnownPropFemale
Set
AZ07172650240.480.291667
BX-E3831850390.780.205128
GR-E017425080.160.125000
\n", "
" ], "text/plain": [ "gender ambiguous female male unknown Total Known PropKnown PropFemale\n", "Set \n", "AZ 0 7 17 26 50 24 0.48 0.291667\n", "BX-E 3 8 31 8 50 39 0.78 0.205128\n", "GR-E 0 1 7 42 50 8 0.16 0.125000" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "avg_gender = arecs.groupby(['Set', 'gender']).item.count().unstack().fillna(0).astype('i4')\n", "avg_gender.columns = avg_gender.columns.astype('object')\n", "avg_gender['Total'] = avg_gender.sum(axis=1)\n", "avg_gender['Known'] = avg_gender['male'] + avg_gender['female']\n", "avg_gender['PropKnown'] = avg_gender['Known'] / avg_gender['Total']\n", "avg_gender['PropFemale'] = avg_gender['female'] / avg_gender['Known']\n", "avg_gender" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.02697, "end_time": "2020-05-12T09:26:50.038851", "exception": false, "start_time": "2020-05-12T09:26:50.011881", "status": "completed" }, "tags": [] }, "source": [ "## Recommendation Coverage & Diversity\n", "\n", "We want to understand how the recommendation lists work to better understand how many items we get." ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "papermill": { "duration": 1.126018, "end_time": "2020-05-12T09:26:51.191868", "exception": false, "start_time": "2020-05-12T09:26:50.065850", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "list_counts = recs.groupby(['Set', 'Algorithm'])['user'].nunique()\n", "list_counts.name = 'Lists'" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "papermill": { "duration": 3.101748, "end_time": "2020-05-12T09:26:54.319648", "exception": false, "start_time": "2020-05-12T09:26:51.217900", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "item_counts = recs.groupby(['Set', 'Algorithm'])['item'].agg(['count', 'nunique'])\n", "item_counts.rename(columns={'count': 'Recs', 'nunique': 'Distinct'}, inplace=True)\n", "item_counts = item_counts.join(list_counts)\n", "item_counts['FracDistinct'] = item_counts['Distinct'] / item_counts['Recs']" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.027996, "end_time": "2020-05-12T09:26:54.376676", "exception": false, "start_time": "2020-05-12T09:26:54.348680", "status": "completed" }, "tags": [] }, "source": [ "What does this look like for implicit?" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "papermill": { "duration": 0.048999, "end_time": "2020-05-12T09:26:54.452645", "exception": false, "start_time": "2020-05-12T09:26:54.403646", "status": "completed" }, "scrolled": true, "tags": [] }, "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", " \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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SetAZBXGR
RecsDistinctListsFracDistinctRecsDistinctListsFracDistinctRecsDistinctListsFracDistinct
Algorithm
ALS250000.017757.05000.00.071028250000.010658.05000.00.042632250000.016382.05000.00.065528
BPR250000.013006.05000.00.052024250000.042161.05000.00.168644250000.098105.05000.00.392420
II249949.0120791.05000.00.483263249700.056902.04994.00.227881250000.025506.05000.00.102024
UU249957.047142.05000.00.188600248439.017978.04987.00.072364249383.016542.04994.00.066332
\n", "
" ], "text/plain": [ "Set AZ BX \\\n", " Recs Distinct Lists FracDistinct Recs Distinct Lists \n", "Algorithm \n", "ALS 250000.0 17757.0 5000.0 0.071028 250000.0 10658.0 5000.0 \n", "BPR 250000.0 13006.0 5000.0 0.052024 250000.0 42161.0 5000.0 \n", "II 249949.0 120791.0 5000.0 0.483263 249700.0 56902.0 4994.0 \n", "UU 249957.0 47142.0 5000.0 0.188600 248439.0 17978.0 4987.0 \n", "\n", "Set GR \n", " FracDistinct Recs Distinct Lists FracDistinct \n", "Algorithm \n", "ALS 0.042632 250000.0 16382.0 5000.0 0.065528 \n", "BPR 0.168644 250000.0 98105.0 5000.0 0.392420 \n", "II 0.227881 250000.0 25506.0 5000.0 0.102024 \n", "UU 0.072364 249383.0 16542.0 4994.0 0.066332 " ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = select_implicit(item_counts).set_index(['Algorithm', 'Set']).stack().reorder_levels([0, 2, 1]).unstack().unstack()\n", "df = df.rename(index=algo_labels)\n", "df" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "papermill": { "duration": 0.033968, "end_time": "2020-05-12T09:26:54.516644", "exception": false, "start_time": "2020-05-12T09:26:54.482676", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "def f_n(n):\n", " return '{:,.0f}'.format(n)\n", "def f_pct(n):\n", " return '{:.1f}%'.format(n * 100)" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "papermill": { "duration": 0.040999, "end_time": "2020-05-12T09:26:54.588642", "exception": false, "start_time": "2020-05-12T09:26:54.547643", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\\begin{tabular}{lrrrrrrrrr}\n", "\\toprule\n", "{} & Recs & Distinct & FracDistinct & Recs & Distinct & FracDistinct & Recs & Distinct & FracDistinct \\\\\n", "Set & AZ & AZ & AZ & BX & BX & BX & GR & GR & GR \\\\\n", "Algorithm & & & & & & & & & \\\\\n", "\\midrule\n", "ALS & 250,000 & 17,757 & 7.1\\% & 250,000 & 10,658 & 4.3\\% & 250,000 & 16,382 & 6.6\\% \\\\\n", "BPR & 250,000 & 13,006 & 5.2\\% & 250,000 & 42,161 & 16.9\\% & 250,000 & 98,105 & 39.2\\% \\\\\n", "II & 249,949 & 120,791 & 48.3\\% & 249,700 & 56,902 & 22.8\\% & 250,000 & 25,506 & 10.2\\% \\\\\n", "UU & 249,957 & 47,142 & 18.9\\% & 248,439 & 17,978 & 7.2\\% & 249,383 & 16,542 & 6.6\\% \\\\\n", "\\bottomrule\n", "\\end{tabular}\n", "\n" ] } ], "source": [ "print(df.swaplevel(axis=1).loc[:, ['Recs', 'Distinct', 'FracDistinct']].to_latex(formatters=[\n", " f_n, f_n, f_pct,\n", " f_n, f_n, f_pct,\n", " f_n, f_n, f_pct\n", "]))" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.029, "end_time": "2020-05-12T09:26:54.643641", "exception": false, "start_time": "2020-05-12T09:26:54.614641", "status": "completed" }, "tags": [] }, "source": [ "And explicit?" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "papermill": { "duration": 0.054999, "end_time": "2020-05-12T09:26:54.733640", "exception": false, "start_time": "2020-05-12T09:26:54.678641", "status": "completed" }, "tags": [] }, "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", " \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", " \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", "
SetAZBXGR
RecsDistinctListsFracDistinctRecsDistinctListsFracDistinctRecsDistinctListsFracDistinct
Algorithm
ALS250000.047308.05000.00.189232250000.065.05000.00.000260NaNNaNNaNNaN
II239412.0113365.04986.00.473514248316.018588.04988.00.074856245944.090333.05000.00.367291
UU191553.0109755.04503.00.572975219082.043475.04818.00.198442241523.067473.04876.00.279365
\n", "
" ], "text/plain": [ "Set AZ BX \\\n", " Recs Distinct Lists FracDistinct Recs Distinct Lists \n", "Algorithm \n", "ALS 250000.0 47308.0 5000.0 0.189232 250000.0 65.0 5000.0 \n", "II 239412.0 113365.0 4986.0 0.473514 248316.0 18588.0 4988.0 \n", "UU 191553.0 109755.0 4503.0 0.572975 219082.0 43475.0 4818.0 \n", "\n", "Set GR \n", " FracDistinct Recs Distinct Lists FracDistinct \n", "Algorithm \n", "ALS 0.000260 NaN NaN NaN NaN \n", "II 0.074856 245944.0 90333.0 5000.0 0.367291 \n", "UU 0.198442 241523.0 67473.0 4876.0 0.279365 " ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = select_explicit(item_counts).set_index(['Algorithm', 'Set']).stack().reorder_levels([0, 2, 1]).unstack().unstack()\n", "df = df.rename(index=algo_labels)\n", "df" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "papermill": { "duration": 0.049999, "end_time": "2020-05-12T09:26:54.813638", "exception": false, "start_time": "2020-05-12T09:26:54.763639", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\\begin{tabular}{lrrrrrrrrr}\n", "\\toprule\n", "{} & Recs & Distinct & FracDistinct & Recs & Distinct & FracDistinct & Recs & Distinct & FracDistinct \\\\\n", "Set & AZ & AZ & AZ & BX & BX & BX & GR & GR & GR \\\\\n", "Algorithm & & & & & & & & & \\\\\n", "\\midrule\n", "ALS & 250,000 & 47,308 & 18.9\\% & 250,000 & 65 & 0.0\\% & nan & nan & nan\\% \\\\\n", "II & 239,412 & 113,365 & 47.4\\% & 248,316 & 18,588 & 7.5\\% & 245,944 & 90,333 & 36.7\\% \\\\\n", "UU & 191,553 & 109,755 & 57.3\\% & 219,082 & 43,475 & 19.8\\% & 241,523 & 67,473 & 27.9\\% \\\\\n", "\\bottomrule\n", "\\end{tabular}\n", "\n" ] } ], "source": [ "print(df.swaplevel(axis=1).loc[:, ['Recs', 'Distinct', 'FracDistinct']].to_latex(formatters=[\n", " f_n, f_n, f_pct,\n", " f_n, f_n, f_pct,\n", " f_n, f_n, f_pct\n", "]))" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.027033, "end_time": "2020-05-12T09:26:54.868671", "exception": false, "start_time": "2020-05-12T09:26:54.841638", "status": "completed" }, "tags": [] }, "source": [ "## Dist. Table" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "papermill": { "duration": 0.223993, "end_time": "2020-05-12T09:26:55.121633", "exception": false, "start_time": "2020-05-12T09:26:54.897640", "status": "completed" }, "tags": [] }, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SetAZBXGR
Algorithm
als0.4087540.4039380.438804
bpr0.4066260.4235520.440484
item-item0.3879160.4555930.484237
user-user0.4171810.3890100.424384
\n", "
" ], "text/plain": [ "Set AZ BX GR\n", "Algorithm \n", "als 0.408754 0.403938 0.438804\n", "bpr 0.406626 0.423552 0.440484\n", "item-item 0.387916 0.455593 0.484237\n", "user-user 0.417181 0.389010 0.424384" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "select_implicit(rec_stats).groupby(['Algorithm', 'Set']).PropFemale.mean().unstack()" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "papermill": { "duration": 0.221997, "end_time": "2020-05-12T09:26:55.371629", "exception": false, "start_time": "2020-05-12T09:26:55.149632", "status": "completed" }, "tags": [] }, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SetAZBXGR
Algorithm
als0.3083670.1883440.285130
bpr0.2844550.2738940.316049
item-item0.3106440.2078310.247467
user-user0.2789170.1680300.265406
\n", "
" ], "text/plain": [ "Set AZ BX GR\n", "Algorithm \n", "als 0.308367 0.188344 0.285130\n", "bpr 0.284455 0.273894 0.316049\n", "item-item 0.310644 0.207831 0.247467\n", "user-user 0.278917 0.168030 0.265406" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.sqrt(select_implicit(rec_stats).groupby(['Algorithm', 'Set']).PropFemale.var()).unstack()" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "papermill": { "duration": 0.152438, "end_time": "2020-05-12T09:26:55.552066", "exception": false, "start_time": "2020-05-12T09:26:55.399628", "status": "completed" }, "tags": [] }, "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", " \n", " \n", " \n", " \n", " \n", " \n", "
SetAZBXGR
Algorithm
als0.4057160.301085NaN
item-item0.3883040.4335220.403719
user-user0.3451170.4009590.381393
\n", "
" ], "text/plain": [ "Set AZ BX GR\n", "Algorithm \n", "als 0.405716 0.301085 NaN\n", "item-item 0.388304 0.433522 0.403719\n", "user-user 0.345117 0.400959 0.381393" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "select_explicit(rec_stats).groupby(['Algorithm', 'Set']).PropFemale.mean().unstack()" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "papermill": { "duration": 0.163997, "end_time": "2020-05-12T09:26:55.746036", "exception": false, "start_time": "2020-05-12T09:26:55.582039", "status": "completed" }, "tags": [] }, "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", " \n", " \n", " \n", " \n", " \n", " \n", "
SetAZBXGR
Algorithm
als0.1497090.012124NaN
item-item0.2438080.1376230.231388
user-user0.2364020.1606810.161416
\n", "
" ], "text/plain": [ "Set AZ BX GR\n", "Algorithm \n", "als 0.149709 0.012124 NaN\n", "item-item 0.243808 0.137623 0.231388\n", "user-user 0.236402 0.160681 0.161416" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.sqrt(select_explicit(rec_stats).groupby(['Algorithm', 'Set']).PropFemale.var()).unstack()" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.028028, "end_time": "2020-05-12T09:26:55.805064", "exception": false, "start_time": "2020-05-12T09:26:55.777036", "status": "completed" }, "tags": [] }, "source": [ "## Rec List Distributions\n", "\n", "Now that we have all of this, we can start to look at recommendation list distributions. How is Proportion Female distributed?" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "papermill": { "duration": 2.479204, "end_time": "2020-05-12T09:26:58.312268", "exception": false, "start_time": "2020-05-12T09:26:55.833064", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "grid = sns.FacetGrid(col='Set', row='Algorithm', data=select_implicit(rec_stats), sharey=False, margin_titles=True)\n", "grid.map(sns.distplot, 'PropFemale', kde=False, norm_hist=True)" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "papermill": { "duration": 2.689885, "end_time": "2020-05-12T09:27:01.031121", "exception": false, "start_time": "2020-05-12T09:26:58.341236", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "grid = sns.FacetGrid(col='Set', row='Algorithm', data=select_implicit(rec_stats), sharey=False, margin_titles=True)\n", "grid.map(sns.distplot, 'PropKnown', kde=False, norm_hist=True)" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "papermill": { "duration": 1.921161, "end_time": "2020-05-12T09:27:02.984437", "exception": false, "start_time": "2020-05-12T09:27:01.063276", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "grid = sns.FacetGrid(col='Set', row='Algorithm', data=select_explicit(rec_stats), sharey=False, margin_titles=True)\n", "grid.map(sns.distplot, 'PropFemale', kde=False, norm_hist=True)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "papermill": { "duration": 1.863977, "end_time": "2020-05-12T09:27:04.878420", "exception": false, "start_time": "2020-05-12T09:27:03.014443", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "grid = sns.FacetGrid(col='Set', row='Algorithm', data=select_explicit(rec_stats), sharey=False, margin_titles=True)\n", "grid.map(sns.distplot, 'PropKnown', kde=False, norm_hist=True)" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.033007, "end_time": "2020-05-12T09:27:04.945426", "exception": false, "start_time": "2020-05-12T09:27:04.912419", "status": "completed" }, "tags": [] }, "source": [ "## Dummy Code Distributions" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "papermill": { "duration": 2.787695, "end_time": "2020-05-12T09:27:07.768114", "exception": false, "start_time": "2020-05-12T09:27:04.980419", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "grid = sns.FacetGrid(col='Set', row='Algorithm', data=select_implicit(rec_stats), sharey=False, margin_titles=True)\n", "grid.map(sns.distplot, 'PropDC', kde=False, norm_hist=True)" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "papermill": { "duration": 1.974708, "end_time": "2020-05-12T09:27:09.779829", "exception": false, "start_time": "2020-05-12T09:27:07.805121", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "grid = sns.FacetGrid(col='Set', row='Algorithm', data=select_explicit(rec_stats), sharey=False, margin_titles=True)\n", "grid.map(sns.distplot, 'PropDC', kde=False, norm_hist=True)" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.045004, "end_time": "2020-05-12T09:27:09.860835", "exception": false, "start_time": "2020-05-12T09:27:09.815831", "status": "completed" }, "tags": [] }, "source": [ "## Prepare for Modeling\n", "\n", "With this analysis, we need to prepare our recommendation data for modeling." ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.035998, "end_time": "2020-05-12T09:27:09.941815", "exception": false, "start_time": "2020-05-12T09:27:09.905817", "status": "completed" }, "tags": [] }, "source": [ "Because ALS on BX-E behaves _so_ badly, we can't really use it. Drop from further analysis." ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "papermill": { "duration": 0.278994, "end_time": "2020-05-12T09:27:10.255809", "exception": false, "start_time": "2020-05-12T09:27:09.976815", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "rec_stats = rec_stats.drop(('BX-E', 'als'))" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "papermill": { "duration": 0.054018, "end_time": "2020-05-12T09:27:10.345841", "exception": false, "start_time": "2020-05-12T09:27:10.291823", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "rec_stats.to_pickle('data/rec-data.pkl')" ] }, { "cell_type": "markdown", "metadata": { "papermill": { "duration": 0.035024, "end_time": "2020-05-12T09:27:10.414837", "exception": false, "start_time": "2020-05-12T09:27:10.379813", "status": "completed" }, "tags": [] }, "source": [ "We also want to save this data for STAN." ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "papermill": { "duration": 0.040006, "end_time": "2020-05-12T09:27:10.487838", "exception": false, "start_time": "2020-05-12T09:27:10.447832", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "def inf_dir(sname):\n", " return data_dir / sname / 'inference'" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "papermill": { "duration": 0.171995, "end_time": "2020-05-12T09:27:10.693801", "exception": false, "start_time": "2020-05-12T09:27:10.521806", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "preparing STAN input for AZ\n", "AZ has algorithms Index(['als', 'bpr-imp', 'item-item', 'item-item-imp', 'user-user',\n", " 'user-user-imp', 'wrls-imp'],\n", " dtype='object')\n", "preparing STAN input for BX-E\n", "BX-E has algorithms Index(['item-item', 'user-user'], dtype='object')\n", "preparing STAN input for BX-I\n", "BX-I has algorithms Index(['bpr', 'item-item', 'user-user', 'wrls'], dtype='object')\n", "preparing STAN input for GR-E\n", "GR-E has algorithms Index(['item-item', 'user-user'], dtype='object')\n", "preparing STAN input for GR-I\n", "GR-I has algorithms Index(['bpr', 'item-item', 'user-user', 'wrls'], dtype='object')\n" ] } ], "source": [ "for sname, frame in rec_stats.groupby('Set'):\n", " print('preparing STAN input for', sname)\n", " lists = frame.reset_index().astype({'Algorithm': 'category'})\n", " algos = lists['Algorithm'].cat.categories\n", " print(sname, 'has algorithms', algos)\n", " \n", " # set up the users\n", " users = profiles.loc[sname, :]\n", " users = users.assign(unum=np.arange(len(users), dtype='i4') + 1)\n", " lists = lists.join(users[['unum']], on='user')\n", " \n", " data = {\n", " 'A': len(algos),\n", " 'J': len(users),\n", " 'NL': len(lists),\n", " 'n': users['Known'],\n", " 'y': users['female'],\n", " 'ru': lists['unum'],\n", " 'ra': lists['Algorithm'].cat.codes + 1,\n", " 'rn': lists['Known'],\n", " 'ry': lists['female']\n", " }\n", " \n", " # and write\n", " dir = inf_dir(sname)\n", " dir.mkdir(exist_ok=True)\n", " in_fn = dir / 'full-inputs.json'\n", " in_fn.write_text(ujson.dumps(data))\n", " # in_fn.write_text(ujson.dumps(stan_inputs(frame, 'Known', 'female')))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "papermill": { "duration": 0.04297, "end_time": "2020-05-12T09:27:10.772804", "exception": false, "start_time": "2020-05-12T09:27:10.729834", "status": "completed" }, "tags": [] }, "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.7.6" }, "papermill": { "duration": 82.279201, "end_time": "2020-05-12T09:27:12.317715", "environment_variables": {}, "exception": null, "input_path": "RecDataPrep.ipynb", "output_path": "RecDataPrep.temp.ipynb", "parameters": {}, "start_time": "2020-05-12T09:25:50.038514", "version": "1.0.1" } }, "nbformat": 4, "nbformat_minor": 4 }