Recommendation Of Tamil Movies Using Machine Learning
Data science projects in pondicherry
Create New

Recommendation Of Tamil Movies Using Machine Learning

Project period

06/16/2018 - 07/15/2018

Views

491

2

Project Category

Computer Science



Recommendation Of Tamil Movies Using Machine Learning
Recommendation Of Tamil Movies Using Machine Learning

Recommender systems algorithms are among the most popular applications of data science today. They are used to predict the "rating" or "preference" that a user would give to an item. Amazon uses recommendation system to suggest products to customers, YouTube uses it to decide which video to play next on autoplay, and Facebook uses it to recommend pages to like and people to follow.

Why: Problem statement

Most of the people were not aware of the good and popular movies. They waste their time on searching it. 

How: Solution description

In this challenge, we are going to complete the analysis of Tamil movies in the year of 2017. In particular, we are going to recommend the movies by applying the tools of machine learning such as Simple recommender, Content-Based recommender systems, and Collaborative filtering algorithm.

I collected the list of Tamil movies data from some leading website. The dataset contains Title of the movie, Director of the movie, cast (actors who participated in various roles), Producer of the movie, the year that the movie released, ratings, and the vote counts.

Simple Recommender:

Simple recommenders are basic systems that recommend the top items based on a certain metric or score. In this section, I built a simplified clone of top Tamil movies in the year of 2017.

The following are the steps involved:

Calculate the ratings for every movie.

Sort the movies based on the ratings and output the top results.

One of the most basic metrics is rating. For one, it does not take into consideration the popularity of a movie. Therefore, a movie with a rating of 9 from 10 voters will be considered 'better'.

As the number of voters increases, the rating of a movie regularizes and approaches towards a value that is reflective of the movie's quality. It is more difficult to discern the quality of a movie with extremely few voters.

Taking these shortcomings into consideration, it is necessary that we come up with a weighted rating that takes into account the average rating and the number of votes it has gathered. Such a system will make sure that a movie with a 9 rating from 1000 voters gets a far higher score.

The average rating of a movie on Tamil movie dataset is around 6.29, on a scale of 10. I calculated the average number of votes,  received by each movie is 515.

I calculated the metric for each qualified movie. To do this, I define a function, weighted_rating() and define a new feature wr, of which I calculated the value by applying this function to the DataFrame of qualified movies. Finally, I sorted the DataFrame based on the wr feature and the output title, vote count, vote average and weighted rating or score of the top 10 movies.

Genre-Based Recommendation:

I calculated the genre for each qualified movie. To do this, I defined a function, build_chart() for the genre, of which I calculated the value by applying this function to the DataFrame of qualified movies.

Content-Based Recommender systems:

I built a system that recommends movies that are similar to a particular movie. More specifically, I computed pairwise similarity scores for all movies based on their plot descriptions and recommend movies based on that similarity weighted ratings. The plot description is available as Overview feature in the dataset.

In its current form, it is not possible to compute the similarity between any two overviews. To do that, I computed the word vectors of each overview, as it will be called from now on. I computed the Term Frequency-Inverse Document Frequency (TF-IDF) vectors for each overview. This will give a matrix where each column represents a word in the overview vocabulary (all the words that appear in at least one document) and each column represents a movie.

I analyzed that 1717 different words were used to describe the 191 movies in the dataset.

I used the cosine similarity to calculate a numeric quantity that denotes the similarity between the two movies. I used the cosine similarity score since it is independent of magnitude and is relatively easy and fast to calculate.

I defined a function that takes in a movie title as an input and outputs a list of the 10 most similar movies. I used reverse mapping of movie titles and DataFrame indices.

Collaborative filtering algorithm:

These systems are extremely similar to the content-based recommendation engine that I built. These systems identify similar items based on how people have rated it in the past. Here I took three columns and found the items that were similar in all the three columns named Director, Genre, and ratings.

Result:

By the nature of our system, it is not an easy task to evaluate the performance since there are no right or wrong recommendations. It is just a matter of opinions. This is the RMSE and MAE results between the top 5 movies.

Mean RMSE: 1.9462
Mean MAE: 1.6732

How is it different from competition

I collected the Tamil movie dataset whereas others don't.

Who are your customers

People who are curious about watching various types of movies can use this project. Data Scientists can use this for study and literature survey.

Project Phases and Schedule

Phase 1: Data collection

Phase 2: Data Analysis

Phase 3: Filtering

Phase 4: Recommendation

Resources Required

Tool required: Anaconda - Python 3.6 version

 

