The recommendation system development can be a common task in Natural Language Processing(NLP). YouTube or Netflix use similar techniques to recommend to their customers. They analyze the previous behavior of their customers and based on that, they recommend similar material for them. In this article, I will discuss how to develop a movie recommendation model using the scikit-learn library in python. It involves a lot of complex mathematics. But the scikit-learn library has some great in-built functions that will take care of most of the heavy lifting. I will explain how to use those functions and their job as we move forward with the exercise.

## Dataset Overview

I will use a movie dataset for this exercise. I am giving the link to the dataset at the bottom of this page. Please feel free to download and run all the code for better understanding.

Here is the step by step implementation of the movie recommendation model:

1. Import the packages and the dataset.
``````from sklearn.metrics.pairwise import cosine_similarity
import pandas as pd
import numpy as np
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.metrics.pairwise import cosine_similaritydf = pd.read_csv("movie_dataset.csv")
``````

2. The dataset is too big. So, I cannot show a screenshot here. Here are the columns of the dataset. They are self-explanatory. Column names will tell what is the content in it.

``````df.columns#Output:
Index(['index', 'budget', 'genres', 'homepage', 'id', 'keywords',        'original_language', 'original_title', 'overview', 'popularity',        'production_companies', 'production_countries', 'release_date',        'revenue', 'runtime', 'spoken_languages', 'status', 'tagline', 'title',        'vote_average', 'vote_count', 'cast', 'crew', 'director'],       dtype='object')
``````

3. Choose the features to be used for the model. We do not need to use all the features. Some of them are not appropriate for this model. I choose these four features:

``````features = ['keywords','cast','genres','director']
``````

Please feel free to include more features or different features for the experiment. Now, combine those features and make one column out of those four columns.

#python #machine-learning #naturallanguageprocessing #data-science #towards-data-science

3.40 GEEK