{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"2022-01-18-itemcf-movie.ipynb","provenance":[{"file_id":"https://github.com/recohut/nbs/blob/main/raw/T001328%20%7C%20Item-item%20CF%20and%20SVD%20on%20ML-1m.ipynb","timestamp":1644647636227}],"collapsed_sections":[],"toc_visible":true,"mount_file_id":"1qaGKXzTiKrcolxoTRLAnQkuc2XlfJt8m","authorship_tag":"ABX9TyNcd0XuCf9vNHk4+7gV2VgI"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"}},"cells":[{"cell_type":"markdown","metadata":{"id":"bm3HWGGdxysN"},"source":["# Item-item CF and SVD on ML-1m"]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"Wz4-0LEWzXqi","executionInfo":{"status":"ok","timestamp":1638107336767,"user_tz":-330,"elapsed":1165,"user":{"displayName":"Sparsh Agarwal","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"13037694610922482904"}},"outputId":"aae89f16-abc2-4a07-cbde-9614c57e7bdc"},"source":["!wget -q --show-progress -O movies.dat https://github.com/RecoHut-Datasets/movielens_1m/raw/main/ml1m_items.dat\n","!wget -q --show-progress -O ratings.dat https://github.com/RecoHut-Datasets/movielens_1m/raw/main/ml1m_ratings.dat"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["movies.dat 100%[===================>] 159.77K --.-KB/s in 0.004s \n","ratings.dat 100%[===================>] 20.59M --.-KB/s in 0.1s \n"]}]},{"cell_type":"code","metadata":{"id":"dr4Z5Thk_OcR"},"source":["import numpy as np\n","import pandas as pd"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":206},"id":"vsFUbv9y_UaT","executionInfo":{"status":"ok","timestamp":1638107356351,"user_tz":-330,"elapsed":471,"user":{"displayName":"Sparsh Agarwal","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"13037694610922482904"}},"outputId":"ae8a8a74-bd86-4fc2-d577-b1675a0612d4"},"source":["movie = pd.read_csv('movies.dat',\n"," sep=\"\\t\",\n"," header=None,\n"," engine='python',\n"," names=['movieId', 'title', 'genre'])\n","\n","movie.head()"],"execution_count":null,"outputs":[{"output_type":"execute_result","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","
movieIdtitlegenre
01Toy Story (1995)Animation|Children's|Comedy
12Jumanji (1995)Adventure|Children's|Fantasy
23Grumpier Old Men (1995)Comedy|Romance
34Waiting to Exhale (1995)Comedy|Drama
45Father of the Bride Part II (1995)Comedy
\n","
"],"text/plain":[" movieId title genre\n","0 1 Toy Story (1995) Animation|Children's|Comedy\n","1 2 Jumanji (1995) Adventure|Children's|Fantasy\n","2 3 Grumpier Old Men (1995) Comedy|Romance\n","3 4 Waiting to Exhale (1995) Comedy|Drama\n","4 5 Father of the Bride Part II (1995) Comedy"]},"metadata":{},"execution_count":4}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":206},"id":"dxxvXVWyAESn","executionInfo":{"status":"ok","timestamp":1638107372609,"user_tz":-330,"elapsed":5100,"user":{"displayName":"Sparsh Agarwal","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"13037694610922482904"}},"outputId":"3a684ede-dcca-4ea2-b296-a32dc03cce08"},"source":["rating = pd.read_csv('ratings.dat',\n"," sep=\"\\t\",\n"," header=None,\n"," engine='python',\n"," names=['userId', 'movieId', 'rating', 'time'])\n","\n","rating.head()"],"execution_count":null,"outputs":[{"output_type":"execute_result","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","
userIdmovieIdratingtime
0111935978300760
116613978302109
219143978301968
3134084978300275
4123555978824291
\n","
"],"text/plain":[" userId movieId rating time\n","0 1 1193 5 978300760\n","1 1 661 3 978302109\n","2 1 914 3 978301968\n","3 1 3408 4 978300275\n","4 1 2355 5 978824291"]},"metadata":{},"execution_count":5}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":206},"id":"nmAH3FIiArj_","executionInfo":{"status":"ok","timestamp":1638107374389,"user_tz":-330,"elapsed":9,"user":{"displayName":"Sparsh Agarwal","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"13037694610922482904"}},"outputId":"e4ff2908-e631-4590-9d4b-2e2817037264"},"source":["df = pd.merge(rating, movie, on='movieId')\n","df.head()"],"execution_count":null,"outputs":[{"output_type":"execute_result","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","
userIdmovieIdratingtimetitlegenre
0111935978300760One Flew Over the Cuckoo's Nest (1975)Drama
1211935978298413One Flew Over the Cuckoo's Nest (1975)Drama
21211934978220179One Flew Over the Cuckoo's Nest (1975)Drama
31511934978199279One Flew Over the Cuckoo's Nest (1975)Drama
41711935978158471One Flew Over the Cuckoo's Nest (1975)Drama
\n","
"],"text/plain":[" userId movieId ... title genre\n","0 1 1193 ... One Flew Over the Cuckoo's Nest (1975) Drama\n","1 2 1193 ... One Flew Over the Cuckoo's Nest (1975) Drama\n","2 12 1193 ... One Flew Over the Cuckoo's Nest (1975) Drama\n","3 15 1193 ... One Flew Over the Cuckoo's Nest (1975) Drama\n","4 17 1193 ... One Flew Over the Cuckoo's Nest (1975) Drama\n","\n","[5 rows x 6 columns]"]},"metadata":{},"execution_count":6}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":614},"id":"3x-30wNsAuv6","executionInfo":{"status":"ok","timestamp":1638107377558,"user_tz":-330,"elapsed":1378,"user":{"displayName":"Sparsh Agarwal","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"13037694610922482904"}},"outputId":"547e042d-4d34-44b2-a785-21ab2d5abe67"},"source":["u_m = pd.pivot_table(df, index='userId', values='rating', columns='title')\n","u_m"],"execution_count":null,"outputs":[{"output_type":"execute_result","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"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
title$1,000,000 Duck (1971)'Night Mother (1986)'Til There Was You (1997)'burbs, The (1989)...And Justice for All (1979)1-900 (1994)10 Things I Hate About You (1999)101 Dalmatians (1961)101 Dalmatians (1996)12 Angry Men (1957)13th Warrior, The (1999)187 (1997)2 Days in the Valley (1996)20 Dates (1998)20,000 Leagues Under the Sea (1954)200 Cigarettes (1999)2001: A Space Odyssey (1968)2010 (1984)24 7: Twenty Four Seven (1997)24-hour Woman (1998)28 Days (2000)3 Ninjas: High Noon On Mega Mountain (1998)3 Strikes (2000)301, 302 (1995)39 Steps, The (1935)400 Blows, The (Les Quatre cents coups) (1959)42 Up (1998)52 Pick-Up (1986)54 (1998)7th Voyage of Sinbad, The (1958)8 1/2 (1963)8 1/2 Women (1999)8 Heads in a Duffel Bag (1997)8 Seconds (1994)8MM (1999)A Chef in Love (1996)Abbott and Costello Meet Frankenstein (1948)Abominable Snowman, The (1957)About Adam (2000)About Last Night... (1986)...Wonderland (1997)Wonderland (1999)Woo (1998)Wood, The (1999)Wooden Man's Bride, The (Wu Kui) (1994)Working Girl (1988)World Is Not Enough, The (1999)World of Apu, The (Apur Sansar) (1959)Wrong Man, The (1956)Wrong Trousers, The (1993)Wrongfully Accused (1998)Wyatt Earp (1994)X-Files: Fight the Future, The (1998)X-Men (2000)X: The Unknown (1956)Xiu Xiu: The Sent-Down Girl (Tian yu) (1998)Yankee Zulu (1994)Yards, The (1999)Year My Voice Broke, The (1987)Year of Living Dangerously (1982)Year of the Horse (1997)Yellow Submarine (1968)Yojimbo (1961)You Can't Take It With You (1938)You So Crazy (1994)You've Got Mail (1998)Young Doctors in Love (1982)Young Frankenstein (1974)Young Guns (1988)Young Guns II (1990)Young Poisoner's Handbook, The (1995)Young Sherlock Holmes (1985)Young and Innocent (1937)Your Friends and Neighbors (1998)Zachariah (1971)Zed & Two Noughts, A (1985)Zero Effect (1998)Zero Kelvin (Kjærlighetens kjøtere) (1995)Zeus and Roxanne (1997)eXistenZ (1999)
userId
1NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
2NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN4.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
3NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN3.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN5.04.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
4NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
5NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN3.02.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
......................................................................................................................................................................................................................................................
6036NaN3.0NaNNaNNaNNaN2.04.0NaNNaN1.0NaN3.01.03.0NaN5.02.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN2.0...4.0NaNNaNNaNNaN3.0NaNNaNNaN5.0NaNNaN3.0NaNNaNNaNNaNNaN4.04.0NaN4.05.0NaNNaNNaNNaN4.0NaNNaNNaN3.0NaNNaNNaNNaNNaNNaNNaN2.0
6037NaNNaNNaNNaNNaNNaNNaNNaNNaN4.0NaNNaNNaNNaN3.0NaN5.0NaNNaNNaNNaNNaNNaNNaN3.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN3.0NaNNaNNaNNaNNaNNaN3.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
6038NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaN5.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
6039NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN4.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaN4.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN4.0NaN5.0NaNNaNNaNNaNNaNNaNNaN3.0NaNNaNNaNNaNNaNNaNNaNNaN
6040NaNNaNNaNNaNNaNNaNNaNNaNNaN5.0NaNNaNNaNNaNNaNNaN5.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN5.0NaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN5.0NaNNaNNaNNaNNaNNaNNaN4.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
\n","

6040 rows × 3706 columns

\n","
"],"text/plain":["title $1,000,000 Duck (1971) ... eXistenZ (1999)\n","userId ... \n","1 NaN ... NaN\n","2 NaN ... NaN\n","3 NaN ... NaN\n","4 NaN ... NaN\n","5 NaN ... NaN\n","... ... ... ...\n","6036 NaN ... 2.0\n","6037 NaN ... NaN\n","6038 NaN ... NaN\n","6039 NaN ... NaN\n","6040 NaN ... NaN\n","\n","[6040 rows x 3706 columns]"]},"metadata":{},"execution_count":7}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"ipD8atJoBUyf","executionInfo":{"status":"ok","timestamp":1638107378338,"user_tz":-330,"elapsed":7,"user":{"displayName":"Sparsh Agarwal","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"13037694610922482904"}},"outputId":"790e4afc-05f3-499d-9773-d169f1ec3c49"},"source":["print('{} users x {} movies'.format(u_m.shape[0], u_m.shape[1]))"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["6040 users x 3706 movies\n"]}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":708},"id":"dX-BhlKaAzGp","executionInfo":{"status":"ok","timestamp":1630259084335,"user_tz":-330,"elapsed":19,"user":{"displayName":"Sparsh Agarwal","photoUrl":"","userId":"13037694610922482904"}},"outputId":"52adee6c-f41e-4981-98f3-6bff86aecf00"},"source":["m_u = u_m.T\n","m_u"],"execution_count":null,"outputs":[{"output_type":"execute_result","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"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
userId12345678910111213141516171819202122232425262728293031323334353637383940...6001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040
title
$1,000,000 Duck (1971)NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
'Night Mother (1986)NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN3.0NaNNaNNaNNaN
'Til There Was You (1997)NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN2.0NaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
'burbs, The (1989)NaNNaNNaNNaNNaNNaNNaNNaNNaN4.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN4.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN2.0NaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN2.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
...And Justice for All (1979)NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN2.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
......................................................................................................................................................................................................................................................
Zed & Two Noughts, A (1985)NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
Zero Effect (1998)NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN3.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaN4.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN3.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
Zero Kelvin (Kj�rlighetens kj�tere) (1995)NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
Zeus and Roxanne (1997)NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
eXistenZ (1999)NaNNaNNaNNaNNaNNaNNaN2.0NaNNaNNaNNaNNaNNaNNaNNaN3.0NaN1.0NaNNaNNaN4.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...4.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN4.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN2.0NaNNaNNaNNaN
\n","

3706 rows × 6040 columns

\n","
"],"text/plain":["userId 1 2 3 ... 6038 6039 6040\n","title ... \n","$1,000,000 Duck (1971) NaN NaN NaN ... NaN NaN NaN\n","'Night Mother (1986) NaN NaN NaN ... NaN NaN NaN\n","'Til There Was You (1997) NaN NaN NaN ... NaN NaN NaN\n","'burbs, The (1989) NaN NaN NaN ... NaN NaN NaN\n","...And Justice for All (1979) NaN NaN NaN ... NaN NaN NaN\n","... ... ... ... ... ... ... ...\n","Zed & Two Noughts, A (1985) NaN NaN NaN ... NaN NaN NaN\n","Zero Effect (1998) NaN NaN NaN ... NaN NaN NaN\n","Zero Kelvin (Kj�rlighetens kj�tere) (1995) NaN NaN NaN ... NaN NaN NaN\n","Zeus and Roxanne (1997) NaN NaN NaN ... NaN NaN NaN\n","eXistenZ (1999) NaN NaN NaN ... NaN NaN NaN\n","\n","[3706 rows x 6040 columns]"]},"metadata":{},"execution_count":11}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"FEI5JS3jBhIe","executionInfo":{"status":"ok","timestamp":1630259283556,"user_tz":-330,"elapsed":583,"user":{"displayName":"Sparsh Agarwal","photoUrl":"","userId":"13037694610922482904"}},"outputId":"cdcfe20a-cc79-412e-a200-df0c8cf2e4c9"},"source":["print('{} movies x {} users'.format(m_u.shape[0], m_u.shape[1]))"],"execution_count":null,"outputs":[{"output_type":"stream","text":["3706 movies x 6040 users\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"2-4kSqFyBMCd","executionInfo":{"status":"ok","timestamp":1630259465322,"user_tz":-330,"elapsed":704,"user":{"displayName":"Sparsh Agarwal","photoUrl":"","userId":"13037694610922482904"}},"outputId":"075f7cde-2245-4f40-ed0f-63d41debef20"},"source":["min_watch = 20\n","rtd = u_m.columns.values[u_m.count() < min_watch]\n","print('{} movies had been watched less than {} times, some of them are: \\n{}'.format(len(rtd), min_watch, rtd[:5]))"],"execution_count":null,"outputs":[{"output_type":"stream","text":["663 movies had been watched less than 20 times, some of them are: \n","['1-900 (1994)' '24 7: Twenty Four Seven (1997)' '24-hour Woman (1998)'\n"," '3 Strikes (2000)' '301, 302 (1995)']\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"_GbIeQ9sAbfp","executionInfo":{"status":"ok","timestamp":1630259533738,"user_tz":-330,"elapsed":626,"user":{"displayName":"Sparsh Agarwal","photoUrl":"","userId":"13037694610922482904"}},"outputId":"d0dcdfca-73b4-4e15-811f-2c758ee3f005"},"source":["u_m = u_m.drop(rtd, axis=1).fillna(0)\n","m_u = m_u.drop(rtd).fillna(0)\n","print('{} users x {} movies'.format(u_m.shape[0], u_m.shape[1]))"],"execution_count":null,"outputs":[{"output_type":"stream","text":["6040 users x 3043 movies\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"gnMlNKAqClI9"},"source":["## Item-based Collaborative Filtering - Cosine Similarity Method"]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":590},"id":"aQK6_cGdCwg3","executionInfo":{"status":"ok","timestamp":1630259678129,"user_tz":-330,"elapsed":3207,"user":{"displayName":"Sparsh Agarwal","photoUrl":"","userId":"13037694610922482904"}},"outputId":"9dbdd732-7b80-4e08-ebca-22b0c6994827"},"source":["from sklearn.metrics.pairwise import cosine_similarity\n","\n","sim_df = pd.DataFrame(cosine_similarity(m_u), columns=m_u.index, index=m_u.index)\n","sim_df.head()"],"execution_count":null,"outputs":[{"output_type":"execute_result","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"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
title$1,000,000 Duck (1971)'Night Mother (1986)'Til There Was You (1997)'burbs, The (1989)...And Justice for All (1979)10 Things I Hate About You (1999)101 Dalmatians (1961)101 Dalmatians (1996)12 Angry Men (1957)13th Warrior, The (1999)187 (1997)2 Days in the Valley (1996)20 Dates (1998)20,000 Leagues Under the Sea (1954)200 Cigarettes (1999)2001: A Space Odyssey (1968)2010 (1984)28 Days (2000)3 Ninjas: High Noon On Mega Mountain (1998)39 Steps, The (1935)400 Blows, The (Les Quatre cents coups) (1959)42 Up (1998)52 Pick-Up (1986)54 (1998)7th Voyage of Sinbad, The (1958)8 1/2 (1963)8 1/2 Women (1999)8 Heads in a Duffel Bag (1997)8 Seconds (1994)8MM (1999)A Chef in Love (1996)Abbott and Costello Meet Frankenstein (1948)About Adam (2000)About Last Night... (1986)Above the Rim (1994)Absent Minded Professor, The (1961)Absolute Power (1997)Abyss, The (1989)Ace Ventura: Pet Detective (1994)Ace Ventura: When Nature Calls (1995)...Wizard of Oz, The (1939)Wolf (1994)Wolf Man, The (1941)Woman in the Dunes (Suna no onna) (1964)Woman on Top (2000)Women on the Verge of a Nervous Breakdown (1988)Women, The (1939)Wonder Boys (2000)Wonderful, Horrible Life of Leni Riefenstahl, The (Die Macht der Bilder) (1993)Wonderland (1997)Wonderland (1999)Wood, The (1999)Working Girl (1988)World Is Not Enough, The (1999)World of Apu, The (Apur Sansar) (1959)Wrong Man, The (1956)Wrong Trousers, The (1993)Wrongfully Accused (1998)Wyatt Earp (1994)X-Files: Fight the Future, The (1998)X-Men (2000)Xiu Xiu: The Sent-Down Girl (Tian yu) (1998)Yards, The (1999)Year My Voice Broke, The (1987)Year of Living Dangerously (1982)Yellow Submarine (1968)Yojimbo (1961)You Can't Take It With You (1938)You've Got Mail (1998)Young Doctors in Love (1982)Young Frankenstein (1974)Young Guns (1988)Young Guns II (1990)Young Poisoner's Handbook, The (1995)Young Sherlock Holmes (1985)Your Friends and Neighbors (1998)Zed & Two Noughts, A (1985)Zero Effect (1998)Zeus and Roxanne (1997)eXistenZ (1999)
title
$1,000,000 Duck (1971)1.0000000.0723570.0370110.0792910.0608380.0586190.1899650.1722540.0947850.0584180.0281710.0212950.0169180.1413790.0898500.0682240.0372770.0626070.1330140.0633570.0127350.0000000.0934930.0667870.0716600.0176960.0000000.0935520.0000000.0343350.0000000.0850440.0000000.0851700.0277930.2274220.0407990.0682060.1004720.117148...0.0818880.0516050.0751710.0000000.0129380.0477660.0925240.0346330.0344920.0283410.0000000.0145110.0844940.0485660.0045320.0055970.0607840.0341140.0412860.0494510.0653330.0000000.0000000.0000000.0544290.0911560.0140010.0849140.0964640.1176950.1235790.0629420.0627490.0387250.0764740.0440740.0452800.0393950.1202420.027003
'Night Mother (1986)0.0723571.0000000.1152900.1155450.1595260.0767980.1474370.0959220.1114130.0461350.0602540.1086130.0380410.0723670.1393230.1025700.0771010.0608670.0125050.0874600.1000110.0996540.1197310.1063380.0662490.0677580.0034230.0703630.0883850.1010170.0539170.0637780.0000000.1523000.0000000.0984920.0661300.0902010.0595820.077718...0.1002980.0581270.0629630.0608000.0056760.1567280.1092450.0934120.0365170.1077620.0298920.0222830.1765080.0329400.0318150.0884040.0643510.0192430.0845310.0606510.0568870.0844570.0328060.1948000.1565000.1129750.0476050.1005890.0855220.2187800.1291810.0776670.0379010.0530100.0878280.1359620.0911500.0747870.0000000.077807
'Til There Was You (1997)0.0370110.1152901.0000000.0987560.0663010.1278950.1126540.1256700.0791150.0665980.0199140.0677420.0916900.0343710.1972160.0568200.0357620.1227120.0223880.0371410.0064020.0118940.0500140.1106680.0514610.0227440.0098060.0755800.0811440.1180250.0213020.0307580.0520200.1378470.0327450.0567000.0790450.0725520.1207140.130006...0.0830790.0879260.0128820.0290260.0894260.0443780.0487330.0690320.0212020.0267120.0459830.0410310.1363510.0794070.0156630.0303340.0505300.0352160.0147010.0338980.0448420.0428710.0518440.0381530.0934410.0489170.0256590.0533570.1540470.0739550.0489080.0593250.0494210.0292000.0628930.0791870.0225940.0792610.0475260.063284
'burbs, The (1989)0.0792910.1155450.0987561.0000000.1436200.1921910.2469270.1758850.1707190.1978080.1032730.1839700.0493120.1867210.2432110.2012560.1927390.1246750.1096290.1078200.0697970.0350360.1343920.1145850.1408860.0730910.0581450.1758960.1434190.1991810.0519530.1251580.0335840.1730970.1052290.1923140.1781700.2404350.3258560.312042...0.2115120.1900160.0792630.0499700.0450970.0738160.0632910.1236530.0124370.0272510.0188050.0715100.2243490.1720850.0364980.0635740.1528790.1171520.1578020.1917670.1795230.0492040.0266520.0218940.1004670.1417940.0473990.0699130.2173510.1444410.2271100.2935180.2284320.1133860.2078970.1380640.0557040.1611740.0335670.110525
...And Justice for All (1979)0.0608380.1595260.0663010.1436201.0000000.0750930.1941540.1163790.2054860.1224310.1142310.1952550.0399330.1715360.1148650.2199750.1539730.0948120.0862520.1646940.0604240.0829380.3794100.1020930.1415700.1302710.0358880.1231460.0887840.2449570.0492410.1052130.0000000.2355480.0714880.1928710.2491120.1785610.1517490.120757...0.1583850.1200030.1033960.0376140.0266230.1085310.0622550.1059700.0751500.0171520.0238240.0433250.2078010.1122930.0455330.1229630.0764980.0424720.1265990.1131290.1160650.0637080.0518070.0762500.1684690.1512500.0584660.0776010.1054490.1327130.1839610.1213120.0895820.0899980.1530060.1090290.0860800.1108670.0000000.111040
\n","

5 rows × 3043 columns

\n","
"],"text/plain":["title $1,000,000 Duck (1971) ... eXistenZ (1999)\n","title ... \n","$1,000,000 Duck (1971) 1.000000 ... 0.027003\n","'Night Mother (1986) 0.072357 ... 0.077807\n","'Til There Was You (1997) 0.037011 ... 0.063284\n","'burbs, The (1989) 0.079291 ... 0.110525\n","...And Justice for All (1979) 0.060838 ... 0.111040\n","\n","[5 rows x 3043 columns]"]},"metadata":{},"execution_count":21}]},{"cell_type":"code","metadata":{"id":"zhN9DYA1DHwi"},"source":["def get_item_based_cf(movieId, top_n=10):\n"," return sim_df[movieId].sort_values(ascending=False).iloc[1:top_n+1]"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":941},"id":"T0q_HryiDbkh","executionInfo":{"status":"ok","timestamp":1630260216137,"user_tz":-330,"elapsed":801,"user":{"displayName":"Sparsh Agarwal","photoUrl":"","userId":"13037694610922482904"}},"outputId":"14adb881-19fb-45e7-d3d7-61c3ada37dd8"},"source":["n_random_movies = np.random.choice(m_u.index, 5)\n","item_based_df = pd.DataFrame({i:get_item_based_cf(i).index for i in n_random_movies})\n","item_based_df"],"execution_count":null,"outputs":[{"output_type":"execute_result","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"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
Last Action Hero (1993)Wild Reeds (1994)Coyote Ugly (2000)Frankenstein (1931)Destination Moon (1950)
0Waterworld (1995)Beautiful Thing (1996)Bring It On (2000)Bride of Frankenstein (1935)Earth Vs. the Flying Saucers (1956)
1Batman Forever (1995)Total Eclipse (1995)Replacements, The (2000)Dracula (1931)It Came from Outer Space (1953)
2Broken Arrow (1996)Poison (1991)Scary Movie (2000)King Kong (1933)Rocketship X-M (1950)
3Batman Returns (1992)Naked (1993)What Lies Beneath (2000)Wolf Man, The (1941)Thing From Another World, The (1951)
4Lethal Weapon 4 (1998)Live Flesh (1997)Gone in 60 Seconds (2000)Psycho (1960)It Came from Beneath the Sea (1955)
5True Lies (1994)Butcher Boy, The (1998)Skulls, The (2000)Birds, The (1963)Mole People, The (1956)
6Lethal Weapon 3 (1992)Celluloid Closet, The (1995)Center Stage (2000)Invasion of the Body Snatchers (1956)Crimson Pirate, The (1952)
7Die Hard: With a Vengeance (1995)Thieves (Voleurs, Les) (1996)Road Trip (2000)Young Frankenstein (1974)Village of the Damned (1960)
8Under Siege (1992)Priest (1994)Hollow Man (2000)Mummy, The (1932)Forbidden Planet (1956)
9Saint, The (1997)C�r�monie, La (1995)Here on Earth (2000)Exorcist, The (1973)Them! (1954)
10Batman & Robin (1997)Billy's Hollywood Screen Kiss (1997)Me, Myself and Irene (2000)Nosferatu (Nosferatu, eine Symphonie des Graue...Quatermass and the Pit (1967)
11Hot Shots! Part Deux (1993)Love! Valour! Compassion! (1997)Remember the Titans (2000)Halloween (1978)War of the Worlds, The (1953)
12Die Hard 2 (1990)My Favorite Season (1993)X-Men (2000)Carrie (1976)Quatermass II (1957)
13Demolition Man (1993)Maurice (1987)Cell, The (2000)Frankenstein Meets the Wolf Man (1943)Tarantula (1955)
14Cliffhanger (1993)My Life in Pink (Ma vie en rose) (1997)Perfect Storm, The (2000)American Werewolf in London, An (1981)Day the Earth Stood Still, The (1951)
15Outbreak (1995)Wilde (1997)Mission: Impossible 2 (2000)Son of Frankenstein (1939)Blob, The (1958)
16Maverick (1994)Edge of Seventeen (1998)Patriot, The (2000)Omen, The (1976)Hideous Sun Demon, The (1959)
17Mars Attacks! (1996)Safe (1995)Meet the Parents (2000)Re-Animator (1985)20,000 Leagues Under the Sea (1954)
18Con Air (1997)Amateur (1994)10 Things I Hate About You (1999)Shining, The (1980)Plan 9 from Outer Space (1958)
19Judge Dredd (1995)Sum of Us, The (1994)Beach, The (2000)Dracula (1958)Lifeforce (1985)
\n","
"],"text/plain":[" Last Action Hero (1993) ... Destination Moon (1950)\n","0 Waterworld (1995) ... Earth Vs. the Flying Saucers (1956)\n","1 Batman Forever (1995) ... It Came from Outer Space (1953)\n","2 Broken Arrow (1996) ... Rocketship X-M (1950)\n","3 Batman Returns (1992) ... Thing From Another World, The (1951)\n","4 Lethal Weapon 4 (1998) ... It Came from Beneath the Sea (1955)\n","5 True Lies (1994) ... Mole People, The (1956)\n","6 Lethal Weapon 3 (1992) ... Crimson Pirate, The (1952)\n","7 Die Hard: With a Vengeance (1995) ... Village of the Damned (1960)\n","8 Under Siege (1992) ... Forbidden Planet (1956)\n","9 Saint, The (1997) ... Them! (1954)\n","10 Batman & Robin (1997) ... Quatermass and the Pit (1967)\n","11 Hot Shots! Part Deux (1993) ... War of the Worlds, The (1953)\n","12 Die Hard 2 (1990) ... Quatermass II (1957)\n","13 Demolition Man (1993) ... Tarantula (1955)\n","14 Cliffhanger (1993) ... Day the Earth Stood Still, The (1951)\n","15 Outbreak (1995) ... Blob, The (1958)\n","16 Maverick (1994) ... Hideous Sun Demon, The (1959)\n","17 Mars Attacks! (1996) ... 20,000 Leagues Under the Sea (1954)\n","18 Con Air (1997) ... Plan 9 from Outer Space (1958)\n","19 Judge Dredd (1995) ... Lifeforce (1985)\n","\n","[20 rows x 5 columns]"]},"metadata":{},"execution_count":39}]},{"cell_type":"markdown","metadata":{"id":"AagdkegdERU8"},"source":["## Item-based Collaborative Filtering - SVD Latent-factor Method"]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"_-i7J3YPFVhK","executionInfo":{"status":"ok","timestamp":1630260461404,"user_tz":-330,"elapsed":2394,"user":{"displayName":"Sparsh Agarwal","photoUrl":"","userId":"13037694610922482904"}},"outputId":"0b6b770a-49f1-4cb3-ec43-4eae63b3f598"},"source":["from sklearn.decomposition import TruncatedSVD\n","\n","SVD = TruncatedSVD(n_components=12)\n","mat = SVD.fit_transform(m_u)\n","mat"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[ 2.64002061, 0.20886467, 0.38100558, ..., -0.35050349,\n"," -0.09703184, -0.5983955 ],\n"," [ 5.74095028, 3.93048761, -1.88006716, ..., 2.71928544,\n"," 1.89458597, 0.2229722 ],\n"," [ 2.96885101, -0.10945759, -2.58274233, ..., 1.11202541,\n"," 0.59461975, 1.41855637],\n"," ...,\n"," [ 26.25908443, -0.60489232, -11.65275496, ..., -4.27358638,\n"," 0.0717694 , 0.98466061],\n"," [ 1.34894495, -0.3087715 , -0.37852469, ..., 0.05222009,\n"," 0.06860439, -0.2829412 ],\n"," [ 24.44912158, -3.27742764, -3.12246971, ..., 7.49493703,\n"," 4.12535436, -0.46238114]])"]},"metadata":{},"execution_count":40}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"DqTbncjNGHI1","executionInfo":{"status":"ok","timestamp":1630260464280,"user_tz":-330,"elapsed":10,"user":{"displayName":"Sparsh Agarwal","photoUrl":"","userId":"13037694610922482904"}},"outputId":"c91dea44-0758-489a-a230-8d96d101f407"},"source":["corr = np.corrcoef(mat)\n","corr"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[1. , 0.54835153, 0.60277459, ..., 0.33158203, 0.84608371,\n"," 0.26115343],\n"," [0.54835153, 1. , 0.77572023, ..., 0.56920875, 0.61209898,\n"," 0.5100832 ],\n"," [0.60277459, 0.77572023, 1. , ..., 0.53828702, 0.74873341,\n"," 0.42607101],\n"," ...,\n"," [0.33158203, 0.56920875, 0.53828702, ..., 1. , 0.27587829,\n"," 0.80863464],\n"," [0.84608371, 0.61209898, 0.74873341, ..., 0.27587829, 1. ,\n"," 0.34411625],\n"," [0.26115343, 0.5100832 , 0.42607101, ..., 0.80863464, 0.34411625,\n"," 1. ]])"]},"metadata":{},"execution_count":41}]},{"cell_type":"code","metadata":{"id":"Guol-JhQGIaw"},"source":["def get_lf_cf(title, top_n=10):\n"," titles = list(m_u.index)\n"," idx = list(m_u.index).index(title)\n"," cor = corr[idx]\n"," return np.array(titles)[np.argsort(-cor)[1:top_n+1]]"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":529},"id":"d7XGAwaAGiC3","executionInfo":{"status":"ok","timestamp":1630260974125,"user_tz":-330,"elapsed":7,"user":{"displayName":"Sparsh Agarwal","photoUrl":"","userId":"13037694610922482904"}},"outputId":"c9b5e8a2-cbd2-4bf2-8fa3-47f72d785a63"},"source":["item_based_df = pd.DataFrame({i:get_lf_cf(i) for i in n_random_movies})\n","item_based_df"],"execution_count":null,"outputs":[{"output_type":"execute_result","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","
Last Action Hero (1993)Wild Reeds (1994)Coyote Ugly (2000)Frankenstein (1931)Destination Moon (1950)
0Maverick (1994)Guinevere (1999)Skulls, The (2000)Bride of Frankenstein (1935)Rocketship X-M (1950)
1Batman & Robin (1997)Whole Wide World, The (1996)Nutty Professor II: The Klumps (2000)Dracula (1931)It Came from Outer Space (1953)
2Lethal Weapon 4 (1998)When Night Is Falling (1995)Replacements, The (2000)Birds, The (1963)Earth Vs. the Flying Saucers (1956)
3Batman Returns (1992)Double Happiness (1994)What Lies Beneath (2000)Nosferatu (Nosferatu, eine Symphonie des Graue...Them! (1954)
4Batman Forever (1995)Lovers on the Bridge, The (Les Amants du Pont-...Whatever It Takes (2000)Rosemary's Baby (1968)It Came from Beneath the Sea (1955)
5Avengers, The (1998)Live Flesh (1997)Duets (2000)Creature From the Black Lagoon, The (1954)Thing From Another World, The (1951)
6Waterworld (1995)Winslow Boy, The (1998)Big Momma's House (2000)Haunting, The (1963)Forbidden Planet (1956)
7Hot Shots! Part Deux (1993)Pillow Book, The (1995)Whipped (2000)Wolf Man, The (1941)Day the Earth Stood Still, The (1951)
8Beverly Hills Cop III (1994)Walking and Talking (1996)Kid, The (2000)Mummy, The (1932)Voyage to the Bottom of the Sea (1961)
9Lethal Weapon 3 (1992)Paris Is Burning (1990)Frequency (2000)Psycho (1960)Mole People, The (1956)
\n","
"],"text/plain":[" Last Action Hero (1993) ... Destination Moon (1950)\n","0 Maverick (1994) ... Rocketship X-M (1950)\n","1 Batman & Robin (1997) ... It Came from Outer Space (1953)\n","2 Lethal Weapon 4 (1998) ... Earth Vs. the Flying Saucers (1956)\n","3 Batman Returns (1992) ... Them! (1954)\n","4 Batman Forever (1995) ... It Came from Beneath the Sea (1955)\n","5 Avengers, The (1998) ... Thing From Another World, The (1951)\n","6 Waterworld (1995) ... Forbidden Planet (1956)\n","7 Hot Shots! Part Deux (1993) ... Day the Earth Stood Still, The (1951)\n","8 Beverly Hills Cop III (1994) ... Voyage to the Bottom of the Sea (1961)\n","9 Lethal Weapon 3 (1992) ... Mole People, The (1956)\n","\n","[10 rows x 5 columns]"]},"metadata":{},"execution_count":53}]},{"cell_type":"markdown","metadata":{"id":"ZDTNWheRIA-X"},"source":["## Full User-Item Matrix Rating Prediction using SVD MF"]},{"cell_type":"code","metadata":{"id":"8Gr3U_XcJvT3"},"source":["def non_zero_mean(x):\n"," return np.sum(x, axis=1) / np.count_nonzero(x, axis=1)"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"T34QEq7lJxft"},"source":["v = u_m.values\n","diff_v = np.where(v==0, 0, v-non_zero_mean(v).reshape(-1, 1))\n","u_m_ = pd.DataFrame(diff_v, columns=u_m.columns, index=u_m.index)"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"__tFzwJIJh1U","executionInfo":{"status":"ok","timestamp":1630261450553,"user_tz":-330,"elapsed":2559,"user":{"displayName":"Sparsh Agarwal","photoUrl":"","userId":"13037694610922482904"}},"outputId":"67a51596-b61e-4a73-a32d-1549c3038e39"},"source":["from scipy.sparse.linalg import svds\n","\n","u,sigma, vt = svds(u_m_, k=12)\n","sigma = np.diag(sigma)\n","u.shape, sigma.shape, vt.shape"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["((6040, 12), (12, 12), (12, 3043))"]},"metadata":{},"execution_count":57}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":606},"id":"ehuNidLtJrv6","executionInfo":{"status":"ok","timestamp":1630261471986,"user_tz":-330,"elapsed":1052,"user":{"displayName":"Sparsh Agarwal","photoUrl":"","userId":"13037694610922482904"}},"outputId":"7c8e0c12-aecd-4fa2-dd71-30754ed6d800"},"source":["pred_ratings = np.dot(np.dot(u, sigma), vt) + non_zero_mean(v).reshape(-1, 1)\n","pred_ratings = pd.DataFrame(pred_ratings, index=u_m.index, columns=u_m.columns)\n","pred_ratings"],"execution_count":null,"outputs":[{"output_type":"execute_result","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"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
title$1,000,000 Duck (1971)'Night Mother (1986)'Til There Was You (1997)'burbs, The (1989)...And Justice for All (1979)10 Things I Hate About You (1999)101 Dalmatians (1961)101 Dalmatians (1996)12 Angry Men (1957)13th Warrior, The (1999)187 (1997)2 Days in the Valley (1996)20 Dates (1998)20,000 Leagues Under the Sea (1954)200 Cigarettes (1999)2001: A Space Odyssey (1968)2010 (1984)28 Days (2000)3 Ninjas: High Noon On Mega Mountain (1998)39 Steps, The (1935)400 Blows, The (Les Quatre cents coups) (1959)42 Up (1998)52 Pick-Up (1986)54 (1998)7th Voyage of Sinbad, The (1958)8 1/2 (1963)8 1/2 Women (1999)8 Heads in a Duffel Bag (1997)8 Seconds (1994)8MM (1999)A Chef in Love (1996)Abbott and Costello Meet Frankenstein (1948)About Adam (2000)About Last Night... (1986)Above the Rim (1994)Absent Minded Professor, The (1961)Absolute Power (1997)Abyss, The (1989)Ace Ventura: Pet Detective (1994)Ace Ventura: When Nature Calls (1995)...Wizard of Oz, The (1939)Wolf (1994)Wolf Man, The (1941)Woman in the Dunes (Suna no onna) (1964)Woman on Top (2000)Women on the Verge of a Nervous Breakdown (1988)Women, The (1939)Wonder Boys (2000)Wonderful, Horrible Life of Leni Riefenstahl, The (Die Macht der Bilder) (1993)Wonderland (1997)Wonderland (1999)Wood, The (1999)Working Girl (1988)World Is Not Enough, The (1999)World of Apu, The (Apur Sansar) (1959)Wrong Man, The (1956)Wrong Trousers, The (1993)Wrongfully Accused (1998)Wyatt Earp (1994)X-Files: Fight the Future, The (1998)X-Men (2000)Xiu Xiu: The Sent-Down Girl (Tian yu) (1998)Yards, The (1999)Year My Voice Broke, The (1987)Year of Living Dangerously (1982)Yellow Submarine (1968)Yojimbo (1961)You Can't Take It With You (1938)You've Got Mail (1998)Young Doctors in Love (1982)Young Frankenstein (1974)Young Guns (1988)Young Guns II (1990)Young Poisoner's Handbook, The (1995)Young Sherlock Holmes (1985)Your Friends and Neighbors (1998)Zed & Two Noughts, A (1985)Zero Effect (1998)Zeus and Roxanne (1997)eXistenZ (1999)
userId
14.1906504.1929054.1841824.1744854.1949114.1831294.2091844.2055294.2085394.1495924.1873044.1797204.1881134.1984684.1845744.1547814.1889354.1850114.1922354.1912334.1821424.1873204.1866284.1868224.1898964.1800154.1868274.1982564.1906154.1721114.1882634.1908224.1869194.1993364.1862704.1985914.1883434.1791914.1892604.186511...4.2262894.1763124.1951704.1884744.1868054.1790764.1899954.1855604.1874654.1873754.1902094.1843314.1990494.1648354.1863054.1883744.1211794.1848234.1919724.1873964.1401584.1852934.1899804.1903974.1857074.1801004.1764694.1887734.2149214.1872484.1623324.2072584.1843854.1869214.1831274.1878764.1876394.1779794.1912694.173246
23.7169903.7189683.7091833.6947583.7165623.7055273.7377493.7231313.7691753.5862683.7097463.6801893.7018643.7288503.7110973.6781563.7073863.6819463.7169223.7067353.6832783.7068383.7069223.6933683.6954193.6750163.6955563.7300743.7184603.6701943.7135693.7008193.7095493.7507243.7080093.7212283.7074573.7208523.6818543.694331...3.9093533.6869183.7131123.7113643.7049993.6907553.7058313.7164193.7031313.7110843.7122813.7063433.7181893.6037303.7113783.7086763.7425723.7236063.7121573.6749923.6899273.6989813.7062733.7132133.7067623.6936853.7057053.7084283.7484493.7302373.7100063.7556463.7073383.7144613.6853713.7072223.7099703.6854033.7161143.644119
33.9047723.8994333.9155093.9050393.9044333.8871943.9010213.8797143.9365383.9214313.9018303.8919223.9011983.9337953.9179653.9670463.9123573.9254033.8846393.9066783.8988013.8943313.9051603.9124803.9002793.8828153.8939893.9086943.9083333.9205683.9030553.9001463.9025823.9102783.8939923.9089773.8957683.8549793.9345893.897401...4.0126383.8940743.9066723.8989543.9119983.8826183.8944853.8538923.8953913.8997573.8960173.9030413.8648663.9084733.8920073.9039313.9217453.9027963.9136143.8893153.9099363.9005243.8929063.8977703.8943673.9028813.9130463.8958883.8806933.9098423.9798273.9163063.8830053.9104123.9031593.9071083.9044663.8938393.9038773.895834
44.1877754.1911504.1877884.1842494.1929044.2084934.1931864.2058074.2113784.1880344.1900834.1846304.1919534.1991534.1937994.2120334.1798964.1948314.1918764.2021954.1965174.1916114.1900484.1935254.1909684.1975124.1887584.1845444.1939554.1809884.1886724.1801184.1902664.1967904.1921734.1925804.1867874.1384884.1832774.179158...4.2039374.1855524.1901034.1955954.1881494.1905884.1901434.1844174.1940604.1886894.1900354.1921254.1903854.1661254.1898024.1852414.1803154.1899084.1764444.1599264.1247424.1880304.1890484.1913104.2044944.1873624.2018304.1898794.2019544.1857284.2317484.1768344.1725164.1839984.1663134.1914604.1913574.1784434.1936024.175361
53.1399903.1214513.1420373.1507833.1211683.0584423.0603973.0845343.1496823.0832723.1381503.1405783.1047193.0736753.0976103.3742863.0936533.0507683.1623543.1583083.2222523.1811493.1557403.0579053.1546543.2330223.1532503.1042033.1258163.1426113.1542653.1392223.1496443.0603613.1470003.0795773.0754163.0444333.0890133.173581...3.2014383.1064893.1395673.1563053.1284143.2265823.1603063.2891103.1703013.1544833.1493733.1434003.0834653.0571823.1710413.1475053.4832493.1629653.1120273.1054253.2300623.1751773.1448413.1502903.1659523.2238673.2069693.1651232.9284413.1368273.3108933.0328183.1439203.1677743.1230443.1617963.1474423.2151113.1355263.191985
......................................................................................................................................................................................................................................................
60363.2809553.3005183.2915663.4159653.2928682.9978423.4612653.3039733.6282862.6276273.2514333.2013843.2251013.5513313.2151825.0222153.2444092.9356943.3018953.5776473.5404573.4185563.3129833.0756383.4209753.5164433.2323333.2241473.2745433.0561353.3061573.3798283.3093913.2106903.3096353.3932083.1394823.6847862.7585923.092996...4.1118153.0873253.4990213.3847503.2203203.4745203.4249273.6509603.4019763.3019743.3414243.2789243.3022072.6356633.3708313.3743824.1746093.1997873.1620382.8937983.3573793.3337783.3036833.3372223.5248423.5267573.6919203.4253593.1313323.3512803.9512183.0485473.0820923.3104033.1403003.3865733.2845713.3958833.3034553.210910
60373.7204593.7057363.7250253.7212713.7102233.6127983.7152823.7211353.8475243.5891383.7124213.6797423.6859063.7461793.6994054.0028823.6849503.6557763.7321283.7767783.7812493.7354163.7144053.6689243.7166883.7552353.6982153.7339643.7271153.7084363.7223773.7143603.7150563.6890523.7036543.7148453.6840853.5394703.6954333.740703...4.0626933.6859853.7509853.7245023.7061623.7189083.7342293.7240753.7233463.7140973.7139053.7007243.6443813.6530323.7260693.7224773.7676853.7336563.7228563.6439883.6297213.7186033.7047943.7212243.7328413.7313243.7640363.7312003.6582453.7237383.8627033.7148103.7158303.7284313.6652783.7282573.7203833.6856863.7198953.668115
60383.7981673.8023493.7999403.7954393.7978383.8109413.7977303.7873713.8069853.8213513.8039323.8038963.8015793.7931113.8088113.7939323.7963943.8054223.7985563.8075423.8006743.7995353.7940223.8148193.7851553.7989863.7972953.8007943.7963193.8091643.8008913.7949563.8027053.7945633.8012073.7966633.8094373.8030883.7356613.766461...3.8053443.8170163.7884643.8006603.8004473.8046103.8010973.8138343.7990423.8014723.7995013.8038873.7958863.8073823.8052643.8015443.8428083.8067213.8016353.8015923.8012793.7975353.8028203.8007263.8126163.8007763.8044513.8056283.8075703.7986243.7814333.7814443.8001553.8023593.7977223.7976643.7973403.8038733.7999043.804471
60393.8760133.8731673.8802793.8910493.8673523.8289173.8821123.8598023.9391033.8559253.8783663.8708163.8657583.8908043.8691174.0004223.8603403.8419413.8819033.9175633.9189143.8879693.8688383.8618293.8677773.9015533.8670783.8849323.8789703.8834433.8799333.8836003.8785423.8473053.8741383.8843033.8755913.8712373.8322053.863731...4.0583163.8920653.8859673.8784753.8688803.8883343.8954263.8855653.8811263.8787503.8755553.8718363.8547733.9135943.8906343.8895313.9593663.8839413.8916923.8571703.9063243.8749513.8740593.8799353.8927693.8912203.9082543.8985323.8647813.8796733.9366993.8653743.8926393.8828783.8747973.8771753.8785543.8722413.8757713.865636
60403.5466923.5377653.5686633.5043183.5551533.5097313.5000913.6144343.8154623.5614813.5833833.5553733.5370093.5526763.5589284.5524603.4980423.5135563.6160643.7619933.7363303.6308253.5139483.5990523.5441223.7560853.5446903.5208413.5589763.6036483.5792143.5234713.5758743.3724533.5651373.4735903.5986273.1989993.1298843.425896...3.8977883.6047093.6118723.6201283.5546893.6371493.6079473.7195293.5989273.5642263.5653243.5643893.3822243.5576523.6287393.5454763.7694403.6052603.5006473.5087913.3741503.5760883.5827013.5834333.7318013.5617923.7219833.5964893.4973133.4790513.8662253.3770053.5037753.5601693.3775363.5580653.5561423.5196953.5700283.513920
\n","

6040 rows × 3043 columns

\n","
"],"text/plain":["title $1,000,000 Duck (1971) ... eXistenZ (1999)\n","userId ... \n","1 4.190650 ... 4.173246\n","2 3.716990 ... 3.644119\n","3 3.904772 ... 3.895834\n","4 4.187775 ... 4.175361\n","5 3.139990 ... 3.191985\n","... ... ... ...\n","6036 3.280955 ... 3.210910\n","6037 3.720459 ... 3.668115\n","6038 3.798167 ... 3.804471\n","6039 3.876013 ... 3.865636\n","6040 3.546692 ... 3.513920\n","\n","[6040 rows x 3043 columns]"]},"metadata":{},"execution_count":58}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":279},"id":"kdXjPp7MKPF4","executionInfo":{"status":"ok","timestamp":1630261588917,"user_tz":-330,"elapsed":740,"user":{"displayName":"Sparsh Agarwal","photoUrl":"","userId":"13037694610922482904"}},"outputId":"11b6b738-1cb1-4936-db71-cf71144df1b4"},"source":["import seaborn as sns\n","\n","sns.kdeplot(pred_ratings.iloc[6]);"],"execution_count":null,"outputs":[{"output_type":"display_data","data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAX4AAAEGCAYAAABiq/5QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deZRcZ33m8e+v1t4ltdTabMltW46NnWCb9BhsIJsNOAOxPUMOgxNAZMxokkMSEpIhhpMzk4ScE5M5h4QzJzNBAwmakGD22HiGJEYJJAQwlrziDVm2VmtpSb1vtf3mj3ur1ZJK3VXVfatudz2fc/rUrVvLfV+V+qm33/ve9zV3R0REWkei2QUQEZHGUvCLiLQYBb+ISItR8IuItBgFv4hIi0k1uwDVWLdunff39ze7GCIiy8revXtPuXvf+fuXRfD39/ezZ8+eZhdDRGRZMbODlfarq0dEpMUo+EVEWoyCX0SkxSj4RURajIJfRKTFKPhFRFqMgl9EpMVEFvxmdrWZPTHnZ9TMfsPMes3sYTPbF96uiaoMIiJyociC391fcPcb3P0G4MeBSeCrwL3Abne/Ctgd3pdl7Mt7j/DGP/5H8sVSs4siIlVoVFfPrcB+dz8I3AnsCvfvAu5qUBkkIn/9yEEOn5licGym2UURkSo0KvjfCXwu3N7g7sfC7ePAhgaVQSJwdHiKxw4NA3BidLrJpRGRakQe/GaWAe4Avnj+Yx6s+1hx7Ucz22Fme8xsz+DgYMSllHp9/eljs9snRtXiF1kOGtHi/1ngMXc/Ed4/YWabAMLbk5Ve5O473X3A3Qf6+i6YXE5i4qGnjnHJ6nYATo6pxS+yHDQi+O/mbDcPwIPA9nB7O/BAA8ogEcgXSzxxeJi7btxMMmHq6hFZJiINfjPrBN4EfGXO7vuAN5nZPuC28L4sQyNTeQA29LSxvjurrh6RZSLS+fjdfQJYe96+0wSjfGSZG54Mgn9Ve5r1PW1q8YssE7pyV+pWbvGvak+zoTvLSbX4RZYFBb/UbWQqB8Dqjgwbeto4oZO7IsuCgl/qdk6LvyfL8GSe6XyxyaUSkYUo+KVu5T7+1WEfP6Crd0WWAQW/1K0c/D3taTaEwa+x/CLxp+CXuo1M5eluS5FMGOu7s4Cu3hVZDhT8UreRqTyr2tMAsy1+DekUiT8Fv9RtZCrP6o4g+Nd0pMkkExxX8IvEnoJf6jY8mZtt8ZsZPe1pRqcKTS6ViCxEwS91G5nKs7o9M3u/K5tkYkbBLxJ3Cn6p28hUnp6wxQ/Q1ZZiXMEvEnsKfqmLuzM8ebaPH6Azo+AXWQ4U/FKXyVyRQslZPafF392WYnxawS8Sdwp+qcvwnOkayjqzKSZyCn6RuFPwS11GytM1zOnq6cqqxS+yHCj4pS7D4cyc55zczaqPX2Q5UPBLXUanyhO0zR3OmWKmUCJfLDWrWCJSBQW/1GV29a2Oc/v4AY3lF4k5Bb/UZXjq7JTMZV1h8I+pn18k1hT8UpeRqTyphNGRSc7u62oLW/wa2SMSawp+qcvkTIHObAozm91X7urRyB6ReIs0+M1stZl9ycyeN7PnzOxmM+s1s4fNbF94uybKMkg0xmeKdM5p7cPZrh6N7BGJt6hb/J8A/s7drwGuB54D7gV2u/tVwO7wviwzk7nCbAu/TMEvsjxEFvxmtgr4CeDTAO6ec/dh4E5gV/i0XcBdUZVBojORK9JxfvC3aVSPyHIQZYv/cmAQ+Esze9zMPmVmncAGdz8WPuc4sKHSi81sh5ntMbM9g4ODERZT6jE5U7iwqyejUT0iy0GUwZ8CXgP8L3e/EZjgvG4dd3fAK73Y3Xe6+4C7D/T19UVYTKnHRK5IR+bcFn9nNvgimJgpNqNIIlKlKIP/CHDE3R8J73+J4IvghJltAghvT0ZYBonIxExhNujLUskEbemEhnOKxFxkwe/ux4HDZnZ1uOtW4FngQWB7uG878EBUZZDoVDq5C9CVTaurRyTmLvzNXVq/Bvy1mWWAl4BfIviy+YKZ3QMcBN4RcRkkAhMVhnOCll8UWQ4iDX53fwIYqPDQrVEeV6JVLDlT+Qv7+CG4iEvDOUXiTVfuSs2m8sHJ2/P7+EFTM4ssBwp+qVm5K6dSi1+LsYjEn4JfalYO/q5KJ3fbtPyiSNwp+KVmk7mgq6ejwsndTrX4RWJPwS81K7f4Kw3n7FYfv0jsKfilZgu1+LX8oki8KfilZuPztPi7NCe/SOwp+KVmk7mLB395iOdkXvP1iMSVgl9qVp6ErdKVu+UhnpPq5xeJLQW/1Kzc4q80jr/c7z+RU4tfJK4U/FKz8Zki6aSRSV3432e2xa+x/CKxpeCXmk3mChVb+zCnj19z8ovEloJfajYxU6x41S6c7erRyV2R+FLwS82CFv+FJ3ZBJ3dFlgMFv9Ss0kLrZTq5KxJ/Cn6p2USFhdbLyi3+KZ3cFYktBb/ULFhvt3KLP5NKkE6aWvwiMabgl5pN5iovu1jWnk4ypeAXiS0Fv9RsMle4aB8/BFM5aN1dkfhS8EvNLrbQell7Jjk7g6eIxE+ki62b2QFgDCgCBXcfMLNe4PNAP3AAeIe7D0VZDlk68y20XtaZSenKXZEYa0SL/6fd/QZ3Hwjv3wvsdvergN3hfVkmyoF+sQu4IBjSqZO7IvHVjK6eO4Fd4fYu4K4mlEHqNLsIS/biXT0dmaRa/CIxFnXwO/APZrbXzHaE+za4+7Fw+ziwodILzWyHme0xsz2Dg4MRF1OqNbvs4jxdPR3ZlPr4RWIs0j5+4A3uftTM1gMPm9nzcx90dzczr/RCd98J7AQYGBio+BxpvPmWXSzrSCc1SZtIjEXa4nf3o+HtSeCrwE3ACTPbBBDenoyyDLK05lt2sawzq5O7InEWWfCbWaeZdZe3gTcDPwAeBLaHT9sOPBBVGWTpzbfsYllHOJzTXX+oicRRlF09G4Cvmln5OH/j7n9nZo8CXzCze4CDwDsiLIMssfmWXSzryCQplJxcsUQ2dfHniUhzRBb87v4ScH2F/aeBW6M6rkRrdtnFeVv85Ynaigp+kRjSlbtSk2pa/OVVuDSWXySeFPxSk/Jwzvmu3G3X1Mwisabgl5pM5IpkkomKC62Xlf8amNCQTpFYUvBLTYKZOefvt2+fXYVLLX6ROFLwS02CmTnnHxPQOefkrojEj4JfajLfQutlOrkrEm8KfqnJ+Mz8i7CATu6KxJ2CX2oymSvStUAfv07uisSbgl9qMjFTmHcoJ5w9uav5ekTiScEvNVlooXWATDJBKmGamlkkphT8UpOFFloHMLPZidpEJH4U/FKT8ZnCgi1+CK7sLV/lKyLxouCXqhVLznS+NO+UzGWdWbX4ReJKwS9Vm52Lf4GTuxDM1z+uFr9ILCn4pWrVLLRe1qmuHpHYUvBL1apZaL2sM5vSlbsiMVVV8JvZV8zsrWamL4oWVr4ga6EpGwC6skm1+EViqtog/5/ALwD7zOw+M7s6wjJJTJVn2+yq4uRuR1ZdPSJxVVXwu/s33P0XgdcAB4BvmNl3zOyXzCwdZQElPqpZdrGsSyd3RWKr6q4bM1sLvBd4H/A48AmCL4KHIymZxE41yy6WdWZSzBRKFIqlqIslIjWqto//q8C/AB3Az7n7He7+eXf/NaBrgdcmzexxM3sovH+5mT1iZi+a2efNLLPYSkhj1NLi19TMIvFVbYv/f7v7te7+R+5+DMDMsgDuPrDAaz8APDfn/seAP3H3bcAQcE+NZZYmGa+lxR9+OaifXyR+qg3+P6yw77sLvcjMLgXeCnwqvG/AzwBfCp+yC7iryjJIk01WsdB6WTn4NUOnSPzM+xtsZhuBS4B2M7sRsPChHoJun4X8KfAhoDu8vxYYdvdyGhwJ31+WgWoWWi8rz9k/rjn5RWJnoabbWwhO6F4KfHzO/jHgI/O90MzeBpx0971m9lO1FszMdgA7ALZu3VrryyUCEzOF2bn2F1K+yEtdPSLxM2/wu/suYJeZvd3dv1zje78euMPM/i3QRvBXwieA1WaWClv9lwJHL3LsncBOgIGBAa/x2BKB8ZkC3W0Ld/PA2a4eDekUiZ+Funre5e6fBfrN7IPnP+7uH6/wsvJjHwY+HL7PTwG/7e6/aGZfBH4euB/YDjxQf/GlkcamC1VdvAXq4xeJs4U6azvD2y6Cfvrzf+rxO8AHzexFgj7/T9f5PtJgY9N5etqqu16vU338IrG1UFfPJ8Pb31/MQdz9m8A3w+2XgJsW837SHOMzBTb2tFX1XPXxi8RXtRdw/bGZ9ZhZ2sx2m9mgmb0r6sJJvIxNF+iqso+/I5PE7OwQUBGJj2rH8b/Z3UeBtxHM1bMN+C9RFUriqZaTu2ZGZyalrh6RGKo2+Mu/7W8FvujuIxGVR2LK3RmbztOVrX5Ovk5NzSwSS9U13+AhM3semAJ+xcz6gOnoiiVxM1MokS961S1+CPr5xzWqRyR2qp2W+V7gFmDA3fPABHBnlAWTeBmbDgK8puDPptTHLxJD1f8WwzUE4/nnvub/LHF5JKbKF2LVFvzJ2amcRSQ+qvotNrO/Aq4EngDKv8mOgr9ljE3nAeiuoY+/K5vilWH1CIrETbXNtwHgWnfX1Aktajzs6ql2OCcEs3jqyl2R+Kl2VM8PgI1RFkTibbTOPn4N5xSJn2p/i9cBz5rZ94GZ8k53vyOSUkns1NfVo+GcInFUbfD/XpSFkPir7+Ruiql8kWLJSSZs4ReISENU9Vvs7t8ys8uAq9z9G2bWAVQ3MbusCGN19PGX5+uZzBXornJyNxGJXrVz9fwnguUSPxnuugT426gKJfEzPlOgLZ0gnaz2tNDcdXfVzy8SJ9X+Fr+fYGGVUQB33wesj6pQEj+1TtcAc6dmzkdRJBGpU7XBP+PuufKd8CIuDe1sIWPTBXpq6OYB6GkPvijKI4JEJB6qDf5vmdlHCBZdfxPwReBr0RVL4mZsuvqZOcvKi7aMTqnFLxIn1Qb/vcAg8DTwn4H/B/xuVIWS+BmfqX4u/rJV7cHz1eIXiZdqR/WUzOxvgb9198GIyyQxNDadp6+rq6bXqMUvEk/ztvgt8Htmdgp4AXghXH3rvzameBIX4zWsvlV2to9fwS8SJwt19fwmwWief+Puve7eC7wWeL2Z/WbkpZPYqKePP5tKkEkmGJ1SV49InCwU/O8G7nb3l8s7wsXS3wW8J8qCSXyUSs54rkB3trbgNzN62lNq8YvEzELBn3b3U+fvDPv55x3UbWZtZvZ9M3vSzJ4xs98P919uZo+Y2Ytm9nkzy9RffGmEiVwBd+q6+ranLa0+fpGYWSj4c3U+BsFkbj/j7tcDNwC3m9nrgI8Bf+Lu24Ah4J5qCyvNUc/qW2Xd7WmN6hGJmYWC/3ozG63wMwb82Hwv9MB4eDcd/jjwMwTTPwDsAu5aRPmlAYYmg+/41R31tPhTavGLxMy8TTh3X9REbGaWBPYC24A/A/YDw+5ebgIeIZj3p9JrdwA7ALZu3bqYYsgiDU8Gwb2mo/ZeuZ72NEeHp5a6SCKyCNXPuFUHdy+6+w3ApcBNBOv2Vvvane4+4O4DfX19kZVRFlZu8a/prCP429Ia1SMSM5EGf5m7DwP/BNwMrJ6zYPulwNFGlEHqNzSxiK4ejeoRiZ3Igt/M+sxsdbjdDrwJeI7gC+Dnw6dtBx6IqgyyNIYW09XTliZXKDGd19TMInFR+zCN6m0CdoX9/AngC+7+kJk9C9xvZn8IPA58OsIyyBI4M5GjO5uqaS7+srlX77altXaPSBxEFvzu/hRwY4X9LxH098syMTyZq6t/H5idynl0qsD67qUslYjUqyF9/LK8DU3mWVNH/z5ovh6ROFLwy4KGJnOsrqN/HzRDp0gcKfhlQUOTOXrr7OrRnPwi8aPglwUNTeTrGsoJavGLxJGCX+aVK5QYnynQW29Xj/r4RWJHwS/zGp4KL96qs6tHc/KLxI+CX+Y1NFG+eKu+rh7NyS8SPwp+mVd5np56u3og6OcfUR+/SGwo+GVeZ+fpqT/4V3ekGZ5caPkGEWkUBb/MqzxPT73DOYPXZjk9ruAXiQsFv8xrMYuwlK3rynB6QsEvEhcKfpnX0ESOjkxyUROs9XZmGJrI4e5LWDIRqZeCX+YVzNNTfzcPwNquLIWSa0inSEwo+GVeJ8emWdedXdR7rA3PD5yamFmKIonIIin4ZV4nRqfZ2LO44C+fGD6jfn6RWFDwy7yOj0yzoadtUe+xtisI/tPjavGLxIGCXy5qKldkdLqw+ODvDP5i0MgekXhQ8MtFnRidBmDjIoN/TWcwFPSMxvKLxIKCXy7qeBj8i23xZ1NJuttSavGLxISCXy5qtsW/anEndyEY2aPgF4mHyILfzLaY2T+Z2bNm9oyZfSDc32tmD5vZvvB2TVRlkMU5sUQtfgjG8p/RcE6RWIiyxV8AfsvdrwVeB7zfzK4F7gV2u/tVwO7wvsTQ8ZEZOjJJurKpRb9Xb2dG8/WIxERkwe/ux9z9sXB7DHgOuAS4E9gVPm0XcFdUZZDFCcbwt2Fmi34vdfWIxEdD+vjNrB+4EXgE2ODux8KHjgMbLvKaHWa2x8z2DA4ONqKYcp4To4sfw1+2tiuYr6dU0nw9Is0WefCbWRfwZeA33H107mMezNpVMQncfae7D7j7QF9fX9TFlAqOj06zcdXSBH9vZzhfj1biEmm6SIPfzNIEof/X7v6VcPcJM9sUPr4JOBllGaQ+7s7J0RnWL3K6hrLyfD3q7hFpvihH9RjwaeA5d//4nIceBLaH29uBB6Iqg9RvaDJPrlha9MVbZX3hRG8nRzWyR6TZFj9c4+JeD7wbeNrMngj3fQS4D/iCmd0DHATeEWEZpE6vDE8Bi79qt6zcZXR8dGpJ3k9E6hdZ8Lv7t4GLDQe5NarjytI4dGYSgK1rO5bk/TaFwX9sZHpJ3k9E6qcrd6WiA6cnALhsbeeSvF9HJsWq9jTHhhX8Is2m4JeKDp6aZF1Xdkku3irbtKqNYyPq6hFpNgW/VHTg9AT9S9TNUxYEv1r8Is2m4JeKDp2ZXLJunrJNq9sV/CIxoOCXC0znixwbmV76Fn9PG2cmckzni0v6viJSGwW/XKA8oueydUvf4odgOUcRaR4Fv1zgwKlwRE/v0rb4N2tIp0gsKPjlAgdPBy3+/iXu4984G/wa2SPSTAp+ucCB0xOs7kizqiO9pO+7aVXQ1aMWv0hzKfjlAi8NTix5ax+gPZNkdUdaLX6RJlPwyzncnRdOjHH1hu5I3n/TqnZdvSvSZAp+Ocfg+AxnJnJcsyma4N+ypp2D4aghEWkOBb+c4/ljYwBcvTGa4L98XSeHTk9S1EpcIk2j4JdzvHA8CP5rNvZE8v6Xr+skVyzNTvssIo2n4JdzPHd8lPXdWXrDFbOWWn94UdjL4bUCItJ4Cn45xwvHx7hmUzStfYArFPwiTafgl1mFYol9J8e5JqL+fQiWYOzMJBX8Ik2k4JdZB05PkCuUIg1+M6N/XaeCX6SJFPwy68nDIwBct3lVpMfpX9c5u8KXiDSegl9mPX54iK5sim3ruyI9zhXrOjl8ZpJcoRTpcUSkssiC38z+wsxOmtkP5uzrNbOHzWxfeLsmquNL7R4/NMz1W1aRTFikx+lf20nJ4fCQLuQSaYYoW/yfAW4/b9+9wG53vwrYHd6XGJjMFXj++Bg3bon+u/iKvmBkz74T45EfS0QuFFnwu/s/A2fO230nsCvc3gXcFdXxpTZPHxmhWHJu3Lo68mNds7GHhMGzx0YjP5aIXKjRffwb3P1YuH0c2HCxJ5rZDjPbY2Z7BgcHG1O6Fvb44WEAbtgSffC3Z5Jc0dfFs6+MRH4sEblQ007uursDF52wxd13uvuAuw/09fU1sGSt6fFDQ1y2toO1XdmGHO9HN/fwzCtq8Ys0Q6OD/4SZbQIIb082+PhSQbHkPPLyGQYu623YMa/bvIpjI9Ocmcg17JgiEmh08D8IbA+3twMPNPj4UsEPjo4wPJnnJ35kXcOOed3mYFqIZ9TdI9JwUQ7n/BzwXeBqMztiZvcA9wFvMrN9wG3hfWmyb794CoDXb2tc8F87G/zq7hFptFRUb+zud1/koVujOqbU51/2DXLtph7WNah/H2B1R4ZLVrcr+EWaQFfutriJmQJ7Dw7xxgZ285S9+tJVPH5oqOHHFWl1Cv4W9539p8kXnTdua/zIqdddsZYjQ1Mc1lKMIg2l4G9xDzxxlN7ODK+9onEjespuuXItAN/df7rhxxZpZQr+FjY2nefhZ0/wtldvIp1s/H+Fbeu7WNeV5Tv7TzX82CKtTMHfwv7+mRPMFErcecMlTTm+mXHLlWv5zv7TBNfziUgjKPhb2Jf3HmFrbwevacD8PBdzy5VrOTk2w/5Bzc8v0igK/hb1xOFhvvvSad550xbMop2GeT7lawf+4dnjTSuDSKtR8Leo/7F7H6s70rzn5v6mlmNLbwcDl63hK48dVXePSIMo+FvQk4eH2f38Sd73hsvpykZ2DV/V/v1rLuXFk+M8fVTTN4g0goK/xcwUinzoS0+xvjvLe27pb3ZxAHjrqzeRSSX4ymNHm10UkZag4G8xf/LwPl44McbH3v5qetrSzS4OAKva07zluo18ee8RTo3PNLs4Iiuegr+FPPjkK/z5t/Zz901b+Olr1je7OOf4wK1XMZUv8vGHf9jsooiseAr+FvGd/af47S88yU39vfzeHdc1uzgX2La+i3fffBn3f/8QTx0ZbnZxRFY0BX8L+M6Lp/iPn3mUy9Z2sPM9P042lWx2kSr6wK1XsaGnjXt27eHgaY3rF4mKgn+Fe+CJo7z3M4+ytbeDz+14Has7Ms0u0kWt7sjwV/fcRKFY4p07v8eeA2eaXSSRFUnBv0INT+b4yFef5gP3P8GNW1bz+R03N3S+/XptW9/NZ9/3WjKpBO/45Hf5/a89w5CWZxRZUrYcLpoZGBjwPXv2NLsYsVYsOQdOT/DcsVH+9cVTPPTUMSZzRX7pln4+dPs1ZFLL6zt+bDrPH339ee7//iE6syne/9PbeO8t/bSl49lNJRJHZrbX3Qcu2K/gX55KJef7B87wdz84zlNHhnn++BiTuSIAHZkkt1+3kfe98YrZJQ6Xqx+eGOO+rz/PPz5/kt7ODO967VbefXM/fd3x/+tFpNkU/CuAu/P00REefOIVHnrqGMdHp2lPJ/mxS1dx7aYert3cw7WberhqQ1dsT+DW6/svn2HnP7/E7udPkE4kuOvGzdzzhiu4emN3s4smElsK/mWqWArC/h+fO8GDT77CgdOTpJPGT/7Ieu64YTO3vWo9HZnmT7vQKC8NjvOX/3qAL+49zHS+xC1XruU9N/dz26vWk2rCmgIicabgXwYKxRKHzkyyf3CCF0+O8+yxUb69b5ChyTxmcPMVa7nj+s3c/qMbYz06pxGGJnJ87tFDfPa7B3llZJrNq9p42/Wbue1VG7h+y6oV9xePSD1iFfxmdjvwCSAJfMrd75vv+csx+N2d6XyJsZk849MFCiWnGP6U3BmfKXDo9CQHTk/y8qlx9g9OcPD0BPni2c9jQ0+W11+5jp+8uo83bFvH2mUwKqfRCsUS33juJPc/eohv7ztFoeRkkgm2ru2gf20n/Ws7WN+TZV3X2Z/ObJJcocRMoUSuWGI6V2QqH/xM50vB7Zx9pZKzqiPNmo4MvZ0Z+rqz9HVl6evO6mSzxFpsgt/MksAPgTcBR4BHgbvd/dmLvWapgr9UcooehG+h5BSLTr5UIl8skS+cu50rligUS+SLTr4YhMT4TIHx6TzjMwXGpguMzRQYny6E9/OMhdvj4f5CaeF/23TS2NLbwba+Lq5c38WVfV1c2dfJFX1drGqPx1w6y8XIVJ5HXjrNY4eGeWlwnAOnJzh4epKZQqnu90wnjYTZRd+jpy0VfBF0Z1nbmWVNZ5rejgxrOjN0t6XJphJkUwkyqQTZVJJsOkE6kaDoQQPA3SmWoBTeL83dvuB+sF0sOe7gONlUkvZMko50ko5MKtgOf9ozSTLJBGaGu882PnLFEtP5ItO5EtOFIlO5ItP5IrliiVQiQTadmC13NpUkk0qQMCOZMBIWrJxmBl4KyhCUBRIGiYSRSgT/ZqlE8BovlzusT3G2DmFj6Px6nldnD2+LpeB3sVAqkSs4hVIJw0gljXTSSCUS4XaCVCK8Dfenk0Zqzv5yPWrlfra+7h7env13KH8+JQ/yphQ+J2FG0gxLBNsJK9/O2U4s/boYFwv+ZnQO3wS86O4vAZjZ/cCdwEWDv16//Fd7+eYPT84G/VJ+x2VTCbrbUnRlU3S1pejOptnS20F3+X5biq5smq62FF3ZJOlkgmT44SbNaM8k2drbwebV7SQj+MBb0ar2NG++biNvvm7j7D4P/7o6NZ7j1PgMp8ZmmMwVyYRhnEklaE8ng59McNsWbrelErPnDaZyRYYmc5wO32dwbIbB8Pbk2DSDYzM8f3yUock8Q5O5Jf2/thjl/1vFKhohrab8ZQHnfoFxXpCXw70RzvlCCL8kvvZrb+DKvq4lPU4zgv8S4PCc+0eA157/JDPbAewI746b2QtLcOx1QCut7K36rlytVFdo4fpu++ii3ueySjtjOxzE3XcCO5fyPc1sT6U/e1Yq1XflaqW6guq71Jox/u0osGXO/UvDfSIi0gDNCP5HgavM7HIzywDvBB5sQjlERFpSw7t63L1gZr8K/D3BcM6/cPdnGnT4Je06WgZU35WrleoKqu+SWhYXcImIyNLRNe4iIi1GwS8i0mJWTPCbWdLMHjezhyo89kEze9bMnjKz3WZ22ZzHimb2RPizbE4yL1DfXzazp8M6fdvMrp3z2IfN7EUze8HM3tLYUtevnvqaWb+ZTc35fP+88SWvz3z1nfOct5uZm9nAnH0r7vOd85xz6rtSP18ze6+ZDc6p1/vmPLbdzPaFP9vrPX5sx/HX4QPAc0ClCegfBwbcfdLMfgX4Y+A/hI9NufsNDSrjUpqvvn/j7n8OYGZ3AB8Hbg8D8Z3AdcBm4Btm9iPuXmxQmRej5vqGj+1fgZ8vZtYdPueROftW6udbsb6hFfn5Ap9391+du8PMeoH/BgwQXGS818wedPehWj5ZejMAAANvSURBVA++Ilr8ZnYp8FbgU5Ued/d/cvfJ8O73CK4dWLaqqO/onLudhFeiE0yNcb+7z7j7y8CLBFNoxNoi6rssLVTf0EeBjwHTc/atyM83VKm+y1KV9a3kLcDD7n4mDPuHOdvAqcmKCH7gT4EPAdXMxnUP8PU599vMbI+Zfc/M7oqkdEtvwfqa2fvNbD/BXze/Hu6uNF3GJVEVcgnVW1+Ay8M/qb9lZm+MuJxLZd76mtlrgC3u/n/Pe2hFfr7z1BdW4OcbenvYNf0lMytf8Lpkn++yD34zextw0t33VvHcdxH8mfTf5+y+LLw0+heAPzWzK6Mp6dKotr7u/mfufiXwO8DvNqRwEVhkfY8BW939RuCDwN+YWazXolyovmaWIOjK+q2GFiwii6zvivt8Q18D+t391QSt+l1LXhAPp4Zdrj/AHxF88x0AjgOTwGcrPO82gj619fO812eAn292nZaivnOenwBGwu0PAx+e89jfAzc3u05R1bfCY98kONfT9HrVW19gFcHkXQfCn2ngFYIGzYr7fOer70r8fCs8Pznn9/du4JNzHvskwZT2tZej2f8QS/yP+lPAQxX23wjsB646b/8aIBturwP2Adc2ux5LUN+r5mz/HLAn3L4OeBLIApcDLwHJZtcjwvr2lesHXEEwJ1Rvs+ux2Pqe95zZsFupn+889V2Rny+wac72vwO+F273Ai+HubUm3K6rvitpVM85zOwPCALgQYKunS7gixYsvnDI3e8AXgV80sxKBC3F+3yeBWHi7Lz6/qqZ3QbkgSFgO4C7P2NmXyBY+6AAvN+Xx4iPC1RTX+AngD8wszxBf+ovu/uZphR4kc6rb0Ur+PO9mJX6+f56ODqtAJwB3gvg7mfM7KME850B/EG99dWUDSIiLWbZn9wVEZHaKPhFRFqMgl9EpMUo+EVEWoyCX0SkxSj4RepgZlfPmT3xCTMbNbPfaHa5RKqh4Zwii2RmSYKLh17r7gebXR6RhajFL7J4txJMD6zQl2VBwS+yeO8EPtfsQohUS109IotgZhmCScOuc/cTzS6PSDXU4hdZnJ8FHlPoy3Ki4BdZnLtRN48sM+rqEamTmXUCh4Ar3H2k2eURqZaCX0SkxairR0SkxSj4RURajIJfRKTFKPhFRFqMgl9EpMUo+EVEWoyCX0Skxfx/48WdpUG32qgAAAAASUVORK5CYII=\n","text/plain":["
"]},"metadata":{"needs_background":"light"}}]}]}