Skip to content

This repository showcases a Python notebook implementing a movie recommender system that utilizes preprocessing, CountVectorizer, PorterStemmer, and cosine_similarity techniques for accurate movie recommendations.

Notifications You must be signed in to change notification settings

aliasar1/Movies-Recommeder-System

Repository files navigation

Movie Recommender System

This repository contains a Python notebook that demonstrates a movie recommender system. The system utilizes various techniques such as preprocessing, CountVectorizer, PorterStemmer, and cosine_similarity to provide recommendations for movies.

Contents

Introduction

The Movie Recommender System is a Python-based notebook that leverages natural language processing techniques to recommend movies based on user preferences. It utilizes a dataset of movie titles and their associated descriptions along with movies's credits to generate recommendations using cosine similarity.

Installation

To run the Movie Recommender System, follow these steps:

  1. Clone the repository:

    git clone https://github.com/aliasar1/Movies-Recommeder-System.git
    
  2. Install the required dependencies. You can use pip to install them:

    pip install pandas numpy scikit-learn nltk
    
  3. Open the notebook in Jupyter Notebook or JupyterLab.

Usage

  1. Open the Movies Recommender System.ipynb notebook.
  2. Follow the instructions in the notebook to execute each code cell.
  3. Customize the notebook by modifying parameters, datasets, or the recommendation algorithm to fit your requirements.

Dataset

The dataset used in this project consists of movie titles and their descriptions along with its credits. The data is typically stored in a CSV file and can be customized to include additional fields if desired.

Approach

The movie recommender system follows the following steps:

  1. Data Preprocessing: The movie dataset is preprocessed to remove unnecessary characters, convert text to lowercase, and remove stop words.
  2. Feature Extraction: The preprocessed text is transformed into numerical features using CountVectorizer, which creates a matrix of token counts for each movie description.
  3. Text Normalization: The PorterStemmer algorithm is applied to normalize the features by reducing words to their base or root form.
  4. Cosine Similarity: The cosine similarity metric is used to calculate the similarity between the feature vectors of each movie. The movies with the highest cosine similarity scores are recommended.

Results

The movie recommender system generates a list of top 5 recommended movies based on user preferences. The recommendations are presented in descending order of similarity scores, with the most similar movies appearing at the top of the list.

Future Enhancements

Here are a few potential enhancements that can be made to improve the movie recommender system:

  • Implement a collaborative filtering approach to incorporate user ratings and preferences.
  • Explore other text preprocessing techniques or algorithms to improve the quality of recommendations.
  • Incorporate additional metadata such as genres, actors, and release dates for more accurate recommendations.
  • Develop a user interface to provide a user-friendly experience for interacting with the recommender system.

Contributing

Contributions to the movie recommender system are welcome! If you find any issues or have ideas for improvements, please feel free to open an issue or submit a pull request.

About

This repository showcases a Python notebook implementing a movie recommender system that utilizes preprocessing, CountVectorizer, PorterStemmer, and cosine_similarity techniques for accurate movie recommendations.

Topics

Resources

Stars

Watchers

Forks