{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Building a Recommender System from Scratch" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Step 1: Import Dependencies\n", "\n", "We are using [pandas.DataFrame](http://pandas.pydata.org/pandas-docs/version/0.19/generated/pandas.DataFrame.html) to represent our data. We will visualize our data with [matplotlib](https://matplotlib.org/) and [seaborn](https://seaborn.pydata.org/).\n", "\n", "**What is a DataFrame?**\n", "\n", "- a two-dimensional Pandas data structure\n", "- columns represent features, rows represent items\n", "- analogous to an Excel spreadsheet or SQL table\n", "- documentation can be found here" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Step 2: Load Data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's download a small version of the MovieLens dataset. See here for zip file url, or directly download here. We're working with data in ml-latest-small.zip and will need to add the following files to our repository:\n", "\n", "- ratings.csv\n", "- movies.csv\n", "\n", "Alternatively, you can access the data here:\n", "\n", "- https://s3-us-west-2.amazonaws.com/recommender-tutorial/movies.csv\n", "- https://s3-us-west-2.amazonaws.com/recommender-tutorial/ratings.csv" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "ratings = pd.read_csv('data/ratings.csv')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "movies = pd.read_csv('data/movies.csv')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Step 3: Exploratory Data Analysis" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of ratings: 100836\n", "Number of unique movieId's: 9724\n", "Number of unique users: 610\n", "Average number of ratings per user: 165.3\n", "Average number of ratings per movie: 10.37\n" ] } ], "source": [ "n_ratings = len(ratings)\n", "n_movies = ratings['movieId'].nunique()\n", "n_users = ratings['userId'].nunique()\n", "\n", "print(f\"Number of ratings: {n_ratings}\")\n", "print(f\"Number of unique movieId's: {n_movies}\")\n", "print(f\"Number of unique users: {n_users}\")\n", "print(f\"Average number of ratings per user: {round(n_ratings/n_users, 2)}\")\n", "print(f\"Average number of ratings per movie: {round(n_ratings/n_movies, 2)}\")" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sns.countplot(x=\"rating\", data=ratings, palette=\"viridis\")\n", "plt.title(\"Distribution of movie ratings\", fontsize=14)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mean global rating: 3.5.\n", "Mean rating per user: 3.66.\n" ] } ], "source": [ "print(f\"Mean global rating: {round(ratings['rating'].mean(),2)}.\")\n", "\n", "mean_ratings = ratings.groupby('userId')['rating'].mean()\n", "print(f\"Mean rating per user: {round(mean_ratings.mean(),2)}.\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Best vs. Worst Movie\n", "\n", "Which movie has the lowest and highest average rating?" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
movieIdtitlegenres
26893604Gypsy (1962)Musical
\n", "
" ], "text/plain": [ " movieId title genres\n", "2689 3604 Gypsy (1962) Musical" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mean_ratings = ratings.groupby('movieId')[['rating']].mean()\n", "lowest_rated = mean_ratings['rating'].idxmin()\n", "movies[movies['movieId'] == lowest_rated]\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`Gypsy` has the lowest average rating." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
movieIdtitlegenres
4853Lamerica (1994)Adventure|Drama
\n", "
" ], "text/plain": [ " movieId title genres\n", "48 53 Lamerica (1994) Adventure|Drama" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "highest_rated = mean_ratings['rating'].idxmax()\n", "movies[movies['movieId'] == highest_rated]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lamerica may be the \"highest\" rated movie, but it only has one rating. A better approach for evaluating movie popularity is to do look at the [Bayesian average](https://en.wikipedia.org/wiki/Bayesian_average)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Bayesian Average\n", "\n", "Bayesian Average is defined as:\n", "\n", "$r_{i} = \\frac{C \\times m + \\Sigma{\\text{reviews}}}{C+N}$\n", "\n", "where $C$ represents our confidence, $m$ represents our prior, and $N$ is the total number of reviews for movie $i$. In this case, our prior will be the average rating across all movies. By defintion, C represents \"the typical data set size\". Let's make $C$ be the average number of ratings for a given movie." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "movie_stats = ratings.groupby('movieId')[['rating']].agg(['count', 'mean'])\n", "movie_stats.columns = movie_stats.columns.droplevel()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "C = movie_stats['count'].mean()\n", "m = movie_stats['mean'].mean()\n", "\n", "def bayesian_avg(ratings):\n", " bayesian_avg = (C*m+ratings.sum())/(C+ratings.count())\n", " return bayesian_avg\n", "\n", "bayesian_avg_ratings = ratings.groupby('movieId')['rating'].agg(bayesian_avg).reset_index()\n", "bayesian_avg_ratings.columns = ['movieId', 'bayesian_avg']\n", "movie_stats = movie_stats.merge(bayesian_avg_ratings, on='movieId')" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
movieIdcountmeanbayesian_avgtitle
2773183174.4290224.392070Shawshank Redemption, The (1994)
6598581924.2890624.236457Godfather, The (1972)
222429592184.2729364.227052Fight Club (1999)
2242602514.2310764.192646Star Wars: Episode IV - A New Hope (1977)
46502044.2377454.190567Usual Suspects, The (1995)
\n", "
" ], "text/plain": [ " movieId count mean bayesian_avg \\\n", "277 318 317 4.429022 4.392070 \n", "659 858 192 4.289062 4.236457 \n", "2224 2959 218 4.272936 4.227052 \n", "224 260 251 4.231076 4.192646 \n", "46 50 204 4.237745 4.190567 \n", "\n", " title \n", "277 Shawshank Redemption, The (1994) \n", "659 Godfather, The (1972) \n", "2224 Fight Club (1999) \n", "224 Star Wars: Episode IV - A New Hope (1977) \n", "46 Usual Suspects, The (1995) " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movie_stats = movie_stats.merge(movies[['movieId', 'title']])\n", "movie_stats.sort_values('bayesian_avg', ascending=False).head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using the Bayesian average, we see that `Shawshank Redemption`, `The Godfather`, and `The Usual Suspects` are the most highly rated movies. This result makes much more sense since these movies are critically acclaimed films." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
movieIdcountmeanbayesian_avgtitle
11721556191.6052632.190377Speed 2: Cruise Control (1997)
26793593191.6578952.224426Battlefield Earth (2000)
13721882331.9545452.267268Godzilla (1998)
11441499271.9259262.296800Anaconda (1997)
19882643161.6875002.306841Superman IV: The Quest for Peace (1987)
\n", "
" ], "text/plain": [ " movieId count mean bayesian_avg \\\n", "1172 1556 19 1.605263 2.190377 \n", "2679 3593 19 1.657895 2.224426 \n", "1372 1882 33 1.954545 2.267268 \n", "1144 1499 27 1.925926 2.296800 \n", "1988 2643 16 1.687500 2.306841 \n", "\n", " title \n", "1172 Speed 2: Cruise Control (1997) \n", "2679 Battlefield Earth (2000) \n", "1372 Godzilla (1998) \n", "1144 Anaconda (1997) \n", "1988 Superman IV: The Quest for Peace (1987) " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movie_stats.sort_values('bayesian_avg', ascending=True).head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With Bayesian averaging, it looks like `Speed 2: Cruise Control`, `Battlefield Earth`, and `Godzilla` are the worst rated movies. `Gypsy` isn't so bad after all." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### A Glimpse at Movie Genres\n", "\n", "The movies dataset needs to be cleaned in two ways:\n", "\n", "- `genres` is expressed as a string with a pipe `|` separating each genre. We will manipulate this string into a list, which will make it much easier to analyze.\n", "- `title` currently has (year) appended at the end. We will extract year from each title string and create a new column for it." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
movieIdtitlegenres
01Toy Story (1995)[Adventure, Animation, Children, Comedy, Fantasy]
12Jumanji (1995)[Adventure, Children, Fantasy]
23Grumpier Old Men (1995)[Comedy, Romance]
34Waiting to Exhale (1995)[Comedy, Drama, Romance]
45Father of the Bride Part II (1995)[Comedy]
\n", "
" ], "text/plain": [ " movieId title \\\n", "0 1 Toy Story (1995) \n", "1 2 Jumanji (1995) \n", "2 3 Grumpier Old Men (1995) \n", "3 4 Waiting to Exhale (1995) \n", "4 5 Father of the Bride Part II (1995) \n", "\n", " genres \n", "0 [Adventure, Animation, Children, Comedy, Fantasy] \n", "1 [Adventure, Children, Fantasy] \n", "2 [Comedy, Romance] \n", "3 [Comedy, Drama, Romance] \n", "4 [Comedy] " ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movies['genres'] = movies['genres'].apply(lambda x: x.split(\"|\"))\n", "movies.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**How many movie genres are there?**" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "There are 20 genres.\n" ] }, { "data": { "text/plain": [ "Counter({'Adventure': 1263,\n", " 'Animation': 611,\n", " 'Children': 664,\n", " 'Comedy': 3756,\n", " 'Fantasy': 779,\n", " 'Romance': 1596,\n", " 'Drama': 4361,\n", " 'Action': 1828,\n", " 'Crime': 1199,\n", " 'Thriller': 1894,\n", " 'Horror': 978,\n", " 'Mystery': 573,\n", " 'Sci-Fi': 980,\n", " 'War': 382,\n", " 'Musical': 334,\n", " 'Documentary': 440,\n", " 'IMAX': 158,\n", " 'Western': 167,\n", " 'Film-Noir': 87,\n", " '(no genres listed)': 34})" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from collections import Counter\n", "\n", "genre_frequency = Counter(g for genres in movies['genres'] for g in genres)\n", "\n", "print(f\"There are {len(genre_frequency)} genres.\")\n", "\n", "genre_frequency" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The 5 most common genres: \n", " [('Drama', 4361), ('Comedy', 3756), ('Thriller', 1894), ('Action', 1828), ('Romance', 1596)]\n" ] } ], "source": [ "print(\"The 5 most common genres: \\n\", genre_frequency.most_common(5))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Step 4: Data Pre-processing\n", "\n", "We are going to use a technique called colaborative filtering to generate recommendations for users. This technique is based on the premise that similar people like similar things. \n", "\n", "The first step is to transform our data into a user-item matrix, also known as a \"utility\" matrix. In this matrix, rows represent users and columns represent movies. The beauty of collaborative filtering is that it doesn't require any information about the users or the movies user to generate recommendations.\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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EIgpYOecffv2VfnPf/7Tv0OHDgcj5fhu0qTJtldfffWGzZs3F465U1ZAAAEEEEAAAQQQQAABBBBAAAEEsqKAtWwbPnx440aNGk1R+VMFcy1wYh0aTZo06Z0DBw7Us/WzYj0pMwIIJJeAzkW51q9ff9pTTz012+4gUO1SjdbhWvfu3SfTije5XntqgwACCCCAAAIIIIAAAggggEC2Fli6dGnhW265pUfBggV3CyJVQESdE/mU2/IPBU66KoBC7sps/W6h8ggktoDOUcXVueMd11xzzV7rxFGlTTU2bNhw22uvvXYd57PEfi0pHQIIIIAAAggggAACCCCAAAIIhBFQQCPH66+/Xvv0009/V4tTBT7y58/vu/rqq31Tp059WetWt/XD7IZZCCCAQEIK6JyV86+//jrlhRde+LBevXqpznEqtK9YsWK+e++99/UlS5ZU4xyXkC8jhUIAAQQQQAABBBBAAAEEEEAAgYDA6tWr8/Xu3fsS5c79Q/NSBTtOPvlk30svvbR8x44dHRToyBvYjkcEEEAgqwroXFZ4zpw511x33XWb7aKV6uEZrWNI5eld/tFHH7XTurmzaj0pNwIIIIAAAggggAACCCCAAAIIJJmAtUT75JNPKrVv336oBTBUPc+YN29ef+vc2bNnD9W6lWz9JCOgOggggIBj5zZdtKr1/PPPTzjxxBM950Hx+J9Xr179yNNPP91brX2LQoYAAggggAACCCCAAAIIIIAAAghkioCCGDmHDBnSTDlyf1IBUgUxLHfuM888s3nTpk2Xad18mVJIDooAAghkgoDOeUU+//zzOzt27Lg/Z86cqc6PBQoU8PXs2XOccpCTiiYTXh8OiQACCCCAAAIIIIAAAggggEC2FPj111/z3nHHHZerF/htAvAELHLlyuXr1KmTTwGNDxXYqKuR1rnZ8l1CpRFAwAR0Dsy1atWqln369FlYqlQpz/nSFttdDueff/7iKVOmtLB1UUMAAQQQQAABBBBAAAEEEEAAAQTSXUCBh5JKt/B4uHQLJUqU8N1///37lWP3bgUniqX7wdkhAgggkIUF7CLXvn37qrz55psjGzVqlCrAq6r5lIN8tzqdvNounmXhqlJ0BBBAAAEEEEAAAQQQQAABBBBIBAELRijQULtu3bofqzypghH169f3jRw5coUCFmfT2iwRXjHKgAACiS6gc2WB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7922bVtn/ajOleUqRoERQAABBLKMgF04/Pnnny9u3779XhXaExxQx507R4wY0daCwFmmQhQUAQQQyEYCugiXqoNlVT94Llf6nZOzEQdVRQABBBBAAAEEMl5gwoQJuXT1vItugd2vowW/eNktsd27dz+4fv366/QjmlZSGf9ScAQEEEAAgaMC+r+T8tlnn93doEGD4P8lLfJP16lTZ/GHH354ElgIIIAAAokloMDuRpUo1Xk7MK93795NE6vElAYBBBBAAAEEEMiiAtbi6YknnjircOHCm1WF4Bcwa7HbpUsX39KlS+/SOnmyaPUoNgIIIIBAEgjo/1Ah5Wt8uXLlysH/U6qWf7pVq1aTly1bVioJqkkVEEAAgaQQUGD3W1Uk1fk6MI/AblK8zFQCAQQQQAABBDJbQD+ST6pUqdJClcPzxatt27a+H374YYB+SBfI7DJyfAQQQAABBAICe/bsKa88718ULVrU838rZ86cvptuuunJ1atX5wusyyMCCCCAQOYIKMfuszqy5zztft6nT5/6mVMyjooAAggggAACCCSBwJQpU8o2bNjwE1XF84WrXr16vo8++mikArrFkqCaVAEBBBBAIEkFtm7dWrdXr15LU1JSPP/HdPfJwaeeespywedM0qpTLQQQQCDhBR5//PHqKqTn/Ox+rn47Cid8JSggAggggAACCCCQaALz588v2KFDh6Eql+eLljqi8Y0cOfLj3bt3l0u0MlMeBBBAAAEEwgkoeJtD6YLOvvDCC7dpuef/WvXq1Ve999579cJtxzwEEEAAgYwXsDsovv7665qzZs1qrMdms2fPbqKx3rRp0wpl/NE5AgIIIIAAAgggkEQC+vGb+84777zVOkJTtYJjgQIFfA8//PBPO3bsqJVE1aUqCCCAAALZSMD+x33++ec3nXzyycH/b6q+f7ply5aTFVAokY04qCoCCCCAAAIIIIAAAggggEAyCFhrphdffLFtiRIldqo+wR+8lovwxhtvXPv77783sXWSoa7UAQEEEEAgewvo/1nBl19+eUSpUqWC/+8k4rP/ebfeemufuXPnpmRvIWqPAAIIIIAAAggggAACCCCQJQSUR/fEunXrLlZhPT9w1THa7nnz5l2oH8DkH8wSrySFRAABBBBIi4Dy71a+9957vw/Nv2sXOYcPH96CC5pp0WRdBBD4JwXs/MQ5Km3i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nd1mhQABAgQIEMiNQJoc7c033zxx++23n37uued2mzNnTqbhihUrhj//+c83xxG8G8aaukON0s2Nt1YIECBAgAABAgQILE9AsLs8GdtLjcBmm22WGbl7yimnZPscP/oZdthhh/Dwww9nt1khQIAAAQIEVk9gxowZjc8666xP4xuqt7377rvZxlq1ajV5+PDhTa+77rrTYqA7L7vDCgECBAgQIECAAAECeRMQ7OaNVsNrUqBKlSrh5ptvDnGCllC1atXMqWfOnBkOOeSQcPbZZ4dUpsGDAAECBAgQKJpAHKW7bnyz9LZtt932g169etVftGhRpqH0O/fKK6/8cwx568WJTD8oWuteRYAAAQIECBAgQIBAUQQEu0VR85oSKxAnbgmvv/562GabbbJ9vPbaa0OnTp3ClClTstusECBAgAABAr8ukMouTJgw4cBu3brNPPjgg0+cNGlS9kWdO3ce/t57721y3nnnXR9H6f4v6c3utUKAAAECBAgQIECAQL4FBLv5Ftb+Ghdo0aJFpu7u/vvvnz33K6+8Elq3bh2GDBmS3WaFAAECBAgQWL7A3Llzt/zHP/4xqmnTpo88/fTT2X8zbrLJJgvixGj7xgnT2sc3UqcuvwV7CBAgQIAAAQIECBDIp0D2H+n5PIm2CaxpgZo1a4ZHH300XHHFFSFN5pIeacTu7rvvntkWRyCt6S45HwECBAgQKBUC8XfkOoMHD74+To42/sILL2wWA95MvytUqBB+//vf3xnLLtQ66qijnjI5Wqm4nTpJgAABAgQIECBQhgUEu2X45pb3S4t/cIb48dAQRxSF2rVrZzhSrd2ePXuGvfbaK0ydapBRef8ecf0ECBAgsEQgBrprxd+Nex977LHTO3bs+MexY8dmd8aQ9/OhQ4due9NNNx2/+eabz8nusEKAAAECBAgQIECAQLEJCHaLjd6J15RA/OM0vPPOO6FDhw7ZUw4YMCDEGbxDHJGU3WaFAAECBAiUV4EY6taLk5CObNy48dP9+vVbu8ChRo0aoXfv3ie//fbbDdq3b78k6S04wDMBAgQIECBAgAABAsUmINgtNnonXpMCderUCS+99FL4y1/+EtJHSdPjyy+/DHHil3DxxReHgtm912SfnIsAAQIECBS3QCq78Nprr13fpk2biaeddlrz7777Ltulww8//JmRI0eu36NHj1tNjpZlsUKAAAECBAgQIECgxAgIdkvMrdCRfAukWrtxEpjw3HPPhTjxS+Z0ixcvDn/7299Cp06dwuTJk/PdBe0TIECAAIESIRAD3Qqx9vy+xx133Ixddtnlj+mTLQWPhg0bfhs/2dKuf//+3Ro0aDC9YLtnAgQIECBAgAABAgRKloBgt2TdD71ZAwJdunQJI0aMyIS5Bad7+eWXM6UZnn322YJNngkQIECAQJkU+OGHH7a6/vrrRzdq1OiJvn37Vo4hb+Y6q1atGv7+97+fPW7cuE322GOP4SZHK5O330URIECAAAECBAiUIQHBbhm6mS5l5QU23XTTMHDgwPQHbEgjedPj66+/Dvvss08466yzwrx581a+MUcSIECAAIFSIBAD3HWff/7522LZhU/+/Oc/N50xY0a21wcffPCzMdDd8KKLLro2BroLszusECBAgAABAgQIECBQYgUEuyX21uhYvgVSrd0LL7wwM4HaFltskTldGrXUq1evsOOOO4YxY8bkuwvaJ0CAAAECeRdIZRcmTJhwZKyZOzPWlj9x6d9vTZs2nRbf6NzhoYce2qdu3brf5r0zTkCAAAECBAgQIECAQM4EBLs5o9RQaRXYddddM6UZunXrlr2EUaNGhbZt24Y+ffqEgo+oZndaIUCAAAECpURg1qxZzWN9+QnbbrvtPQ888ED2333Vq1cPV1999Rnvv//+pl27dn1L2YVSckN1kwABAgQIECBAgMBSAtl/4C+1zSqBciew4YYbhieffDLceOONIdUYTI9YgzDEmcDD3nvvHeIEM+XOxAUTIECAQOkViG9Krh+D3Me32267UfHTKXXnzJmTuZgY4IZjjjnmoYkTJ9Y655xz/hW/XlR6r1LPCRAgQIAAAQIECJRvAcFu+b7/rv5nAr///e9Dmhm8devW2T3PPfdcaNGiRXjiiSey26wQIECAAIGSKBAD3cpvvvnmufHTKN8edthh+8USDNluxt9tn7z00kvb9uvX79ANNtjg++wOKwQIECBAgAABAgQIlEoBwW6pvG06nU+BJk2ahNdffz2ce+65IdXhTY80sdr+++8fTj311FAw6imffdA2AQIECBBYFYEY6K41adKkTscdd9x3sU78la+++mr25RtvvPG8m2+++YD4xmWj3XbbbWx2h5WcC8T7UPGCCy7o0KVLlz516tQZFUtgjNtvv/3uevjhhzvHff7dnXNxDRIgQIAAAQIEyreAf2CW7/vv6pcjUKVKlXDllVeGF154IcTJZLJH/ec//wmtWrUKr732WnabFQIECBAgUJwCsXTQVrGO7sjGjRs/37dv3/VigJjpTvpddvbZZ/9z6tSpNeMbk4/HsguLi7OfZf3c8U3hTeK/GSbHezFk0KBBp0+ePLl5rGHcMH7i56iDDz540O677/5GCn7LuoPrI0CAAAECBAgQWHMCgt01Z+1MpVDgt7/9bUgTqcWZxLO9/+ijj0KacC3WJszU4c3usEKAAAECBNagQAwJq9977719GzVq9Emso9t89uzZ2bMfcMABgz744INNr7nmmr/EQHdedoeVvAjEe7HOscce+1EcNV17p512WvDGG2/8NX7C53fDhw8fcN5554UUsg8ePLhN/DRQp7x0QKMECBAgQIAAAQLlUqBSubxqF01gFQRq1aoV+vfvH/bZZ59wxhlnhO+//z4sXrw4xD+Ww9NPPx3i6Kiwww47rEKLDiVAgAABAkUXiCFipWHDhp26yy679Pn5J0hatmw5/tprrz2gU6dO78VA939Dd4t+Kq9cSYHbb7/99A8//LB6LL+QAtwG66677hc/vfT2eL+2iP+W+Lhnz55r33///SfF7QNXslmHESBAgAABAgQIEFihgBG7K+Sxk8ASgaOPPjqMHj067LHHHtmNY8eODe3btw9xpFSYP39+drsVAgQIECCQa4EYEK41bty4zocccsi3O++88zKhbu3atefdcsst+48YMWKbzp07jxLq5lp/xe0NGTLkyHTESSedNHepUDfzongvJnXt2vWM9MVnn33WJrPRfwgQIECAAAECBAjkQECwmwNETZQfgS222CI899xzIf7xHKpXr5658EWLFoVYTy8zajf+QV1+MFwpAQIECKwxgVivtcnpp58+plmzZoPiRFz/+wUUz7722munyT7P/+qrr2qcfPLJT8QQUR3dNXZXlpwolsE4f5tttpnStm3bfZZsXbI2bdq0eumrjTbaaPKSrdYIECBAgAABAgQIrJ6AYHf1/Ly6nArEETnhvffeC3EilKxAqsUbZyIPl156aViwYEF2uxUCBAgQIFBUgZkzZ9a+7LLLnowTo4298cYbmxb8fokBbvi///u/e2Id3fWvuuqqK+PXPjZSVOQcvO6hhx4a+PHHH2/WrVu3wT9vLo60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WGsy9O3bNzOC95RTTlmmRMPbb78dDjrooNC8efMQJxcKixaZP6iozl5HgEB+BGKYu1Zcthw4cOC/48+rOVtuueU9l1566QaTJ0/OnrBy5crhyCOPvGT48OEbxWXPo4466n31c7M8VggQIECAAAECBAgQKCMCgt0yciNdBoFVFWjQoEG4+eabw6effhr+9Kc/hXXXXTfbxJgxY0L37t1DCoF79+4dZs2ald1nhQABAsUhkEbnTp069ZBrrrlmUsOGDcd37dr11PQJg6XfgIrlFibGUbn7jhgxYu345tSlcbTuN8XRV+ckQIAAAQIECBAgQIDAmhAQ7K4JZecgUIIF4seXw3XXXRcmTJgQzj///FCjRo1sb9O2P/7xj6FevXqhZ8+e4csvv8zus0KAAIF8C/w0Orfxq6++encsITMn/ix68Jxzztn8448/zp46jsQNnTp1urt///7bxHILDWId3aeaNWs2P3uAFQIECBAgQIAAAQIECJRRAcFuGb2xLovAqgpsvPHG4Z///GeYOHFiiB9rDhtttFG2ie+++y5cccUVIX7kOcTZ5MPo0aOz+6wQIEAg1wIx0K0e30g67sorr5zWuHHjD+IEj93vuuuusPRkaBtssMHMM8888/h4XLU4EeTRRxxxxCfKLeT6TmiPAAECBAgQIECAAIGSLCDYLcl3R98IFINArVq1wl//+tfw2WefhX//+9+hUaNG2V7Mnz8/3HnnnZkavHvuuWcYNGhQdp8VAgQIrI5ADHMrxp8xLR977LGn999//xl169a9I36KYINx48Yt02y7du2einXCW37zzTe1evXqdeemm246e5kDfEGAAAECBAgQIECAAIFyIiDYLSc32mUSWFWBqlWrhlNPPTWMHTs2xKAlxBFzyzQxYMCAEGtchqZNm4Z//etfYebMmcvs9wUBAgR+TeCnUgt1PvjggwtjiDs3lloYccABB+z9xBNPhIULF2ZfHt9wmn7aaaedEI+r8frrr+977LHHjoqjcxdnD7BCgAABAgQIECBAgACBcigg2C2HN90lE1gVgQoVKoQ4ei4MGTIkxEAlHHrooaFixYrZJmLQEs4444yQavWefvrpmSA4u9MKAQIEChFIpRamT59++G233TZx1113ndSkSZO/x7ILladMmZI9OtXO3X333R+6++67m8VyMBvGTxDcEY/zDlJWyAoB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QIAAAQIECBAgQIBAkQQEu0Vi8yICBAgQIECAAAECBAgQIECAAAECBAgUn4Bgt/jsnZkAAQIECBAgQIAAAQIECBAgQIAAAQJFEhDsFonNiwgQIECAAAECBAgQIECAAAECBAgQIFB8AoLd4rN3ZgIECBAgQIAAAQIECBAgQIAAAQIECBRJQLBbJDYvIkCAAAECBAgQIECAAAECBAgQIECAQPEJCHaLz96ZCRAgQIAAAQIECBAgQIAAAQIECBAgUCQBwW6R2LyIAAECBAgQIECAAAECBAgQIECAAAECxScg2C0+e2cmQIAAAQIECBAgQIAAAQIECBAgQIBAkQQEu0Vi8yICBAgQIECAAAECBAgQIECAAAECBAgUn4Bgt/jsnZkAAQIECBAgQIAAAQIECBAgQIAAAQJFEhDsFonNiwgQIECAAAECBAgQIECAAAECBAgQIFB8AoLd4rN3ZgIECBAgQIAAAQIECBAgQIAAAQIECBRJQLBbJDYvIkCAAAECBAgQIECAAAECBAgQIECAQPEJCHaLz96ZCRAgQIAAAQIECBAgQIAAAQIECBAgUCQBwW6R2LyIAAECBAgQIECAAAECBAgQIECAAAECxScg2C0+e2cmQIAAAQIECBAgQIAAAQIECBAgQIBAkQQEu0Vi8yICBAgQIECAAAECBAgQIECAAAECBAgUn4Bgt/jsnZkAAQIECBAgQIAAAQIECBAgQIAAAQJFEhDsFonNiwgQIECAAAECBAgQIECAAAECBAgQIFB8AmsV36nzc+bevXv/+Gstn3HGGb92iP0lTGCttZZ8q/7446/e4hLWe90pTgHfO8Wpn9tz9+nT51cb7NGjx5IfFr96tAMIECBQ8gVW5t+2Jf8q9JAAAQIECBAgUPYESsLfn0bslr3vK1dEgAABAgQIECBAgAABAgQIECBAgEAZFxDslvEb7PIIECBAgAABAgQIECBAgAABAgQIECh7AoLdsndPXREBAgQIECBAgAABAgQIECBAgAABAmVcQLBbxm+wyyNAgAABAgQIECBAgAABAgQIECBAoOwJCHbL3j11RQQIECBAgAABAgQIECBAgAABAgQIlHEBwW4Zv8EujwABAgQIECBAgAABAgQIECBAgACBsicg2C1799QVESBAgAABAgQIECBAgAABAgQIECBQxgUEu2X8Brs8AgQIECBAgAABAgQIECBAgAABAgTKnoBgt+zdU1dEgAABAgQIECBAgAABAgQIECBAgEAZFxDslvEb7PIIECBAgAABAgQIECBAgAABAgQIECh7AoLdsndPXREBAgQIECBAgAABAgQIECBAgAABAmVcoFIZvz6XR4AAAQIECBAgQKDUCvTo0WOtUtt5HSdAgAABAgQIEMirgBG7eeXVOAECBAgQIECAAAECBAgQIECAAAECBHIvINjNvakWCRAgQIAAAQIECBAgQIAAAQIECBAgkFcBwW5eeTVOgAABAgQIECBAgAABAgQIECBAgACB3AsIdnNvqkUCBAgQIECAAAECBAgQIECAAAECBAjkVUCwm1dejRMgQIAAAQIECBAgQIAAAQIECBAgQCD3AoLd3JtqkQABAgQIECBAgAABAgQIECBAgAABAnkVEOzmlVfjBAgQIECAAAECBAgQIECAAAECBAgQyL2AYDf3plokQIAAAQIECBAgQIAAAQIECBAgQIBAXgUEu3nl1TgBAgQIECBAgAABAgQIECBAgAABAgRyLyDYzb2pFgkQIECAAAECBAgQIECAAAECBAgQIJBXAcFuXnk1ToAAAQIECBAgQIAAAQIECBAgQIAAgdwLCHZzb6pFAgQIECBAgAABAgQIECBAgAABAgQI5FVAsJtXXo0TIECAAAECBAgQIECAAAECBAgQIEAg9wKC3dybapEAAQIECBAgQIAAAQIECBAgQIAAAQJ5FRDs5pVX4wQIECBAgAABAgQIECBAgAABAgQIEMi9gGA396ZaJECAAAECBAgQIECAAAECBAgQIECAQF4FBLt55dU4AQIECBAgQIAAAQIECBAgQIAAAQIEci8g2M29qRYJECBAgAABAgQIECBAgAABAgQIECCQVwHBbl55NU6AAAECBAgQIECAAAECBAgQIECAAIHcCwh2c2+qRQIECBAgQIAAAQIECBAgQIAAAQIECORVQLCbV16NEyBAgAABAgQIECBAgAABAgQIECBAIPcCgt3cm2qRAAECBAgQIECAAAECBAgQIECAAAECeRUQ7OaVV+MECBAgQIAAAQIECBAgQIAAAQIECBDIvYBgN/emWiRAgAABAgQIECBAgAABAgQIECBAgEBeBQS7eeXVOAECBAgQIECAAAECBAgQIEDLBmIfAAAQv0lEQVSAAAECBHIvINjNvakWCRAgQIAAAQIECBAgQIAAAQIECBAgkFcBwW5eeTVOgAABAgQIECBAgAABAgQIECBAgACB3AsIdnNvqkUCBAgQIECAAAECBAgQIECAAAECBAjkVUCwm1dejRMgQIAAAQIECBAgQIAAAQIECBAgQCD3AoLd3JtqkQABAgQIECBAgAABAgQIECBAgAABAnkVEOzmlVfjBAgQIECAAAECBAgQIECAAAECBAgQyL2AYDf3plokQIAAAQIECBAgQIAAAQIECBAgQIBAXgUEu3nl1TgBAgQIECBAgAABAgQIECBAgAABAgRyLyDYzb2pFgkQIECAAAECBAgQIECAAAECBAgQIJBXAcFuXnk1ToAAAQIECBAgQIAAAQIECBAgQIAAgdwLCHZzb6pFAgQIECBAgAABAgQIECBAgAABAgQI5FVAsJtXXo0TIECAAAECBAgQIECAAAECBAgQIEAg9wKC3dybapEAAQIECBAgQIAAAQIECBAgQIAAAQJ5FRDs5pVX4wQIECBAgAABAgQIECBAgAABAgQIEMi9gGA396ZaJECAAAECBAgQIECAAAECBAgQIECAQF4FBLt55dU4AQIECBAgQIAAAQIECBAgQIAAAQIEci8g2M29qRYJECBAgAABAgQIECBAgAABAgQIECCQVwHBbl55NU6AAAECBAgQIECAAAECBAgQIECAAIHcCwh2c2+qRQIECBAgQIAAAQIECBAgQIAAAQIECORVQLCbV16NEyBAgAABAgQIECBAgAABAgQIECBAIPcCgt3cm2qRAAECBAgQIECAAAECBAgQIECAAAECeRUQ7OaVV+MECBAgQIAAAQIECBAgQIAAAQIECBDIvYBgN/emWiRAgAABAgQIECBAgAABAgQIECBAgEBeBQS7eeXVOAECBAgQIECAAAECBAgQIECAAAECBHIvINjNvakWCRAgQIAAAQIECBAgQIAAAQIECBAgkFcBwW5eeTVOgAABAgQIECBAgAABAgQIECBAgACB3AsIdnNvqkUCBAgQIECAAAECBAgQIECAAAECBAjkVUCwm1dejRMgQIAAAQIECBAgQIAAAQIECBAgQCD3AoLd3JtqkQABAgQIECBAgAABAgQIECBAgAABAnkVEOzmlVfjBAgQIECAAAECBAgQIECAAAECBAgQyL2AYDf3plokQIAAAQIECBAgQIAAAQIECBAgQIBAXgUEu3nl1TgBAgQIECBAgAABAgQIECBAgAABAgRyLyDYzb2pFgkQIECAAAECBAgQIECAAAECBAgQIJBXAcFuXnk1ToAAAQIECBAgQIAAAQIECBAgQIAAgdwLCHZzb6pFAgQIECBAgAABAgQIECBAgAABAgQI5FVAsJtXXo0TIECAAAECBAgQIECAAAECBAgQIEAg9wKC3dybapEAAQIECBAgQIAAAQIECBAgQIAAAQJ5FRDs5pVX4wQIECBAgAABAgQIECBAgAABAgQIEMi9gGA396ZaJECAAAECBAgQIECAAAECBAgQIECAQF4FBLt55dU4AQIECBAgQIAAAQIECBAgQIAAAQIEci8g2M29qRYJECBAgAABAgQIECBAgAABAgQIECCQVwHBbl55NU6AAAECBAgQIECAAAECBAgQIECAAIHcCwh2c2+qRQIECBAgQIAAAQIECBAgQIAAAQIECORVQLCbV16NEyBAgAABAgQIECBAgAABAgQIECBAIPcCgt3cm2qRAAECBAgQIECAAAECBAgQIECAAAECeRUQ7OaVV+MECBAgQIAAAQIECBAgQIAAAQIECBDIvYBgN/emWiRAgAABAgQIECBAgAABAgQIECBAgEBeBQS7eeXVOAECBAgQIECAAAECBAgQIECAAAECBHIvINjNvakWCRAgQIAAAQIECBAgQIAAAQIECBAgkFcBwW5eeTVOgAABAgQIECBAgAABAgQIECBAgACB3AsIdnNvqkUCBAgQIECAAAECBAgQIECAAAECBAjkVUCwm1dejRMgQIAAAQIECBAgQIAAAQIECBAgQCD3AoLd3JtqkQABAgQIECBAgAABAgQIECBAgAABAnkVEOzmlVfjBAgQIECAAAECBAgQIECAAAECBAgQyL2AYDf3plokQIAAAQIECBAgQIAAAQIECBAgQIBAXgUEu3nl1TgBAgQIECBAgAABAgQIECBAgAABAgRyLyDYzb2pFgkQIECAAAECBAgQIECAAAECBAgQIJBXAcFuXnk1ToAAAQIECBAgQIAAAQIECBAgQIAAgdwLCHZzb6pFAgQIECBAgAABAgQIECBAgAABAgQI5FVAsJtXXo0TIECAAAECBAgQIECAAAECBAgQIEAg9wKC3dybapEAAQIECBAgQIAAAQIECBAgQIAAAQJ5FRDs5pVX4wQIECBAgAABAgQIECBAgAABAgQIEMi9gGA396ZaJECAAAECBAgQIECAAAECBAgQIECAQF4FBLt55dU4AQIECBAgQIAAAQIECBAgQIAAAQIEci8g2M29qRYJECBAgAABAgQIECBAgAABAgQIECCQVwHBbl55NU6AAAECBAgQIECAAAECBAgQIECAAIHcCwh2c2+qRQIECBAgQIAAAQIECBAgQIAAAQIECORVQLCbV16NEyBAgAABAgQIECBAgAABAgQIECBAIPcCgt3cm2qRAAECBAgQIECAAAECBAgQIECAAAECeRUQ7OaVV+MECBAgQIAAAQIECBAgQIAAAQIECBDIvYBgN/emWiRAgAABAgQIECBAgAABAgQIECBAgEBeBQS7eeXVOAECBAgQIECAAAECBAgQIECAAAECBHIvINjNvakWCRAgQIAAAQIECBAgQIAAAQIECBAgkFcBwW5eeTVOgAABAgQIECBAgAABAgQIECBAgACB3AsIdnNvqkUCBAgQIECAAAECBAgQIECAAAECBAjkVWCtvLZeDI337t37x2I4rVMSIECAQAkQ6NGjR5n7vVYCWHWBAAECBAgQIECAAAECBEqggBG7JfCm6BIBAgQIECBAgAABAgQIECBAgAABAgRWJCDYXZGOfQQIECBAgAABAgQIECBAgAABAgQIECiBAoLdEnhTdIkAAQIECBAgQIAAAQIECBAgQIAAAQIrEhDsrkjHPgIECBAgQIAAAQIECBAgQIAAAQIECJRAAcFuCbwpukSAAAECBAgQIECAAAECBAgQIECAAIEVCQh2V6RjHwECBAgQIECAAAECBAgQIECAAAECBEqggGC3BN4UXSJAgAABAgQIECBAgAABAgQIECBAgMCKBAS7K9KxjwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBwgX+H58h8ekeT4WkAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import Image\n", "\n", "Image(\"imgs/user-movie-matrix.png\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `create_X()` function outputs a sparse matrix X with four mapper dictionaries:\n", "\n", "- **user_mapper**: maps user id to user index\n", "- **movie_mapper**: maps movie id to movie index\n", "- **user_inv_mapper**: maps user index to user id\n", "- **movie_inv_mapper**: maps movie index to movie id\n", "\n", "We need these dictionaries because they map which row/column of the utility matrix corresponds to which user/movie id.\n", "\n", "Our X (user-item) matrix is a [scipy.sparse.csr_matrix](https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.sparse.csr_matrix.html) which stores the data sparsely." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "from scipy.sparse import csr_matrix\n", "\n", "def create_X(df):\n", " \"\"\"\n", " Generates a sparse matrix from ratings dataframe.\n", " \n", " Args:\n", " df: pandas dataframe containing 3 columns (userId, movieId, rating)\n", " \n", " Returns:\n", " X: sparse matrix\n", " user_mapper: dict that maps user id's to user indices\n", " user_inv_mapper: dict that maps user indices to user id's\n", " movie_mapper: dict that maps movie id's to movie indices\n", " movie_inv_mapper: dict that maps movie indices to movie id's\n", " \"\"\"\n", " M = df['userId'].nunique()\n", " N = df['movieId'].nunique()\n", "\n", " user_mapper = dict(zip(np.unique(df[\"userId\"]), list(range(M))))\n", " movie_mapper = dict(zip(np.unique(df[\"movieId\"]), list(range(N))))\n", " \n", " user_inv_mapper = dict(zip(list(range(M)), np.unique(df[\"userId\"])))\n", " movie_inv_mapper = dict(zip(list(range(N)), np.unique(df[\"movieId\"])))\n", " \n", " user_index = [user_mapper[i] for i in df['userId']]\n", " item_index = [movie_mapper[i] for i in df['movieId']]\n", "\n", " X = csr_matrix((df[\"rating\"], (user_index,item_index)), shape=(M,N))\n", " \n", " return X, user_mapper, movie_mapper, user_inv_mapper, movie_inv_mapper\n", "\n", "X, user_mapper, movie_mapper, user_inv_mapper, movie_inv_mapper = create_X(ratings)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Evaluating sparsity\n", "\n", "Here, we calculate sparsity by dividing the number of stored elements by total number of elements. The number of stored (non-empty) elements in our matrix is equivalent to the number of ratings in our dataset." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Matrix sparsity: 1.7%\n" ] } ], "source": [ "n_total = X.shape[0]*X.shape[1]\n", "n_ratings = X.nnz\n", "sparsity = n_ratings/n_total\n", "print(f\"Matrix sparsity: {round(sparsity*100,2)}%\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`csr_matrix.nnz` counts the stored values in our sparse matrix. The rest of our cells are empty.\n", "\n", "The **cold start problem** is when there are new users and movies in our matrix that do not have any ratings. In our Movielens dataset, all users and movies have at least one rating but in general, it's useful to check which users and movies have few interactions." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Most active user rated 2698 movies.\n", "Least active user rated 20 movies.\n" ] } ], "source": [ "n_ratings_per_user = X.getnnz(axis=1)\n", "\n", "print(f\"Most active user rated {n_ratings_per_user.max()} movies.\")\n", "print(f\"Least active user rated {n_ratings_per_user.min()} movies.\")" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Most rated movie has 329 ratings.\n", "Least rated movie has 1 ratings.\n" ] } ], "source": [ "n_ratings_per_movie = X.getnnz(axis=0)\n", "\n", "print(f\"Most rated movie has {n_ratings_per_movie.max()} ratings.\")\n", "print(f\"Least rated movie has {n_ratings_per_movie.min()} ratings.\")" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(16,4))\n", "plt.subplot(1,2,1)\n", "sns.kdeplot(n_ratings_per_user, shade=True)\n", "plt.xlim(0)\n", "plt.title(\"Number of Ratings Per User\", fontsize=14)\n", "plt.xlabel(\"number of ratings per user\")\n", "plt.ylabel(\"density\")\n", "plt.subplot(1,2,2)\n", "sns.kdeplot(n_ratings_per_movie, shade=True)\n", "plt.xlim(0)\n", "plt.title(\"Number of Ratings Per Movie\", fontsize=14)\n", "plt.xlabel(\"number of ratings per movie\")\n", "plt.ylabel(\"density\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Normalizing our data\n", "\n", "User-item bias is defined as: $b_{ui} = \\mu + b_{u} + b_{i}$\n", "\n", "We will perform mean normalization by subtracting $b_{i}$ from each movie's rating." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "sum_ratings_per_movie = X.sum(axis=0)\n", "mean_rating_per_movie = sum_ratings_per_movie/n_ratings_per_movie" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we have the mean rating for each movie, we are going to subtract this from our utility matrix. In order to do this, we need to expand our 1D `mean_rating_per_movie` array into a matrix with the same shape as our utility matrix `(n_users, n_movies)`. Numpy's `tile` method is useful for this task." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "X_mean_movie = np.tile(mean_rating_per_movie, (X.shape[0],1))" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(610, 9724)" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X_mean_movie.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`X_mean_movie` is a matrix of shape (n_users, n_movies) in which each column is populated with a given movie's mean rating.\n", "\n", "We can easily normalize our X matrix by subtracting `X_mean_movie` from original `X`." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "X_norm = X - csr_matrix(X_mean_movie)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As expected, `X_norm`'s values are different from `X`s. Cells that are empty in the original matrix are now replaced with negative values representing the mean rating of a given movie. " ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Original X: [[4. 0. 4. ... 0. 0. 0.]]\n", "Normalized X: [[ 0.07906977 -3.43181818 0.74038462 ... -3.5 -3.5\n", " -4. ]]\n" ] } ], "source": [ "print(\"Original X:\", X[0].todense())\n", "print(\"Normalized X:\", X_norm[0].todense())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Step 5: Item-item Recommendations with k-Nearest Neighbors" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We are going to find the $k$ movies that have the most similar user engagement vectors for movie $i$." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "from sklearn.neighbors import NearestNeighbors\n", "\n", "def find_similar_movies(movie_id, X, movie_mapper, movie_inv_mapper, k, metric='cosine'):\n", " \"\"\"\n", " Finds k-nearest neighbours for a given movie id.\n", " \n", " Args:\n", " movie_id: id of the movie of interest\n", " X: user-item utility matrix\n", " k: number of similar movies to retrieve\n", " metric: distance metric for kNN calculations\n", " \n", " Output: returns list of k similar movie ID's\n", " \"\"\"\n", " X = X.T\n", " neighbour_ids = []\n", " \n", " movie_ind = movie_mapper[movie_id]\n", " movie_vec = X[movie_ind]\n", " if isinstance(movie_vec, (np.ndarray)):\n", " movie_vec = movie_vec.reshape(1,-1)\n", " # use k+1 since kNN output includes the movieId of interest\n", " kNN = NearestNeighbors(n_neighbors=k+1, algorithm=\"brute\", metric=metric)\n", " kNN.fit(X)\n", " neighbour = kNN.kneighbors(movie_vec, return_distance=False)\n", " for i in range(0,k):\n", " n = neighbour.item(i)\n", " neighbour_ids.append(movie_inv_mapper[n])\n", " neighbour_ids.pop(0)\n", " return neighbour_ids" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`find_similar_movies()` takes in a `movieId` and `X` matrix, and outputs a list of $k$ movies that are similar to the `movieId` of interest.\n", "\n", "Let's see how it works in action. We will first create another mapper that maps movieId to title so that our results are interpretable." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[3114, 78499, 2054, 788, 2355, 2018, 596, 2078, 673]" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "similar_movies = find_similar_movies(1, X_norm, movie_mapper, movie_inv_mapper, k=10)\n", "similar_movies" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`find_similar_movies()` returns a list of `movieId`'s that are most similar to your movie of interest. Let's convert these id's to titles so that we can interpret our results. To make things easier, we will create a dictionary that maps `movieId` to `title`." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Because you watched Toy Story (1995):\n", "Toy Story 2 (1999)\n", "Toy Story 3 (2010)\n", "Honey, I Shrunk the Kids (1989)\n", "Nutty Professor, The (1996)\n", "Bug's Life, A (1998)\n", "Bambi (1942)\n", "Pinocchio (1940)\n", "Jungle Book, The (1967)\n", "Space Jam (1996)\n" ] } ], "source": [ "movie_titles = dict(zip(movies['movieId'], movies['title']))\n", "\n", "movie_id = 1\n", "\n", "similar_movies = find_similar_movies(movie_id, X_norm, movie_mapper, movie_inv_mapper, metric='cosine', k=10)\n", "movie_title = movie_titles[movie_id]\n", "\n", "print(f\"Because you watched {movie_title}:\")\n", "for i in similar_movies:\n", " print(movie_titles[i])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The results above show the 10 movies that are most similar to Toy Story. Most movies in this list are family movies from the 1990s, which seems pretty reasonable. Note that these recommendations are based solely on user-item ratings. Movie features such as genres are not used in this approach." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can also play around with the kNN distance metric and see what results you would get if you use \"manhattan\" or \"euclidean\" instead of \"cosine\"." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Because you watched Toy Story (1995):\n", "Honey, I Shrunk the Kids (1989)\n", "Nutty Professor, The (1996)\n", "Space Jam (1996)\n", "Mighty Ducks, The (1992)\n", "The Amazing Spider-Man 2 (2014)\n", "Popeye (1980)\n", "Hocus Pocus (1993)\n", "Lost World: Jurassic Park, The (1997)\n", "Snakes on a Plane (2006)\n" ] } ], "source": [ "movie_id = 1\n", "\n", "similar_movies = find_similar_movies(movie_id, X_norm, movie_mapper, movie_inv_mapper, metric='euclidean', k=10)\n", "movie_title = movie_titles[movie_id]\n", "\n", "print(f\"Because you watched {movie_title}:\")\n", "for i in similar_movies:\n", " print(movie_titles[i])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Step 6: Handling the cold-start problem\n", "\n", "Collaborative filtering relies solely on user-item interactions within the utility matrix. The issue with this approach is that brand new users or items with no iteractions get excluded from the recommendation system. This is called the **cold start problem**. Content-based filtering is a way to handle this problem by generating recommendations based on user and item features.\n", "\n", "First, we need to convert the `genres` column into binary features. Each genre will have its own column in the dataframe, and will be populated with 0 or 1." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "There are 9742 unique movies in our movies dataset.\n" ] } ], "source": [ "n_movies = movies['movieId'].nunique()\n", "print(f\"There are {n_movies} unique movies in our movies dataset.\")" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "genres = set(g for G in movies['genres'] for g in G)\n", "\n", "for g in genres:\n", " movies[g] = movies.genres.transform(lambda x: int(g in x))\n", " \n", "movie_genres = movies.drop(columns=['movieId', 'title','genres'])" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ActionFilm-NoirAdventureWarChildrenDrama(no genres listed)MysteryAnimationMusicalHorrorDocumentaryWesternRomanceSci-FiFantasyCrimeThrillerComedyIMAX
000101000100000010010
100101000000000010000
200000000000001000010
300000100000001000010
400000000000000000010
\n", "
" ], "text/plain": [ " Action Film-Noir Adventure War Children Drama (no genres listed) \\\n", "0 0 0 1 0 1 0 0 \n", "1 0 0 1 0 1 0 0 \n", "2 0 0 0 0 0 0 0 \n", "3 0 0 0 0 0 1 0 \n", "4 0 0 0 0 0 0 0 \n", "\n", " Mystery Animation Musical Horror Documentary Western Romance Sci-Fi \\\n", "0 0 1 0 0 0 0 0 0 \n", "1 0 0 0 0 0 0 0 0 \n", "2 0 0 0 0 0 0 1 0 \n", "3 0 0 0 0 0 0 1 0 \n", "4 0 0 0 0 0 0 0 0 \n", "\n", " Fantasy Crime Thriller Comedy IMAX \n", "0 1 0 0 1 0 \n", "1 1 0 0 0 0 \n", "2 0 0 0 1 0 \n", "3 0 0 0 1 0 \n", "4 0 0 0 1 0 " ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movie_genres.head()" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Dimensions of our genres cosine similarity matrix: (9742, 9742)\n" ] } ], "source": [ "from sklearn.metrics.pairwise import cosine_similarity\n", "\n", "cosine_sim = cosine_similarity(movie_genres, movie_genres)\n", "print(f\"Dimensions of our genres cosine similarity matrix: {cosine_sim.shape}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The dimensions of our cosine similarity matrix are $M \\times M$ where $M$ represents the total number of movies." ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Toy Story (1995)', 'Toy Story 2 (1999)', 'Toy Story 3 (2010)']" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def movie_finder(title):\n", " return movies[movies['title'].str.contains(title)]['title'].tolist()\n", "\n", "movie_finder('Toy Story')" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Recommendations for Toy Story (1995):\n" ] }, { "data": { "text/plain": [ "1706 Antz (1998)\n", "2355 Toy Story 2 (1999)\n", "2809 Adventures of Rocky and Bullwinkle, The (2000)\n", "3000 Emperor's New Groove, The (2000)\n", "3568 Monsters, Inc. (2001)\n", "6194 Wild, The (2006)\n", "6486 Shrek the Third (2007)\n", "6948 Tale of Despereaux, The (2008)\n", "7760 Asterix and the Vikings (Astérix et les Viking...\n", "8219 Turbo (2013)\n", "Name: title, dtype: object" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movie_idx = dict(zip(movies['title'], list(movies.index)))\n", "title = movie_finder('Toy Story')[0]\n", "n_recommendations = 10\n", "\n", "idx = movie_idx[title]\n", "sim_scores = list(enumerate(cosine_sim[idx]))\n", "sim_scores = sorted(sim_scores, key=lambda x: x[1], reverse=True)\n", "sim_scores = sim_scores[1:(n_recommendations+1)]\n", "similar_movies = [i[0] for i in sim_scores]\n", "\n", "print(f\"Recommendations for {title}:\")\n", "movies['title'].iloc[similar_movies]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With this approach, we are assuming that two movies are \"similar\" if they have similar genres. These \"similar movie\" recommendations are based solely on the metadata from our movies dataset. Feel free to test out different movies." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Step 7: Dimensionality Reduction with Matrix Factorization (advanced)\n", "\n", "Matrix factorization (MF) is a linear algebra technique that can help us discover latent features underlying the interactions between users and movies. These latent features give a more compact representation of user tastes and item descriptions. MF is particularly useful for very sparse data and can enhance the quality of recommendations. The algorithm works by factorizing the original user-item matrix into two factor matrices:\n", "\n", "- user-factor matrix (n_users, k)\n", "- item-factor matrix (k, n_items)\n", "\n", "We are reducing the dimensions of our original matrix into \"taste\" dimensions. We cannot interpret what each latent feature $k$ represents. However, we could imagine that one latent feature may represent users who like romantic comedies from the 1990s, while another latent feature may represent movies which are independent foreign language films.\n", "\n", "$$X_{mn}\\approx P_{mk}\\times Q_{nk}^T = \\hat{X} $$\n", "" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "image/png": "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7GjNJECAAAECBAgQIECAwGwJSCxnS9Z6CRAgQIAAAQIECBAgMCQCEssh2dGaSYAAAQIECBAgQIAAgdkSkFjOlqz1EiBAgAABAgQIECBAYEgEJJZDsqMr08x1618xOjLiNWCV2ScqQoAAAQIECBAgQKBPAYlln4AWJ0CAAAECBAgQIECAwLALSCyH/ROg/QQIECBAgAABAgQIEOhTQGLZJ6DFCRAgQIAAAQIECBAgMOwCEsth/wRoPwECBAgQIECAAAECBPoUkFj2CWhxAgQIECBAgAABAgQIDLuAxHLYPwHaT4AAAQIECBAgQIAAgT4FJJZ9AlqcAAECBAgQIECAAAECwy4gsazyJ2DsVY/r3/1Y5aqqGwECBAgQIECAAAECwysgsRzefa/lBAgQIECAAAECBAgQmBEBieWMMFoJAQIECBAgQIAAAQIEhldAYjm8+17LCRAgQIAAAQIECBAgMCMCEssZYbQSAgQIECBAgAABAgQIDK+AxHJ4972WEyBAgAABAgQIECBAYEYEJJYzwmglBAgQIECAAAECBAgQGF4BieXw7nstJ0CAAAECBAgQIECAwIwISCxnhNFKpiowMvaOzqkuaX4CBAgQIECAAAECBKomILGs2h5RHwIECBAgQIAAAQIECNRMQGJZsx2mugQIECBAgAABAgQIEKiagMSyantEfQgQIECAAAECBAgQIFAzAYllzXaY6hIgQIAAAQIECBAgQKBqAhLLqu0R9SFAgAABAgQIECBAgEDNBCSWNdthqkuAAAECBAgQIECAAIGqCSyoWoXUhwABAgQIEBgXWLX6zPGBGvct3uWMGtde1QkQIEBgUwJNfZvguk013HQCBAjUVKCp/2/XdHfMarX9LZtV3mmv3Hdw2nQWJECgyQLOWDZ572obAQIECNRZQAJT572n7gQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYBgFRoax0dpMoC2wT3Tv0u5fSYUAAQIEZk3gobHme7fX/vPo/qxjS/NjeL+I4rjk1ug/r2MegwQIECBAgACBSgpcEbVa146igttFz+va8bRipC4BAgQI9CXw0Vi6+P/2HR1rymTy1NL0TCoXd8xjkAABAgQIECBQWYHJEssHRW2Lg5/PVbbmKkaAAIF6CWwssXxPNKX4fzeTyifXq2lqS4AAAQIpsAADgSEWeFS0PS+/UggQIEBgMAJ59vI17U3fFt3nRnylPaxDgAABAjUSkFjWaGep6owLLIo1btVe62nRzUtfH9Aezk7eD/S8iD9GfD2iKDtEzxMj9oi4IeJbERdGrI4oyk7Rs3d7IKfdHPHUiFwm7y36YsTVEQsj8r6iXN8tEedEnBuhECBAoOkCr48GvrHdyNuju3/El9rDOgQIECBAgACB2gh0Xgr7q6h5cTlWufvNUoteGP1/nmS+b8e47UvzZUJarOPw6M+HVRTD2b0mIh9mkesuj8/+YyMUAgQINEmg81LYV0bjiv/78kzlM5vUWG0hQIAAAQIEhkugM7F8UzS//ACJPLOYSV5xmdbTo784ELoy+t8fkWcri3E/if7i0tpyYnlHjM9E8oyI30YU86+N/jzL+eWIVaXxOX3XCIUAAQJNESgnlpdEo/L/v+L/wk81pZHaQYAAAQIECAynQGdimQrdHt6zeUwrzmheFv3Fa0pymTdHFAdIz88RUcqJ5S9juLjkdqfoLx9QvTiGi/LJ6CnW88JipC4BAgQaIFBOLIv/54pu/p/4hAa0URMIECAw1ALzhrr1Gk+gd4EHx6z3ac9+cXTzHZj5OPyMn0cU5cCip9TNM5J/aQ/nmcvflKadXurPs5ZFyfs4FQIECDRVIJPKvPIjSx6LfCxi2xxQCBAgQKCeAh7eU8/9ptZzL5D3QxblRdGTMVmZLCG8tmPGvJ8oy5qIm0b71v9TfvhPabReAgQINE7g1dGifFDPpRF5RceOER+IyKs9FAIECBCooYDEsoY7TZUHIvC30lbPj/586M5k5brJRnYZl7/YKwQIEBg2gZOiwe9vN/qw6H6o3f+P0c0rPPJed4UAAQIEaiYgsazZDlPdORWYX9ra5aX+7M0nvZbLw2Ig78O8vjxSPwECBAhsIPCn0pgPR3++ZiRvK8jynoi8LaB8i0GOVwgQIECg4gLusaz4DlK9ORfIh0gU5ZHR85iInSKuisgzlVkeG5GXwt41Ih/ik7+4/yjiexH7RCgECBAg0LvAy2LWG9uzbxndT0SUf9hrT9IhQIAAgSoLSCyrvHfUbRACv4yN3tLe8L2ie1FE8bTWg6P/5oiRiLxU648Reenriogs+eqRT4/2+YcAAQIEehW4JmY8tDTzXtF/RGlYLwECBAjUQEBiWYOdpIpzKnB7bO0lEXmg01nyIRMPjzgnIs9s3iliYUQ+dOcjEXkp15oIhQABAgSmJvDRmP0rpUX+Jfr3LA3rJUCAAIGKC+SZF4UAgckF8kmFd474c0TnE1szqcxXkGSCmfcClR/uE4MKAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAzAj8N59NSpxRXDiyAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image(\"imgs/matrix-factorization.png\")" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "from sklearn.decomposition import TruncatedSVD" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [], "source": [ "svd = TruncatedSVD(n_components=20, n_iter=10)\n", "Z = svd.fit_transform(X.T)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Because you watched Toy Story (1995):\n", "Home Alone (1990)\n", "Jurassic Park (1993)\n", "Aladdin (1992)\n", "Willy Wonka & the Chocolate Factory (1971)\n", "Forrest Gump (1994)\n", "Back to the Future (1985)\n", "Groundhog Day (1993)\n", "Star Wars: Episode IV - A New Hope (1977)\n", "Babe (1995)\n" ] } ], "source": [ "movie_id = 1\n", "similar_movies = find_similar_movies(movie_id, Z.T, movie_mapper, movie_inv_mapper, metric='cosine', k=10)\n", "movie_title = movie_titles[movie_id]\n", "\n", "print(f\"Because you watched {movie_title}:\")\n", "for i in similar_movies:\n", " print(movie_titles[i])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The results above are the most similar movies to Toy Story using kNN on our “compressed” movie-factor matrix. We reduced the dimensions down to n_components=30. We can think of each component representing a latent feature such as movie genre." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Predicting missing ratings to generate top N recommendations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With matrix factorization, we can also predict missing ratings in our original user-item matrix. We can do this by reconstructing our matrix by getting the inner product of our user-factor matrix and movie-factor matrix. We can use the `inverse_transform` on our movie-factor matrix Z to get our reconstructed user-item matrix." ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "new_X = svd.inverse_transform(Z).T" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let’s look at `userId=100`’s recommendations. In the table below, we can see which movies that have been rated highly:" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
userIdmovieIdratingtimestamptitle
9710056205.01100186982Sweet Home Alabama (2002)
8910040415.01100184235Officer and a Gentleman, An (1982)
6410019585.01100186258Terms of Endearment (1983)
4510011015.01100184137Top Gun (1986)
7510024235.01100186118Christmas Vacation (National Lampoon's Christm...
1100164.51100185959Casino (1995)
361009194.51100183748Wizard of Oz, The (1939)
8210032594.51100186037Far and Away (1992)
401009344.51100186407Father of the Bride (1950)
4110010284.51100185898Mary Poppins (1964)
\n", "
" ], "text/plain": [ " userId movieId rating timestamp \\\n", "97 100 5620 5.0 1100186982 \n", "89 100 4041 5.0 1100184235 \n", "64 100 1958 5.0 1100186258 \n", "45 100 1101 5.0 1100184137 \n", "75 100 2423 5.0 1100186118 \n", "1 100 16 4.5 1100185959 \n", "36 100 919 4.5 1100183748 \n", "82 100 3259 4.5 1100186037 \n", "40 100 934 4.5 1100186407 \n", "41 100 1028 4.5 1100185898 \n", "\n", " title \n", "97 Sweet Home Alabama (2002) \n", "89 Officer and a Gentleman, An (1982) \n", "64 Terms of Endearment (1983) \n", "45 Top Gun (1986) \n", "75 Christmas Vacation (National Lampoon's Christm... \n", "1 Casino (1995) \n", "36 Wizard of Oz, The (1939) \n", "82 Far and Away (1992) \n", "40 Father of the Bride (1950) \n", "41 Mary Poppins (1964) " ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "userId = 100\n", "user_preferences = ratings[(ratings['userId']==userId)&(ratings['rating']>=4)]\n", "user_preferences = user_preferences.merge(movies[['movieId', 'title']])\n", "user_preferences.sort_values('rating', ascending=False).head(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, let’s take a look at which movies we predict `userId=100` will like based on their previous ratings. We will need get the row which represents `userId=100` and sort their predicted ratings in descending order. `np.argsort()` is a useful method for getting the top N indices (i.e., movies with highest rating predictions) for `userId=100`." ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Top 10 Recommendations for UserId 100:\n", "Forrest Gump (1994)\n", "Pretty Woman (1990)\n", "When Harry Met Sally... (1989)\n", "Apollo 13 (1995)\n", "Toy Story (1995)\n", "Shakespeare in Love (1998)\n", "Aladdin (1992)\n", "Clueless (1995)\n", "Princess Bride, The (1987)\n", "Four Weddings and a Funeral (1994)\n" ] } ], "source": [ "top_N = 10\n", "\n", "movie_titles = dict(zip(movies['movieId'], movies['title']))\n", "\n", "top_N_indices = new_X[user_mapper[userId]].argsort()[-top_N:][::-1]\n", "\n", "print(f\"Top {top_N} Recommendations for UserId {userId}:\")\n", "for i in top_N_indices:\n", " movie_id = movie_inv_mapper[i]\n", " print(movie_titles[movie_id])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Step 8: Evaluation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "How do we know if our recommendations are good? The best way to evaluate our system is to test it in the wild with A/B testing or usability tests, where we can get direct feedback from users. However, this option is not always available which means that we need to use offline metrics. \n", "\n", "In traditional machine learning, we evaluate a model by splitting our data into two sets: 1) `training set` and 2) `validation set`. We train our model using the `training set`, then test our model on the `validation set`. In recommender systems, we can't split our data the traditional way because our model won't work if our training set represents a completely different user population than the validation set. Instead, we generate our `training set` by masking random interactions in our user-item matrix. In other words, we pretend that we don't if a user liked or hated Movie X, but we actually do. Once we train our model and generate our rating predictions, we can then compare our predicted rating with the actual rating. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "image/png": "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eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA1LjQuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjg0NDwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zNjE8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4K10s9VAAAQABJREFUeAHsnQm8HEXVtwtBQbawhDUsYQs7CWsIayDsigiouKGvgCwCigp8iICgoiAovAICgiCbsiko+x7WEEiAQEIWCCSBBEhIANkRvV89dd/T1PSdmTvTPTN3ln/9fnNnbndXdfXT3XXqnDp1ar4un5ySCIiACIiACIiACIiACIiACIhADwKf6rFFG0RABERABERABERABERABERABAIBKUx6EERABERABERABERABERABESgBAEpTCXAaLMIiIAIiIAIiIAIiIAIiIAISGHSMyACIiACIiACIiACIiACIiACJQhIYSoBRptFQAREQAREQAREQAREQAREQAqTngEREAEREAEREAEREAEREAERKEFAClMJMNosAiIgAiIgAiIgAiIgAiIgAlKY9AyIgAiIgAiIgAiIgAiIgAiIQAkCUphKgNFmERABERABERABERABERABEZDCpGdABERABERABERABERABERABEoQkMJUAow2i4AIiIAIiIAIiIAIiIAIiIAUJj0DIiACIiACIiACIiACIiACIlCCgBSmEmC0WQREQAREQAREQAREQAREQASkMOkZEAEREAEREAEREAEREAEREIESBKQwlQCjzSIgAiIgAiIgAiIgAiIgAiIghUnPgAiIgAiIgAiIgAiIgAiIgAiUICCFqQQYbRYBERABERABERABERABERABKUx6BkRABERABERABERABERABESgBAEpTCXAaLMIiIAIiIAIiIAIiIAIiIAISGHSMyACIiACIiACIiACIiACIiACJQhIYSoBRptFQAREQAREQAREQAREQAREQAqTngEREAEREAEREAEREAEREAERKEFAClMJMNosAiIgAiIgAiIgAiIgAiIgAlKY9AyIgAiIgAiIgAiIgAiIgAiIQAkCUphKgNFmERABERABERABERABERABEZDCpGdABERABERABERABERABERABEoQkMJUAow2i4AIiIAIiIAIiIAIiIAIiIAUJj0DIiACIiACIiACIiACIiACIlCCgBSmEmC0WQREQAREQAREQAREQAREQASkMOkZEAEREAEREAEREAEREAEREIESBKQwlQCjzSIgAiIgAiIgAiIgAiIgAiKwgBC0L4H//Oc/7r///W9VFzj//PO7T32qsXo0daSupPnmm88tsED3Y/nxxx+7rq6usL2aev373/8Oefjz6U9/OvndzD9KMShX5/g6OS5mVyxfzNP2x3zi/b2VZfn1LQIi0BgCcRtR6oy0nby7Su1NIG774za81lcd9yGqkcG1rkdv5SG7JkyY4F544QX33nvvuZVXXtmttdZaboUVVugtq/aLQMUEGtszrrhaOrAWBL7whS+4z3zmM1V9zj///FqcuqoyLrjggqSO22+/fZJ3t912S7afffbZyXYa8ddffz35JDv8j3feeSfJw7XTgLZC+stf/pLUe5NNNum1yq+99lpyvN3jhRde2L3xxhtF83700Ueuf//+PfJMnDgxOX7XXXdN9m+zzTbJdv0QARHoewJnnXVW8n7aO5/+XmyxxdzQoUPd73//+6qNZX1/hapBJQSmTJlS8By8//77lWQrecybb76ZyNIPP/yw4Li99947OdevfvWrgn3N8A99AZ71Nddc0w0ZMsTts88+7pvf/KajH7HSSiu5vfbayz366KMNryr9EOujvPvuuw0/v05YHwJSmOrDVaXWkcD48ePdMsssk3zqeKqWKhqr4w033FC0zvfcc4976623iu7TRhEQgfYgQOfssccecz/4wQ/c5z73uWSEvj2uTldRDwJbb711Ikv/9re/1eMUdSvz4IMPDs/69OnTe5yDEdl//vOfbvjw4e6BBx7osb+eGw4//PCE6YknnljPU6nsBhKQS14DYTf6VIsssojr169fwWn/9a9/JUKUoXxGJeK04IILxv/26e899tjDrb766qEOG264YUV14Zq++93vJsdice2kdM0117gDDjigxyX//e9/77FNG0RABFqXwIgRIwpcjp999lk3Y8aM5IJuv/1298c//tEdcsghyTb9EIFqCOyyyy5u+eWXD1k23njjarLW/djLL7/cXXLJJcl5Pv/5zztGxEhjx451f/7zn4N7HqNmjDS9/PLLjj6RkghkJSCFKSu5Fsh37bXX9qgljR/uXKT999/f/elPf+pxTLNs+NGPflR1VVD46CR0arr33nuDKwDud5ZwW/jHP/5h/+pbBESgDQjQvi+11FIFVzJy5Ei3ww47JNtuuukmKUwJDf2olsARRxxRbZaGHX/nnXcm59pxxx0dz7oljIa4mKMokXA7fPzxx8Nokx2jbxGoloAUpmqJtfHxs2fPdjZ8jCD+9a9/7RDAZ555ZphQedFFF7mddtopEMCaeemll7qHH37YvfLKK2EbbnLbbbed+853vuPWX3/9HqQmTZrkKOORRx4Jc42GDRvmfvjDH/Y4zjbgs08e0pe+9CW32WabueOOO87NnTvXDgnfZkFleH6DDTZw3//+95P9v/zlL8PQeLLB/7j77rvddddd55555hnHNa+77roO6xn5YkWDPFiwRo8eHbJ/61vfCiNep59+unvooYccvuNcJyNaO++8czgm/jN16tRg5brvvvsCIyamUj4uEN/+9rfdpptuGh+e6zcja7jkcQ7cKowJhT744INuzpw5ofzPfvazod65TqbMIiACTUkA9yPmQD7xxBOhfi+99FKPemJxZ64q7fC4cePCxPgtt9zSffnLXy7ZJpHnD3/4Q5gPQh7amzXWWCPMF2HeSLFAQczjYH4JHVUm5C+xxBIOT4F4JMAqR9tlnXMCV5x33nmOUXGUQkYLmKOCi6Edc/3114f9zE9ZbrnlQuf4xz/+sYs9Cijj6aefDqf43ve+5xZaaCF37rnnhvYQwxpzvU455RS35JJLOty8aevvuuuuEDRj8ODB7ic/+Ylbb731rIrJN65ef/ajFxinnnzyyXBOZNmee+7p6LjHibmp999/f9gEX+QMcpU2GW8PykcWMN84ndj/v//7v0HGIku4r8zPWXvttdOHFvw/atQod9lll4Vn4NVX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KwEpTO16Z3VdIiACIiACIiACIiACIiACuQlIYcqNUAWIgAiIgAiIgAiIgAiIgAi0KwEpTO16Z3VdIiACIiACIiACIiACIiACuQlIYcqNUAWIgAiIgAiIgAiIgAiIgAi0KwEpTO16Z3VdIiACIiACIiACIiACIiACuQlIYcqNUAWIgAiIgAiIgAiIgAiIgAi0KwEpTO16Z3VdIiACIiACIiACIiACIiACuQlIYcqNUAWIgAiIgAiIgAiIgAiIgAi0KwEpTO16Z3VdIiACIiACIiACIiACIiACuQlIYcqNUAWIgAiIgAiIgAiIgAiIgAi0K4EF2vXCdF0iIAIiIAIiIAIiIALtS+A///mPe+edd0peYFdXl1tkkUXcpz/96ZLHlNrx4Ycfurfffjvk7devX6nDtL1DCEhh6pAbrcsUAREQAREQAREQgXYiMGPGDHfOOee4f//73+Gy5p9//vD93//+16Es8fnGN77hhg0bVvVljx492l1xxRVu5ZVXdieddFLV+ZWhvQhIYWqv+6mrEQEREAEREAEREIGOIPDqq6+6yy67zL333nsOJemjjz4K1z3ffPO5z372s+7jjz92W265ZSaF6eWXX3Z33XWXW2eddTqCpS6yPIH5vPbdVf4Q7RUBERABERABERABERCB5iKAO96ECROCsvTaa6+5ww8/PLjRHXHEEW6vvfYKCtOSSy4ZRqBWXXVVhyI1ZswYt8kmmzi243I3duxY9+abb7oBAwa4DTfc0C200ELhIqdPn+4ee+wx179/f7fDDjsEpeyFF15wiy++uFtuueXcqFGj3Pvvv++GDBniVlhhheYCo9rUnIBGmGqOVAWKgAiIgAiIgAiIgAjUm8Ciiy7qhg4dGk4ze/bsoOww2jRo0KBk+7nnnusuuuiioECNHz8+KFjXXXedmzdvnvvhD3/onnnmGffWW2+5ZZZZJig/J554ottggw0cx55//vluzTXXDArT1KlT3f777+9WXHFFh/J10003uU996lPh9y9/+Uu37bbbhv/rfc0qv28IKEpe33DXWUVABERABERABERABGpEgCANNnfJXPMoetasWUEpOuuss9xtt90WlCqOO/3004PSs+yyy7rjjjvOLbbYYu7aa691KFOUNXfuXPfQQw8FxYlyGE0aN25cKIORp3333dd95jOfCcdccMEFYZSK45Tak4BGmNrzvuqqREAEREAEREAERKDjCRAhD8WGOU2XXnppcLtbYokl3MYbb+zOOOMMt8cee4QRqeeffz645+GKh8K1wAILuAUXXDB8gMhoEkElcL9Dwdptt93cKqus4k455ZQwavXBBx90POt2BiCFqZ3vrq5NBERABERABERABDqcAFH0hg8f7rbbbrswkgSOPffc01188cXu+9//vkNJeuWVVwIl5jkVS0z5J4w5c5o222yzUM5KK62UjFgVy6Nt7UNALnntcy91JSIgAiIgAiIgAiIgAikCKDsEeWCUiPTGG2+4ww47LLjlEfiB3/vtt1/Yj7teuUQZVg7lKnZaOVrts08KU/vcS12JCIiACIiACIiACIhAEQKxYkM48ltuuSWssYSbHtH1iH6HslRqhKlIkdrUQQTkktdBN1uXKgIiIAIiIAIiIALtSoB1l3Cbi0eJ+B9lKd7GfCZCgxOKnMVpGX26/vrrA5Y4eAR5KZNkCpeVxzbKtGNsP9uV2o+AFKb2u6e6IhEQAREQAREQARHoKAIEd1hvvfXcv/71L7f00ksn106QBsKEM9/IXOnY9tOf/tSdffbZ7pJLLgnBG77yla+40aNHBwUIpWmppZYKASIIK05aeOGFQzmELCeIBAlFa/311w/n4/xK7UtAC9e2773VlYmACIiACIiACIhARxBgtIf1lBjpQbmxBWhZl4mQ4ES8W2SRRQpc7qZMmRJGmVCCGHEiP8eicFEeC+MSLa9fv35hpIn9/E8IcpQvFCvKx40Plz5TyDoCeIddpBSmDrvhulwREAEREAEREAEREAEREIHKCSjoQ+WsdKQIiIAIiIAIiIAIiIAIiECHEdAcpg674bpcERABERABERABEWhXAu+++26Yx4S7nAIxtNddxuUR18pFF100fBp5dVKYGklb5xIBERABERABERABEag5gdmzZ7vnn3/ezZ0717FQLR+l9iLAXDHmkPEhcAcBOQi80YikOUyNoKxziIAIiIAIiIAIiIAI1IXA+PHj3bPPPutYhJZEx1qjS3VB3TSFEpWQkaYNN9zQrbXWWnWvl0aY6o5YJxABERABERABERABEagHgaeeesqhMOGCx5pI8TpJ1Z5v/vnnD4pWvGZTtWVwPOWQqEue1M71QaHNyhmFmLyMIo4ZMybcM5QmttcrSWGqF1mVKwIiIAIiIAIiIAIiUDcCL774YlCWCO1NB5pOOGskEfabxP/lRpriDja/33jjDceitoQkL5evtwtipAtlB3exPErBm2++GUKkM28na33IR33gQrj1PPWBD2XkrQ9rZcG42vowh4nrsVDx/M+ctVGjRoXQ74SGr1eSwlQvsipXBERABERABERABESgLgQYXXjiiSfCukmmLK288spuq622CkrPxx9/HDr25U7OMZRD553O91133RXmxay22mqZFRTKfPzxx4PShrtYVkUHBe72228PC+NyXVnL4fpQKJZffnm39tprZy6H+tx6661uyJAhbsUVV8xczkcffeQefvhhN3DgQLf66qtXXQ71YD2s++67z82ZMyfcP5RTRhpHjBgR5jeVu+dZ90lhykpO+URABERABERABERABPqEwIwZMwqUJYIA0GF+5ZVX3B133BFGUrbcckuH8oMyFCeUD4579NFHw+K0dNxRtJgXY5/4+Gp+03mnDEZ0+M6TrC55ykHBqEU5XAfBFqysvNdlZWUpp3///m777bcPShNBPlDCXnrpJceIHPvqkQqfoHqcQWWKgAiIgAiIgAiIgAiIQA0JzJo1K3SUUX5QUjbYYIPw/8iRI93rr78e3OvuvfdeN3HixIK5RBz/8ssvuzvvvNPNnDkzuKuNGzcu/EaxQsFQan4Cyy67rFtmmWWSAB/cN6Ik1itphKleZFWuCNSIAP65TGYt1YjTwOOvnbag9XZ6hAbD2lhmllhiiWAN6y2P9ouACIiACIhAMxBANlpQBRSmfv36hfkszG/hf2QishP3L+TduuuuG7ajLKFIvfPOO2G0hH2Uw/9WXjNcn+rQOwH6L9w/+ke4Qk6ZMsUxqliPJIWpHlRVpgjUkMAll1wS/LRp/O1jDTzf+CUfeeSRYU2Cak77/vvvuzPPPDNMmP3JT37ihg4dWk12HSsCIiACIiACfUaADjIykMQcJv5HaUIm4m5HJxq3L5szg/wkDDUjUARBYB8JJYngA4xWMGql1DoEuMf24VmgX1OvJIWpXmRVrgjUiMCDDz4YJn5iMaORNwvY4osvHoQFoTQPOuigqs/GRNBJkya5sWPHBveFqgtQBhEQAREQARFoEgIoTYsssogbNmyYQ24SEACliI8FPkBpYgQqVpYI+DB48OAw9wX5akpYk1yWqlEFgXreOylMVdwIHSoCfUHgiCOOcHvssUeI9nPD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uathUCx50W6fVfFqvPmcLIEIpsnyTGwhEAIhEAIhEAIhEAIhUObqbN68uQzHM/zOMLJhCxTwLlnkYevWrWUlvaCbPQIZkjd7aRKLQiAEQiAEQiAEQiAEVgEBAunII49sqnAanL9DRL3lLW9pzjvvvIilGU7vCKYZTpyYFgIhEAIhEAIhEAIhMN8EvJvJUuODYsldGZJntbz//M//nO+bXOXWRzCt8gTO7YVACIRACIRACIRACOweApYJ3759e1kNj2Cqc5aqePL/s88+21x++eVlFb3dY2WuuhSBCKalCOX3EAiBEAiBEAiBEAiBmSVAdMxiqGLp1ltvLXOXDM9rC6X63f7nnnuuufLKK5vHH398Fm9lzdsUwbTms0AAhEAIhEAIhEAIhMD8ELA8d1sk9XkB6krcNdssJX7bbbc1t9xyS7GVKDJfyXLh69evb4466qiyzLh9jncPdclxn45PWJpAW3SuJLOskrd0WuSIEAiBEAiBEAiBEAiBGSEwuOx2nR/UFlG701R2vPDCC83tt9++4FkijGzE0mmnnVbe00T47dixo4gojX3/W3L8nnvuaQ488MDdeQszf22sBExf97rXlZf9euHvSoXI15Uim3hDIARCIARCIARCIAQmTmCPPfYogoNXhjjhkeHNmaVAALFNg76+hPbYY48tq+F5qa1w8sknN2eddVZp7H/rW99aGK63kp6SWWLUx5aHH364LJaBFcG0bt265ru+67v6RLnoufEwLYonP4ZACIRACIRACIRACMwSAY3kTZs2FaFk6BtBQjAZnnXYYYeVF78u114eC/FWz8Vyz6/Ha7wLe++9dxFE7GLf0Ucf3RxzzDGvip+gOvzww0uD/6abbmpeeuml4lnasmVLubdJ2SOevoE4nQV7MHrggQeKF47IlF4+3/72t5dhjX3vc9T5/2tX5vq/o37M/hAIgRAIgRAIgRAIgRCYNQIayVdccUVZWc7iCnVo1j777NPsueeezXd8x3eMbXIdQvfyyy83zje0q2vzmDjauXNns3HjxsZy4obYEXUHHHBAiZedw4LjDC1ku+35559v2EN4fed3fmdne3DijdmwYcOwy461Dx+LUlj+HB9su/IRx2OPPdYceuihY127fZB7efHFF8uqguIh4N7whjcUkXn66acvK83b8Y7zPYJpHEo5JgRCIARCIARCIARCYKYIaDxfddVVRVxoQNehbxr4tt0VXJugqHbU/0eJpXpctde5XQVJjaP9Wa/f3rc7v3e1p82FZ+n1r399s9deezXEkmGaKxkimFaSbuIOgRAIgRAIgRAIgRBYMQI8MYazPfroo8XjwKvTbliPe2GNeGESQmVQEAz+P8qm9nErac+o6y+2fxbsYUMdFkh8GoZnmCOP3EqHCKaVJpz4QyAEQiAEQiAEQiAEVoyAIXmGed1///1lCJz/q7dp3ItWoVSFwbjnDTtOXO14Bv8fdo597eNW0p5R119s/yzYQyxZ2GG//fZrjjzyyObNb37zig7Da/OIYGrTyPcQCIEQCIEQCIEQCIG5I6BBz+vAw2Qu0HIF09zd8Bo0mGAyDM8cqmm/eyuCaQ1muNxyCIRACIRACIRACIRACITAeAT6rzM43nVyVAiEQAiEQAiEQAiEQAiEQAjMHYEIprlLshgcAiEQAiEQAiEQAiEQAiEwLQIRTNMineuEQAiEQAiEQAiEQAiEQAjMHYEIprlLshgcAiEQAiEQAiEQAiEQAiEwLQIRTNMineuEQAiEQAiEQAiEQAiEQAjMHYEIprlLshgcAiEQAiEQAiEQAiEQAiEwLQIRTNMineuEQAiEQAiEQAiEQAiEQAjMHYEIprlLshgcAiEQAiEQAiEQAiEQAiEwLQIRTNMineuEQAiEQAiEQAiEQAiEQAjMHYEIprlLshgcAiEQAiEQAiEQAiEQAiEwLQIRTNMineuEQAiEQAiEQAiEQAiEQAjMHYEIprlLshgcAiEQAiEQAiEQAiEQAiEwLQIRTNMineuEQAiEQAiEQAiEQAiEQAjMHYEIprlLshgcAiEQAiEQAiEQAiEQAiEwLQIRTNMineuEQAiEQAiEQAiEQAiEQAjMHYEIprlLshgcAiEQAiEQAiEQAiEQAiEwLQIRTNMineuEQAiEQAiEQAiEQAiEQAjMHYEIprlLshgcAiEQAiEQAiEQAiEQAiEwLQIRTNMineuEQAiEQAiEQAiEQAiEQAjMHYEIprlLshgcAiEQAiEQAiEQAiEQAiEwLQIRTNMineuEQAiEQAiEQAiEQAiEQAjMHYEIprlLshgcAiEQAiEQAiEQAiEQAiEwLQIRTNMineuEQAiEQAiEQAiEQAiEQAjMHYEIprlLshgcAiEQAiEQAiEQAiEQAiEwLQIRTNMineuEQAiEQAiEQAiEQAiEQAjMHYEIprlLshgcAiEQAiEQAiEQAiEQAiEwLQIRTNMineuEQAiEQAiEQAiEQAiEQAjMHYEIprlLshgcAiEQAiEQAiEQAiEQAiEwLQIRTNMineuEQAiEQAiEQAiEQAiEQAjMHYEIprlLshgcAiEQAiEQAiEQAiEQAiEwLQL/D3GF+qjMcGORAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image(\"imgs/splitting.png\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are various ways to compare our predicted vs. actual ratings. The most common metrics include:\n", " \n", "1) Root Mean Squared Error: $\\text{RMSE} = \\sqrt{\\frac{\\Sigma^N_{i=1}(y-\\hat{y})^2}{N}}$\n", "\n", "2) Precision: $\\text{Precision} = \\frac{TP}{TP+FP}$\n", "\n", "3) Recall: $\\text{Recall} = \\frac{TP}{TP+FN}$" ] } ], "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.0" } }, "nbformat": 4, "nbformat_minor": 2 }