Download:
Project Code Code copy
/* Your file Name : Tamil.ipynb */
/* Your coding Language : python */
/* Your code snippet start here */
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "from scipy import stats\n",
    "from ast import literal_eval\n",
    "from sklearn.feature_extraction.text import TfidfVectorizer, CountVectorizer\n",
    "from sklearn.metrics.pairwise import linear_kernel, cosine_similarity\n",
    "from nltk.stem.snowball import SnowballStemmer\n",
    "from nltk.stem.wordnet import WordNetLemmatizer\n",
    "from nltk.corpus import wordnet\n",
    "from wordcloud import WordCloud, STOPWORDS\n",
    "import re\n",
    "import sys\n",
    "import nltk\n",
    "from nltk.corpus import stopwords\n",
    "from surprise import Reader, Dataset, SVD, evaluate\n",
    "\n",
    "import warnings; warnings.simplefilter('ignore')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Title</th>\n",
       "      <th>Director</th>\n",
       "      <th>Cast</th>\n",
       "      <th>Genre</th>\n",
       "      <th>Producer</th>\n",
       "      <th>Vote</th>\n",
       "      <th>Vote Counts</th>\n",
       "      <th>Year</th>\n",
       "      <th>Overview</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Peiyena Peiyum Kurudhi</td>\n",
       "      <td>Sudhakar Shanmugam</td>\n",
       "      <td>Jana, Seenivasan, Harish, Ganeshan, Robin</td>\n",
       "      <td>Thriller</td>\n",
       "      <td>Lion Hunters Productions</td>\n",
       "      <td>4.5</td>\n",
       "      <td>28.0</td>\n",
       "      <td>2017</td>\n",
       "      <td>A thriller film directed by Sudhakar Shanmugam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Soorathengai</td>\n",
       "      <td>Sanjeev Srinivas Kanna</td>\n",
       "      <td>Arvind Vinod, Eugina Samanthi, Theni Murugan</td>\n",
       "      <td>Action masala</td>\n",
       "      <td>Maruthi Films International</td>\n",
       "      <td>5.2</td>\n",
       "      <td>35.0</td>\n",
       "      <td>2017</td>\n",
       "      <td>Soorathengai is the Tamil film featuring Guru ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Unnai Thottu Kolla Vaa</td>\n",
       "      <td>Krishnakumar</td>\n",
       "      <td>Powerstar Srinivasan, Livingston, Ganja Karuppu</td>\n",
       "      <td>Horror</td>\n",
       "      <td>Kavibharathi Creations</td>\n",
       "      <td>4.6</td>\n",
       "      <td>40.0</td>\n",
       "      <td>2017</td>\n",
       "      <td>The movie is directed by Andal Ramesh and feat...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Bairavaa</td>\n",
       "      <td>Bharathan</td>\n",
       "      <td>Vijay, Keerthy Suresh, Sathish, Jagapati Babu,...</td>\n",
       "      <td>Action masala</td>\n",
       "      <td>Vijaya Productions</td>\n",
       "      <td>7.0</td>\n",
       "      <td>120.0</td>\n",
       "      <td>2017</td>\n",
       "      <td>The film stars Vijay and Keerthy Suresh in the...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Koditta Idangalai Nirappuga</td>\n",
       "      <td>Parthiban</td>\n",
       "      <td>Shanthanu Bhagyaraj, Parvatii Nair, Parthiban,...</td>\n",
       "      <td>Comedy thriller</td>\n",
       "      <td>Reel Estate Company &amp; Bioscope Film Frames</td>\n",
       "      <td>7.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>2017</td>\n",
       "      <td>RadhakrishnanParthiban’s films can be hit-and-...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         Title                Director  \\\n",
       "0       Peiyena Peiyum Kurudhi      Sudhakar Shanmugam   \n",
       "1                 Soorathengai  Sanjeev Srinivas Kanna   \n",
       "2       Unnai Thottu Kolla Vaa            Krishnakumar   \n",
       "3                     Bairavaa               Bharathan   \n",
       "4  Koditta Idangalai Nirappuga               Parthiban   \n",
       "\n",
       "                                                Cast            Genre  \\\n",
       "0          Jana, Seenivasan, Harish, Ganeshan, Robin         Thriller   \n",
       "1       Arvind Vinod, Eugina Samanthi, Theni Murugan    Action masala   \n",
       "2    Powerstar Srinivasan, Livingston, Ganja Karuppu           Horror   \n",
       "3  Vijay, Keerthy Suresh, Sathish, Jagapati Babu,...    Action masala   \n",
       "4  Shanthanu Bhagyaraj, Parvatii Nair, Parthiban,...  Comedy thriller   \n",
       "\n",
       "                                     Producer  Vote  Vote Counts  Year  \\\n",
       "0                    Lion Hunters Productions   4.5         28.0  2017   \n",
       "1                 Maruthi Films International   5.2         35.0  2017   \n",
       "2                      Kavibharathi Creations   4.6         40.0  2017   \n",
       "3                          Vijaya Productions   7.0        120.0  2017   \n",
       "4  Reel Estate Company & Bioscope Film Frames   7.0         29.0  2017   \n",
       "\n",
       "                                            Overview  \n",
       "0  A thriller film directed by Sudhakar Shanmugam...  \n",
       "1  Soorathengai is the Tamil film featuring Guru ...  \n",
       "2  The movie is directed by Andal Ramesh and feat...  \n",
       "3  The film stars Vijay and Keerthy Suresh in the...  \n",
       "4  RadhakrishnanParthiban’s films can be hit-and-...  "
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "md = pd. read_csv('Tamil_Movies.csv')\n",
    "md.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "6.294764397905758"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "vote_counts = md[md['Vote Counts'].notnull()]['Vote Counts'].astype('float')\n",
    "vote_averages = md[md['Vote'].notnull()]['Vote'].astype('float')\n",
    "C = vote_averages.mean()\n",
    "C"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "553.5"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "m = vote_counts.quantile(0.95)\n",
    "m"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(10, 5)"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "qualified = md[(md['Vote Counts'] >= m) & (md['Vote Counts'].notnull()) & (md['Vote'].notnull())][['Title', 'Year', 'Vote Counts', 'Vote','Genre']]\n",
    "qualified['Vote Counts'] = qualified['Vote Counts'].astype('int')\n",
    "qualified['Vote'] = qualified['Vote'].astype('int')\n",
    "qualified.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [],
   "source": [
    "def weighted_rating(x):\n",
    "    v = x['Vote Counts']\n",
    "    R = x['Vote']\n",
    "    return (v/(v+m) * R) + (m/(m+v) * C)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Title</th>\n",
       "      <th>Year</th>\n",
       "      <th>Vote Counts</th>\n",
       "      <th>Vote</th>\n",
       "      <th>Genre</th>\n",
       "      <th>wr</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>52</th>\n",
       "      <td>Baahubali: The Conclusion</td>\n",
       "      <td>2017</td>\n",
       "      <td>3932</td>\n",
       "      <td>9</td>\n",
       "      <td>Fantasy</td>\n",
       "      <td>8.666180</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>178</th>\n",
       "      <td>Aruvi</td>\n",
       "      <td>2017</td>\n",
       "      <td>1351</td>\n",
       "      <td>9</td>\n",
       "      <td>Social drama</td>\n",
       "      <td>8.213784</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>144</th>\n",
       "      <td>Mersal</td>\n",
       "      <td>2017</td>\n",
       "      <td>1352</td>\n",
       "      <td>8</td>\n",
       "      <td>Action Thriller</td>\n",
       "      <td>7.504672</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>117</th>\n",
       "      <td>Kurangu Bommai</td>\n",
       "      <td>2017</td>\n",
       "      <td>762</td>\n",
       "      <td>8</td>\n",
       "      <td>Thriller drama</td>\n",
       "      <td>7.282518</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50</th>\n",
       "      <td>Nagarvalam</td>\n",
       "      <td>2017</td>\n",
       "      <td>720</td>\n",
       "      <td>8</td>\n",
       "      <td>Romantic thriller</td>\n",
       "      <td>7.258855</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>118</th>\n",
       "      <td>Oru Kanavu Pola</td>\n",
       "      <td>2017</td>\n",
       "      <td>671</td>\n",
       "      <td>8</td>\n",
       "      <td>Romance</td>\n",
       "      <td>7.229197</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>184</th>\n",
       "      <td>Velaikkaran</td>\n",
       "      <td>2017</td>\n",
       "      <td>992</td>\n",
       "      <td>7</td>\n",
       "      <td>Thriller</td>\n",
       "      <td>6.747429</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>8 Thottakkal</td>\n",
       "      <td>2017</td>\n",
       "      <td>859</td>\n",
       "      <td>7</td>\n",
       "      <td>Crime thriller</td>\n",
       "      <td>6.723648</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>116</th>\n",
       "      <td>Pannam Pathinonnum Seyum</td>\n",
       "      <td>2017</td>\n",
       "      <td>569</td>\n",
       "      <td>6</td>\n",
       "      <td>Action</td>\n",
       "      <td>6.145347</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>187</th>\n",
       "      <td>Kalavaadiya Pozhuthugal</td>\n",
       "      <td>2017</td>\n",
       "      <td>731</td>\n",
       "      <td>5</td>\n",
       "      <td>Drama</td>\n",
       "      <td>5.557923</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         Title  Year  Vote Counts  Vote              Genre  \\\n",
       "52   Baahubali: The Conclusion  2017         3932     9            Fantasy   \n",
       "178                      Aruvi  2017         1351     9       Social drama   \n",
       "144                     Mersal  2017         1352     8    Action Thriller   \n",
       "117             Kurangu Bommai  2017          762     8     Thriller drama   \n",
       "50                  Nagarvalam  2017          720     8  Romantic thriller   \n",
       "118            Oru Kanavu Pola  2017          671     8            Romance   \n",
       "184                Velaikkaran  2017          992     7           Thriller   \n",
       "41                8 Thottakkal  2017          859     7     Crime thriller   \n",
       "116   Pannam Pathinonnum Seyum  2017          569     6             Action   \n",
       "187    Kalavaadiya Pozhuthugal  2017          731     5              Drama   \n",
       "\n",
       "           wr  \n",
       "52   8.666180  \n",
       "178  8.213784  \n",
       "144  7.504672  \n",
       "117  7.282518  \n",
       "50   7.258855  \n",
       "118  7.229197  \n",
       "184  6.747429  \n",
       "41   6.723648  \n",
       "116  6.145347  \n",
       "187  5.557923  "
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "qualified['wr'] = qualified.apply(weighted_rating, axis=1)\n",
    "qualified = qualified.sort_values('wr', ascending=False).head(250)\n",
    "qualified.head(15)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [],
   "source": [
    "s = md.apply(lambda x: pd.Series(x['Genre']),axis=1).stack().reset_index(level=1, drop=True)\n",
    "s.name = 'Genre'\n",
    "gen_md = md.drop('Genre', axis=1).join(s)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [],
   "source": [
    "def build_chart(Genre, percentile=0.85):\n",
    "    df = gen_md[gen_md['Genre'] == Genre]\n",
    "    vote_counts = df[df['Vote Counts'].notnull()]['Vote Counts'].astype('int')\n",
    "    vote_averages = df[df['Vote'].notnull()]['Vote'].astype('int')\n",
    "    C = vote_averages.mean()\n",
    "    m = vote_counts.quantile(percentile)\n",
    "    \n",
    "    qualified = df[(df['Vote Counts'] >= m) & (df['Vote Counts'].notnull()) & (df['Vote'].notnull())][['Title', 'Year', 'Vote Counts', 'Vote']]\n",
    "    qualified['Vote Counts'] = qualified['Vote Counts'].astype('int')\n",
    "    qualified['Vote'] = qualified['Vote'].astype('int')\n",
    "    \n",
    "    qualified['wr'] = qualified.apply(lambda x: (x['Vote Counts']/(x['Vote Counts']+m) * x['Vote']) + (m/(m+x['Vote Counts']) * C), axis=1)\n",
    "    qualified = qualified.sort_values('wr', ascending=False).head(250)\n",
    "    \n",
    "    return qualified"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Title</th>\n",
       "      <th>Year</th>\n",
       "      <th>Vote Counts</th>\n",
       "      <th>Vote</th>\n",
       "      <th>wr</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>164</th>\n",
       "      <td>Guru Uchaththula Irukkaru</td>\n",
       "      <td>2017</td>\n",
       "      <td>156</td>\n",
       "      <td>8</td>\n",
       "      <td>6.833333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>Kanna Pinna</td>\n",
       "      <td>2017</td>\n",
       "      <td>156</td>\n",
       "      <td>7</td>\n",
       "      <td>6.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>57</th>\n",
       "      <td>Saravanan Irukka Bayamaen</td>\n",
       "      <td>2017</td>\n",
       "      <td>156</td>\n",
       "      <td>7</td>\n",
       "      <td>6.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>115</th>\n",
       "      <td>Adra Raja Adida</td>\n",
       "      <td>2017</td>\n",
       "      <td>367</td>\n",
       "      <td>6</td>\n",
       "      <td>5.900574</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>77</th>\n",
       "      <td>Peechankai</td>\n",
       "      <td>2017</td>\n",
       "      <td>157</td>\n",
       "      <td>6</td>\n",
       "      <td>5.833866</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>146</th>\n",
       "      <td>Kadaisi Bench Karthi</td>\n",
       "      <td>2017</td>\n",
       "      <td>156</td>\n",
       "      <td>4</td>\n",
       "      <td>4.833333</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         Title  Year  Vote Counts  Vote        wr\n",
       "164  Guru Uchaththula Irukkaru  2017          156     8  6.833333\n",
       "25                 Kanna Pinna  2017          156     7  6.333333\n",
       "57   Saravanan Irukka Bayamaen  2017          156     7  6.333333\n",
       "115            Adra Raja Adida  2017          367     6  5.900574\n",
       "77                  Peechankai  2017          157     6  5.833866\n",
       "146       Kadaisi Bench Karthi  2017          156     4  4.833333"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "build_chart('Comedy').head(15)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5,1,'Overview')"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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pB8tMYbBtAGUbNBCGFd9EpTlN4Pr6xph2hNk654NtL1zhSGHi3HnNE9/5RF++8t2KqqL2ffpRl77cQtPH34E17iPaCTGGz9ppXZTBfsfv49fv/YXsrPNHDy0DUfvBFc7nTR99kH6e8a42ulkeMDN4W8vXbzzv3Ire+n8P/vVu5d4Ym8DBkW56Wtwo+PJpJauIb3ceYlkctHk6MJ5qS8a/7ojJ86nQ6Cjz0lSg4t9I/zohSYGx72c7R7i4K56XDMBXj1+jnWVdnbUf4xjZ66wuiiPJ/c2MDrl4/RlB4/v3kLX4Di9Qy68s2E215TjGPMw6vbx/MEd+IIRjp3p4qXP37ym9HKOjbXRtGbnf2Ru49SZHqrKC+kdmCTHakbNsRCOxKlfX05Ht5PHHlp+ns3pepTY/PsYDcUU5D5LfH540YfxXLwXr/97hOdOk2Uso0B9lnz1UPp4JHaBqZlvEZt3YDQUUJT/DfKyP4N39vvMBH6avopQFBPmrLVUlWa2+MjcHbQGm/oMNjU1FznsegjV+imK8l4EwDv7Q4KRE9xV2vphT+OWX8iPZAgIIYRO3HII3DFzAkIIIf77JASEEELH7pSJYf0NRAshxB1ArgSEEELHJASEEELHJASEEELHJASEEELHJASEEELHJASEEELHJASEEELHJASEEELHJASEEELHJASEEELHJASEEELHJASEEELHJASEEELHJASEEELHJASEEELHJASEEELHJASEEELHJASEEELHJASEEELHJASEEELHJASEEELHJASEEELHJASEEELH/gECMdIMDd2bqwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a18685978>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "stopwords = set(STOPWORDS)\n",
    "wordcloud = WordCloud(\n",
    "                          background_color='white',\n",
    "                          stopwords=stopwords,\n",
    "                          max_words=200,\n",
    "                          max_font_size=40, \n",
    "                          random_state=42\n",
    "                         ).generate(str(md['Overview']))\n",
    "plt.imshow(wordcloud)\n",
    "plt.axis('off')\n",
    "plt.title('Overview')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "9.09 ms ± 145 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n"
     ]
    }
   ],
   "source": [
    "%%timeit\n",
    "def cleaning(s):\n",
    "    s = str(s)\n",
    "    s = s.lower()\n",
    "    s = re.sub('\\s\\W',' ',s)\n",
    "    s = re.sub('\\W,\\s',' ',s)\n",
    "    s = re.sub(r'[^\\w]', ' ', s)\n",
    "    s = re.sub(\"\\d+\", \"\", s)\n",
    "    s = re.sub('\\s+',' ',s)\n",
    "    s = re.sub('[!@#$_]', '', s)\n",
    "    s = s.replace(\"co\",\"\")\n",
    "    s = s.replace(\"https\",\"\")\n",
    "    s = s.replace(\",\",\"\")\n",
    "    s = s.replace(\"[\\w*\",\" \")\n",
    "    return s\n",
    "md['Overview'] = [cleaning(s) for s in md['Overview']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    a thriller film directed by sudhakar shanmugam...\n",
       "1    soorathengai is the tamil film featuring guru ...\n",
       "2    the movie is directed by andal ramesh and feat...\n",
       "3    the film stars vijay and keerthy suresh in the...\n",
       "4    radhakrishnanparthiban s films can be hit and ...\n",
       "Name: Overview, dtype: object"
      ]
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#Print plot overviews of the first 5 movies.\n",
    "md['Overview'].head()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(191, 1691)"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#Import TfIdfVectorizer from scikit-learn\n",
    "from sklearn.feature_extraction.text import TfidfVectorizer\n",
    "\n",
    "#Define a TF-IDF Vectorizer Object. Remove all english stop words such as 'the', 'a'\n",
    "tfidf = TfidfVectorizer(stop_words='english')\n",
    "\n",
    "#Replace NaN with an empty string\n",
    "md['Overview'] = md['Overview'].fillna('')\n",
    "\n",
    "#Construct the required TF-IDF matrix by fitting and transforming the data\n",
    "tfidf_matrix = tfidf.fit_transform(md['Overview'])\n",
    "\n",
    "#Output the shape of tfidf_matrix\n",
    "tfidf_matrix.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Import linear_kernel\n",
    "from sklearn.metrics.pairwise import linear_kernel\n",
    "\n",
    "# Compute the cosine similarity matrix\n",
    "cosine_sim = linear_kernel(tfidf_matrix, tfidf_matrix)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 1.        ,  0.0791257 ,  0.04333171,  0.12170194,  0.04869945,\n",
       "        0.09214741,  0.07638808,  0.055337  ,  0.02295348,  0.        ,\n",
       "        0.02371623,  0.        ,  0.03996045,  0.        ,  0.        ,\n",
       "        0.        ,  0.01935917,  0.        ,  0.        ,  0.        ,\n",
       "        0.        ,  0.        ,  0.        ,  0.        ,  0.        ,\n",
       "        0.0176576 ,  0.        ,  0.        ,  0.05073715,  0.05972802,\n",
       "        0.12989205,  0.        ,  0.        ,  0.        ,  0.        ,\n",
       "        0.        ,  0.04020944,  0.04897837,  0.        ,  0.        ,\n",
       "        0.04768548,  0.        ,  0.        ,  0.        ,  0.        ,\n",
       "        0.05691269,  0.        ,  0.        ,  0.        ,  0.        ,\n",
       "        0.        ,  0.        ,  0.        ,  0.05207113,  0.        ,\n",
       "        0.07043293,  0.        ,  0.01985719,  0.05379042,  0.0492001 ,\n",
       "        0.        ,  0.        ,  0.04479365,  0.        ,  0.03595572,\n",
       "        0.        ,  0.        ,  0.0566211 ,  0.        ,  0.        ,\n",
       "        0.04921356,  0.12081681,  0.        ,  0.        ,  0.03687466,\n",
       "        0.        ,  0.        ,  0.        ,  0.        ,  0.04309622,\n",
       "        0.04162354,  0.17135481,  0.        ,  0.        ,  0.20635562,\n",
       "        0.0501414 ,  0.        ,  0.03187064,  0.        ,  0.12064169,\n",
       "        0.09506094,  0.10301313,  0.        ,  0.16776608,  0.        ,\n",
       "        0.        ,  0.        ,  0.03544325,  0.        ,  0.        ,\n",
       "        0.        ,  0.04747624,  0.        ,  0.07927598,  0.        ,\n",
       "        0.        ,  0.        ,  0.02848915,  0.        ,  0.04259367,\n",
       "        0.        ,  0.        ,  0.        ,  0.05855933,  0.        ,\n",
       "        0.04473147,  0.04472828,  0.        ,  0.02426322,  0.        ,\n",
       "        0.14459396,  0.05160853,  0.        ,  0.        ,  0.        ,\n",
       "        0.        ,  0.10983147,  0.        ,  0.        ,  0.10936779,\n",
       "        0.        ,  0.        ,  0.        ,  0.        ,  0.02188185,\n",
       "        0.0729935 ,  0.        ,  0.06534049,  0.        ,  0.        ,\n",
       "        0.        ,  0.11617162,  0.        ,  0.03801929,  0.        ,\n",
       "        0.        ,  0.        ,  0.20739346,  0.        ,  0.05375034,\n",
       "        0.        ,  0.        ,  0.03124291,  0.20971563,  0.        ,\n",
       "        0.        ,  0.        ,  0.02582353,  0.05359731,  0.        ,\n",
       "        0.05441297,  0.0702002 ,  0.        ,  0.        ,  0.        ,\n",
       "        0.050575  ,  0.        ,  0.0600976 ,  0.        ,  0.0337501 ,\n",
       "        0.        ,  0.        ,  0.08119167,  0.04409968,  0.02730328,\n",
       "        0.        ,  0.        ,  0.        ,  0.        ,  0.17452284,\n",
       "        0.04892673,  0.06054961,  0.        ,  0.        ,  0.02725508,\n",
       "        0.        ,  0.02830373,  0.        ,  0.        ,  0.0962513 ,  0.        ])"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cosine_sim[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Construct a reverse map of indices and movie titles\n",
    "md = md.reset_index()\n",
    "titles = md['Title']\n",
    "indices = pd.Series(md.index, index=md['Title']).drop_duplicates()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Function that takes in movie title as input and outputs most similar movies\n",
    "def get_recommendations(Title, cosine_sim=cosine_sim):\n",
    "    # Get the index of the movie that matches the title\n",
    "    idx = indices[Title]\n",
    "\n",
    "    # Get the pairwsie similarity scores of all movies with that movie\n",
    "    sim_scores = list(enumerate(cosine_sim[idx]))\n",
    "\n",
    "    # Sort the movies based on the similarity scores\n",
    "    sim_scores = sorted(sim_scores, key=lambda x: x[1], reverse=True)\n",
    "\n",
    "    # Get the scores of the 10 most similar movies\n",
    "    sim_scores = sim_scores[1:11]\n",
    "\n",
    "    # Get the movie indices\n",
    "    movie_indices = [i[0] for i in sim_scores]\n",
    "\n",
    "    # Return the top 10 most similar movies\n",
    "    return md['Title'].iloc[movie_indices]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "108                  Sathura Adi 3500\n",
       "63     Sangili Bungili Kadhava Thorae\n",
       "52          Baahubali: The Conclusion\n",
       "131                     Bayama Irukku\n",
       "110       Podhuvaga En Manasu Thangam\n",
       "88                   Yaanum Theeyavan\n",
       "127                    Thupparivaalan\n",
       "18                         Kuttram 23\n",
       "34                     Paambhu Sattai\n",
       "38                               Dora\n",
       "Name: Title, dtype: object"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "get_recommendations('Shivalinga')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "153                    Ippadai Vellum\n",
       "84     Adhagappattathu Magajanangalay\n",
       "81                             Veruli\n",
       "30                                465\n",
       "0              Peiyena Peiyum Kurudhi\n",
       "147                   Kalathur Gramam\n",
       "91                          Niranjana\n",
       "169                             Yaazh\n",
       "5             Sivappu Enakku Pidikkum\n",
       "1                        Soorathengai\n",
       "Name: Title, dtype: object"
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "get_recommendations('Bairavaa')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Title</th>\n",
       "      <th>Director</th>\n",
       "      <th>Cast</th>\n",
       "      <th>Genre</th>\n",
       "      <th>Producer</th>\n",
       "      <th>Vote</th>\n",
       "      <th>Vote Counts</th>\n",
       "      <th>Year</th>\n",
       "      <th>Overview</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Peiyena Peiyum Kurudhi</td>\n",
       "      <td>Sudhakar Shanmugam</td>\n",
       "      <td>Jana, Seenivasan, Harish, Ganeshan, Robin</td>\n",
       "      <td>Thriller</td>\n",
       "      <td>Lion Hunters Productions</td>\n",
       "      <td>4.5</td>\n",
       "      <td>28.0</td>\n",
       "      <td>2017</td>\n",
       "      <td>A thriller film directed by Sudhakar Shanmugam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Soorathengai</td>\n",
       "      <td>Sanjeev Srinivas Kanna</td>\n",
       "      <td>Arvind Vinod, Eugina Samanthi, Theni Murugan</td>\n",
       "      <td>Action masala</td>\n",
       "      <td>Maruthi Films International</td>\n",
       "      <td>5.2</td>\n",
       "      <td>35.0</td>\n",
       "      <td>2017</td>\n",
       "      <td>Soorathengai is the Tamil film featuring Guru ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Unnai Thottu Kolla Vaa</td>\n",
       "      <td>Krishnakumar</td>\n",
       "      <td>Powerstar Srinivasan, Livingston, Ganja Karuppu</td>\n",
       "      <td>Horror</td>\n",
       "      <td>Kavibharathi Creations</td>\n",
       "      <td>4.6</td>\n",
       "      <td>40.0</td>\n",
       "      <td>2017</td>\n",
       "      <td>The movie is directed by Andal Ramesh and feat...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Bairavaa</td>\n",
       "      <td>Bharathan</td>\n",
       "      <td>Vijay, Keerthy Suresh, Sathish, Jagapati Babu,...</td>\n",
       "      <td>Action masala</td>\n",
       "      <td>Vijaya Productions</td>\n",
       "      <td>7.0</td>\n",
       "      <td>120.0</td>\n",
       "      <td>2017</td>\n",
       "      <td>The film stars Vijay and Keerthy Suresh in the...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Koditta Idangalai Nirappuga</td>\n",
       "      <td>Parthiban</td>\n",
       "      <td>Shanthanu Bhagyaraj, Parvatii Nair, Parthiban,...</td>\n",
       "      <td>Comedy thriller</td>\n",
       "      <td>Reel Estate Company &amp; Bioscope Film Frames</td>\n",
       "      <td>7.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>2017</td>\n",
       "      <td>RadhakrishnanParthiban’s films can be hit-and-...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         Title                Director  \\\n",
       "0       Peiyena Peiyum Kurudhi      Sudhakar Shanmugam   \n",
       "1                 Soorathengai  Sanjeev Srinivas Kanna   \n",
       "2       Unnai Thottu Kolla Vaa            Krishnakumar   \n",
       "3                     Bairavaa               Bharathan   \n",
       "4  Koditta Idangalai Nirappuga               Parthiban   \n",
       "\n",
       "                                                Cast            Genre  \\\n",
       "0          Jana, Seenivasan, Harish, Ganeshan, Robin         Thriller   \n",
       "1       Arvind Vinod, Eugina Samanthi, Theni Murugan    Action masala   \n",
       "2    Powerstar Srinivasan, Livingston, Ganja Karuppu           Horror   \n",
       "3  Vijay, Keerthy Suresh, Sathish, Jagapati Babu,...    Action masala   \n",
       "4  Shanthanu Bhagyaraj, Parvatii Nair, Parthiban,...  Comedy thriller   \n",
       "\n",
       "                                     Producer  Vote  Vote Counts  Year  \\\n",
       "0                    Lion Hunters Productions   4.5         28.0  2017   \n",
       "1                 Maruthi Films International   5.2         35.0  2017   \n",
       "2                      Kavibharathi Creations   4.6         40.0  2017   \n",
       "3                          Vijaya Productions   7.0        120.0  2017   \n",
       "4  Reel Estate Company & Bioscope Film Frames   7.0         29.0  2017   \n",
       "\n",
       "                                            Overview  \n",
       "0  A thriller film directed by Sudhakar Shanmugam...  \n",
       "1  Soorathengai is the Tamil film featuring Guru ...  \n",
       "2  The movie is directed by Andal Ramesh and feat...  \n",
       "3  The film stars Vijay and Keerthy Suresh in the...  \n",
       "4  RadhakrishnanParthiban’s films can be hit-and-...  "
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#Collaborative Filtering\n",
    "reader = Reader()\n",
    "ratings = pd.read_csv('Tamil_movies.csv')\n",
    "ratings.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [],
   "source": [
    "md = Dataset.load_from_df(ratings[['Director', 'Genre', 'Vote']], reader)\n",
    "md.split(n_folds=5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Evaluating RMSE, MAE of algorithm SVD.\n",
      "\n",
      "------------\n",
      "Fold 1\n",
      "RMSE: 2.1224\n",
      "MAE:  1.7692\n",
      "------------\n",
      "Fold 2\n",
      "RMSE: 1.8613\n",
      "MAE:  1.5132\n",
      "------------\n",
      "Fold 3\n",
      "RMSE: 2.1208\n",
      "MAE:  1.8974\n",
      "------------\n",
      "Fold 4\n",
      "RMSE: 1.7317\n",
      "MAE:  1.5342\n",
      "------------\n",
      "Fold 5\n",
      "RMSE: 1.8947\n",
      "MAE:  1.6526\n",
      "------------\n",
      "------------\n",
      "Mean RMSE: 1.9462\n",
      "Mean MAE : 1.6733\n",
      "------------\n",
      "------------\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "CaseInsensitiveDefaultDict(list,\n",
       "                           {'mae': [1.7692307692307692,\n",
       "                             1.513157894736842,\n",
       "                             1.8973684210526314,\n",
       "                             1.5342105263157895,\n",
       "                             1.6526315789473685],\n",
       "                            'rmse': [2.1224079213514502,\n",
       "                             1.8613096690799535,\n",
       "                             2.1207620278917121,\n",
       "                             1.7316709302076752,\n",
       "                             1.8947295321496416]})"
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svd = SVD()\n",
    "evaluate(svd, md, measures=['RMSE', 'MAE'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<surprise.prediction_algorithms.matrix_factorization.SVD at 0x1a1952d208>"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "trainset = md.build_full_trainset()\n",
    "svd.train(trainset)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Title</th>\n",
       "      <th>Director</th>\n",
       "      <th>Cast</th>\n",
       "      <th>Genre</th>\n",
       "      <th>Producer</th>\n",
       "      <th>Vote</th>\n",
       "      <th>Vote Counts</th>\n",
       "      <th>Year</th>\n",
       "      <th>Overview</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>Dora</td>\n",
       "      <td>Doss Ramasamy</td>\n",
       "      <td>Nayanthara, Sulile Kumar, Harish Uthaman, Tham...</td>\n",
       "      <td>Horror</td>\n",
       "      <td>A Sarkunam Cinemaz &amp; Nemichand Jabak Productions</td>\n",
       "      <td>8.3</td>\n",
       "      <td>538.0</td>\n",
       "      <td>2017</td>\n",
       "      <td>A father and a daughter buy a used car which i...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>113</th>\n",
       "      <td>Thappattam</td>\n",
       "      <td>Mujibur Rahman</td>\n",
       "      <td>Durai Sudhakar, Dona Rozario</td>\n",
       "      <td>Romantic drama</td>\n",
       "      <td>Moon Pictures</td>\n",
       "      <td>8.3</td>\n",
       "      <td>123.0</td>\n",
       "      <td>2017</td>\n",
       "      <td>Thappattam is a Tamil movie released on 24 Aug...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>144</th>\n",
       "      <td>Mersal</td>\n",
       "      <td>Atlee</td>\n",
       "      <td>Vijay, Samantha, Kajal Aggarwal, Nithya Menen,...</td>\n",
       "      <td>Action Thriller</td>\n",
       "      <td>Sri Thenandal Films</td>\n",
       "      <td>8.3</td>\n",
       "      <td>1352.0</td>\n",
       "      <td>2017</td>\n",
       "      <td>Maaran, a doctor, is invited to Paris for a se...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>164</th>\n",
       "      <td>Guru Uchaththula Irukkaru</td>\n",
       "      <td>B. Dhandapani</td>\n",
       "      <td>Guru Jeeva, Aara, Pandiarajan, M. S. Bhaskar</td>\n",
       "      <td>Comedy</td>\n",
       "      <td>Best Movies</td>\n",
       "      <td>8.3</td>\n",
       "      <td>156.0</td>\n",
       "      <td>2017</td>\n",
       "      <td>A wastrel and his friends learn that a politic...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         Title        Director  \\\n",
       "38                        Dora   Doss Ramasamy   \n",
       "113                 Thappattam  Mujibur Rahman   \n",
       "144                     Mersal           Atlee   \n",
       "164  Guru Uchaththula Irukkaru   B. Dhandapani   \n",
       "\n",
       "                                                  Cast            Genre  \\\n",
       "38   Nayanthara, Sulile Kumar, Harish Uthaman, Tham...           Horror   \n",
       "113                       Durai Sudhakar, Dona Rozario   Romantic drama   \n",
       "144  Vijay, Samantha, Kajal Aggarwal, Nithya Menen,...  Action Thriller   \n",
       "164       Guru Jeeva, Aara, Pandiarajan, M. S. Bhaskar           Comedy   \n",
       "\n",
       "                                             Producer  Vote  Vote Counts  \\\n",
       "38   A Sarkunam Cinemaz & Nemichand Jabak Productions   8.3        538.0   \n",
       "113                                     Moon Pictures   8.3        123.0   \n",
       "144                               Sri Thenandal Films   8.3       1352.0   \n",
       "164                                       Best Movies   8.3        156.0   \n",
       "\n",
       "     Year                                           Overview  \n",
       "38   2017  A father and a daughter buy a used car which i...  \n",
       "113  2017  Thappattam is a Tamil movie released on 24 Aug...  \n",
       "144  2017  Maaran, a doctor, is invited to Paris for a se...  \n",
       "164  2017  A wastrel and his friends learn that a politic...  "
      ]
     },
     "execution_count": 82,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ratings[ratings['Vote'] == 8.3]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Prediction(uid=1, iid=302, r_ui=3, est=5, details={'was_impossible': False})"
      ]
     },
     "execution_count": 83,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svd.predict(1, 302, 3)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training Accuracy 0.8671328671328671\n"
     ]
    }
   ],
   "source": [
    "X_train, X_test, Y_train, Y_test = train_test_split(\n",
    "        md.loc[:, ['Vote', 'Vote Counts']], \n",
    "        md.loc[:, 'Title'])\n",
    "\n",
    "from sklearn.tree import DecisionTreeClassifier\n",
    "tree = DecisionTreeClassifier()#criterion='entropy'\n",
    "                               #, max_depth = 3\n",
    "                               #, random_state = 0)\n",
    "tree.fit(X_train,Y_train)\n",
    "#Y_pred_tree = tree.predict(X_test)\n",
    "print (\"Training Accuracy {}\".format(tree.score(X_train, Y_train)))\n",
    "#print (\"Testing Accuracy {}\".format(tree.score(X_test, Y_test)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training Accuracy 0.8461538461538461\n"
     ]
    }
   ],
   "source": [
    "from sklearn.ensemble import RandomForestClassifier\n",
    "random = RandomForestClassifier()\n",
    "random.fit(X_train,Y_train)\n",
    "#y_pred = random.predict(X_test)\n",
    "print (\"Training Accuracy {}\".format(random.score(X_train, Y_train)))\n",
    "#print (\"Testing Accuracy {}\".format(random.score(X_test, Y_test)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training Accuracy 0.8461538461538461\n"
     ]
    }
   ],
   "source": [
    "from sklearn.naive_bayes import BernoulliNB\n",
    "naive = BernoulliNB()\n",
    "naive.fit(X_train,Y_train)\n",
    "#y_pred = random.predict(X_test)\n",
    "print (\"Training Accuracy {}\".format(random.score(X_train, Y_train)))\n",
    "#print (\"Testing Accuracy {}\".format(random.score(X_test, Y_test)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
View on Github
Tamil Movie Recommendation

Comments

Leave a Comment

Post a Comment

Are you Interested in this project?


Do you need help with a similar project? We can guide you. Please Click the Contact Us button.


Contact Us

Social Sharing