In this project, neighborhood-based collaborative filtering (NBCF) algorithms are implemented to predict movie ratings for users. NBCF encompasses two main types of algorithms: user-based (UBCF) and item-based (IBCF). These algorithms analyze user behavior and preferences to provide personalized movie recommendations. The goal is to develop a movie recommendation system that utilizes machine learning techniques to filter and predict users' film preferences based on their past choices.
- Collaborative filtering algorithm based on the Manhattan distance similarity metric.
- Predicts user ratings for items based on similar users' ratings.
- Customizable parameters for the number of users, items, and top user count.
- Input data is read from text files, and recommendations are written to a CSV file.
To run the recommendation system, you need:
- C++ compiler
- Development environment or IDE
- Clone the project repository:
$ git clone https://github.com/erogluegemen/Movie-Recommendation-System.git $ cd Movie-Recommendation-System
- Open the source code file recommendation_system.cpp in a C++ development environment.
- Modify the necessary constants in the code according to your data.
- Build and run the code.
- Prepare your training and testing data files in the required format.
- Modify the code to provide the correct paths to your data files.
- Build and run the code.
- The system will generate a CSV file named submission.csv containing the recommendations.
The recommendation system uses a collaborative filtering algorithm based on the Manhattan distance similarity metric.
It calculates the similarity between the query user and other users in the dataset based on their rating profiles.
The top similar users are then selected, and their ratings are used to predict the rating for the query user and item.
If you encounter any problems, do not hesitate to contact.
@Egemen Eroglu
@Cagatay Tugcu
The recommendation system code was developed using C++ and the collaborative filtering algorithm. We would like to thank the contributors for their efforts in creating this system.
If you have any questions or need assistance, please don't hesitate to contact us.
Thank you for using the recommendation system!