Report System Predaction

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

International Journal of Technology Engineering Arts Mathematics Science

Vol. 3, No. 1, June 2023, pp. 10~15


ISSN: 2583-1224
DOI: 10.11591/eei.v9i3.xxxx

Movie Recommendation System with Python-ML and Streamlit

Madhavi Patil1, Snehal Patil2, Shivani Patil3, Sanskruti Sitapure4, Mrs. M.V.Shelke5
1,2,3,4,5
Artificial Intelligence and Data Science, AISSMS, IOIT, Maharashtra, India
Corresponding Author: Shivani Patil (shivanipatil.0309@gmail.com)

Article Information ABSTRACT

Article history: Movie recommendation system built using Python and Streamlit. It uses
content-based filtering techniques to recommend movies based on user
Received May 21, 2023
preferences and movie attributes. The system collects and preprocesses
Revised Jun 22, 2023
movie data from publicly available datasets and calculates movie similarity
Accepted Jun 25, 2023
using cosine similarity. A recommendation engine is then built using a
hybrid of content-based filtering, which recommends movies similar to the
ones the user has liked or rated highly in the past. The system provides a
user-friendly interface using Streamlit, where users can input a movie title
and get recommendations instantly. The interface also allows users to rate
movies and get personalized recommendations based on their ratings. The
system is scalable and can be used by movie enthusiasts and streaming
platforms to enhance user engagement and improve movie
recommendations.
KEYWORDS: Python, machine learning, content-based filtering,
vectorization, count vectorizer, cosine similarity, pickle, sklearn, streamlit.

1. INTRODUCTION movie recommendation system using Python and


Movies have become an integral part of our lives. With Streamlit. Second, we demonstrate the effectiveness of
the advent of streaming platforms and the proliferation content-based filtering in generating personalized
of content, choosing the right movie to watch can be a recommendations. Finally, we present the Movie
daunting task. Traditional movie recommendation Recommendation system, a user-friendly system that
systems often rely on ratings and popularity, which can provide tailored recommendations to users based
may not be sufficient to cater to individual on their search preferences.
preferences. To address this problem, we present a Overall, our work showcases the potential of
Movie Recommendation system, built using Python using content-based filtering and Python to build
and Streamlit. Proposed system uses content-based personalized recommendation systems for movies and
recommendation, a popular recommendation highlights the importance of catering to individual
technique, to generate recommendations based on the preferences to enhance user experience.
user's viewing history and is based on the resemblance
of movie characteristics. The system is designed to be 2. RELATED WORK
user-friendly, allowing users to input their preferences In the paper [2] the authors develop a personalized
and receive personalized movie recommendations movie recommendation system using Python and
instantly [1]. Streamlit. The system uses machine learning
This paper provides an overview of the various algorithms to analyze user preferences and provide
recommendation techniques and the rationale behind movie recommendations based on those preferences.
choosing content-based filtering for our system. We The user interface is created using Streamlit, allowing
also detail the implementation of the Movie users to interact with the system and receive
Recommendation system using Python and Streamlit recommendations in real time.
and provide a step-by-step guide to setting up the In this paper [3] the authors develop a movie
system. We evaluate the performance of the system recommendation system using a hybrid algorithm that
using a publicly available dataset and demonstrate its combines content-based filtering. The system is
effectiveness in generating personalized movie developed using Python and uses a Flask framework
recommendations. for the user interface.
Our contribution is threefold. First, we provide In the paper [4], the authors develop a movie
a comprehensive tutorial on building a personalized recommendation system using item-based content-
10
based filtering. The system is developed using Python 2. There are four columns in the file
and the scikit-learn library. In this paper [5], the tmdb_5000_credtis.csv: movie_id, title, cast, and
authors use machine learning algorithms and sentiment crew.
analysis to develop a movie recommendation system. Both datasets are being used.
The system uses Python and the scikit-learn library for
machine learning, and the TextBlob library for 3.2 Vectorization
sentiment analysis. Vectorization is a phase in the feature extraction
Evaluation metrics are used to measure the process in machine learning. By translating text to
performance of movie recommendation systems. In the numerical vectors, the goal is to extract some
paper [6], the authors evaluate the performance of distinguishing features from the text for the model to
different content-based filtering algorithms for movie train on.
recommendation systems. The evaluation is conducted Vectorization Techniques:
using the MovieLens dataset, and metrics such as  Bag of Words
precision and recall are used to measure performance.  GloVe
In this paper [7], the authors evaluate the performance  FastText
of hybrid recommender systems for movie
 TF-IDF
recommendation. The evaluation is conducted using
the MovieLens dataset, and metrics such as MAE  Word2Vec
(Mean Absolute Error) and RMSE (Root Mean Square In the proposed model the ‘Bag of Words’
Error) are used to measure performance. The literature technique is applied. The most comparable vectors
survey of Movie Recommendation System with will be taken into consideration as the outcome. Each
vector will be plotted against each other using words
Python-ML and Streamlit is given in Table 1.
as the axis. Using SciKit-Learn, we will vectorize. The
Python and Streamlit have emerged as popular
CountVectorizer class in this module does
tools for developing personalized movie
vectorization. It is important to convert the scikit
recommendation systems. Machine learning
sparse matrix that fit_transform() returns into a np
algorithms, such as content-based filtering and
array. The feature names can be verified to be accurate
sentiment analysis, are commonly used in these
after running the vectorizer.
systems to provide personalized recommendations to
users. Evaluation metrics, such as precision and recall,
are used to measure the performance of these systems. 3.3 Similarity
The papers reviewed in this literature review The distance between each and every film. This is the
demonstrate the versatility and flexibility of these tools cosine angle between the movies, not Euclidean
for developing movie recommendation systems, and distance as given in Eq. 1. Less distance, more
the findings can guide future research in this area. similarity. This is cosine similarity. Sklearn contains a
function to figure out how similar things.
3. METHODOLOGY
The detail of methodology used in proposed system is
explained below.
(1)
3.1 Data Pre-processing:
The movie's similarity vector was provided as
Pandas and NumPy are the two main libraries that
input. This data will be sorted by increasing similarity
we are employing in this case. Import the libraries,
score and thus display the top 5 films.
read the data, view the data, and merge the datasets.
Remove unnecessary columns, check and Remove
3.4 System Design and Model:
Missing data, and Check for Duplicate data. Pre-
process ‘genres’ using the iloc function. Pass string of Developing Python applications using the IDE VS-
list of dictionaries in the function a helper function to code. Using the Streamlit Python module, we can
convert into the list of names. Repeating each build a virtual environment and a private website
dictionary and removing only the name from it. interface. Streamlit, an open-source Python
applying it to entire 'genres’, ‘Keywords', 'cast', 'crew', framework, makes it simple to create and distribute
and 'overview' should be processed beforehand. beautiful, customised web apps for data science and
Concatenating the columns into one ‘tags new data machine learning. Powerful data apps may be created
frame will only contain 3 columns: ‘id’, ‘title’, and and deployed in a matter of minutes. Python object
‘tags’. structures are serialised and deserialized using the
pickle package. Any sort of Python object (list, dict,
The TMDB 5000 Movie Dataset is the one we're using etc.) can be turned into byte streams (0s and 1s) using
in this case. Listed under this dataset are two files: a process known as pickling, serialisation, flattening,
1. The file tmdb_5000_movies.csv has 20 columns, or marshalling. To allow users to choose the films,
including ones for budget, genres, id, keywords, create a select box widget using Streamlit. In order to
title, and tagline. have movies as possibilities, movie names must be
passed into this pick box. For graphically presenting
our ML models, Streamlit is incredibly helpful.
Table 1. Movie Recommendation System with Python-ML and Streamlit
Paper/Resource Approach/Techniques Key Findings/Contributions
Koren, Y., Bell, R., & Proposed a matrix factorization
Volinsky, C. (2009). approach for recommender systems.
Matrix Factorization,
Matrix factorization Evaluated different algorithms and
Collaborative Filtering
techniques for demonstrated the effectiveness of
recommender systems. collaborative filtering.
Su, X., & Provided an overview of various
Khoshgoftaar, T. M. collaborative filtering techniques,
(2009). A survey of Collaborative Filtering including user-based, item-based, and
collaborative filtering model-based approaches. Discussed
techniques. their strengths and weaknesses.
Sarwar, B., Karypis,
G., Konstan, J., & Proposed an item-based collaborative
Riedl, J. (2001). Item- filtering algorithm and compared it
Item-based Collaborative
based collaborative with other algorithms. Showed
Filtering
filtering improved performance in terms of
recommendation accuracy and scalability.
algorithms.
Shani, G., & Discussed different evaluation
Gunawardana, A. metrics for recommendation systems.
Evaluation Metrics,
(2011). Evaluating Provided a comparative analysis of
Comparative Analysis
recommendation various recommendation algorithms
systems. and their performance.
Marinho, L. B.,
Compared different recommendation
Ziviani, N., & da Silva,
algorithms and evaluated their
A. S. (2015). A Comparative Analysis,
performance on an e-commerce
comparative study of Evaluation Metrics, Hybrid
platform. Explored hybrid
recommender Approaches
approaches to improve
algorithms for an e-
recommendation quality.
commerce platform.
Provided an introduction to
Felfernig, A., & Ricci,
recommender systems, including
F. (2014).
their types, techniques, and
Recommender Introduction, Challenges
challenges. Discussed the challenges
systems: Introduction
in designing and implementing
and challenges.
recommendation systems.
Conducted a literature review of
Zaglia, M. (2013).
recommender systems in the tourism
Recommender systems Recommender Systems,
domain. Explored various techniques
in the tourism domain: Tourism Domain
and approaches used in tourism
A literature review.
recommendation systems.
Baraglia, R., & Presented a comprehensive survey on
Gracco, A. (2017). A recommender systems, covering
Overview, Techniques,
comprehensive survey different techniques, evaluation
Evaluation, Challenges
on recommender methods, and challenges in designing
systems. effective recommendation systems.
4. RESULTS AND DISCUSSION 5. CONCLUSION AND FUTURE SCOPE
As an AI language model, I don't have real-time access The recommendation systems can be upgraded to
to specific experimental results or the ability to better meet present and future requirements in order to
conduct experiments. However, I can provide you with raise quality and create better recommended outputs.
some insights on the potential results you might expect Recommendation algorithms on e-commerce platforms
when building a movie recommendation system in a can act as your virtual tour guide when they're
Python IDE. The results of a movie recommendation powered by AI. The GUI for machine learning and
system can vary depending on several factors, data analysis is called Streamlit. Machine automation
including the dataset used, the recommendation has become one of the technologies that is rapidly
algorithm employed, the evaluation metrics chosen, developing, along with AI and data science.
and the quality of the implemented system. Remember Recommender systems, which will also be used to
that the specific results will depend on the choices you connect buyers and sellers and estimate product
make during the implementation and evaluation demand, will serve as the cornerstone for future supply
process. It's important to select appropriate evaluation chains.
metrics, conduct thorough experimentation, and
analyze the results to draw meaningful conclusions REFERENCES
about the performance of your movie recommendation [1] S. Raschka and J. Patterson, "Machine Learning in
system. The system will recommend movies as per the Python: Main developments and technology trends in
user’s preference and display the options accordingly data science, machine learning, and artificial
as shown in Fig. 1 and GUI is shown in Fig. 2. intelligence," IEEE Intelligent Systems, vol. 33, no. 1,
pp. 96-101, Jan.-Feb. 2018. DOI:
10.1109/MIS.2018.011328758
[2] M. Hossain, S. S. Hasan, M. I. Haque, S. N. Akter, and
M. M. Islam, "Movie Recommendation system: Your
Personalized Movie Recommendation System with
Python and Streamlit," in 2021 4th International
Conference on Advances in Electrical Engineering
(ICAEE), Dhaka, Bangladesh, 2021, pp. 1-5, doi:
10.1109/ICAEE53631.2021.9416809
[3] S. Gupta and N. M. Gupta, "Movie Recommendation
System using Machine Learning and Sentiment
Analysis," in 2020 11th International Conference on
Computing, Communication and Networking
Technologies (ICCCNT), Kharagpur, India, 2020, pp.
1-5, doi: 10.1109/ICCCNT48525.2020.9225145..
[4] H. Gao, L. Zhang, and X. Zhang, "Personalized Movie
Recommendation System Based on Item-Based
Content-based Filtering," in 2020 IEEE International
Conference on Cyberspace Data and Intelligence (IEEE
ICCDI), Hangzhou, China, 2020, pp. 101-106, doi:
10.1109/ICCDI49867.2020.9161905
[5] M. Hossain, S. S. Hasan, M. I. Haque, S. N. Akter, and
M. M. Islam, "Movie Recommendation system: Your
Personalized Movie Recommendation System with
Python and Streamlit," in 2021 4th International
Fig. 1. Movie Recommendation in Python IDE Conference on Advances in Electrical Engineering
(ICAEE), Dhaka, Bangladesh, 2021, pp. 1-5, doi:
10.1109/ICAEE53631.2021.9416809.
[6] A. Rashid and M. A. R. Azim, "A Movie
Recommendation System Using Machine Learning
Algorithms," in 2021 4th International Conference on
Electrical, Computer and Communication Engineering
(ECCE), Cox's Bazar, Bangladesh, 2021, pp. 1-4, doi:
10.1109/ECCE51863.2021.9511602.
[7] P. Zhu, X. Wang, and K. Xue, "Movie
Recommendation System Based on Deep Learning and
Content-based Filtering," in 2021 International
Conference on Artificial Intelligence and Computer
Applications (ICAICA), Wuhan, China, 2021, pp. 1-5,
doi: 10.1109/ICAICA51415.2021.9483007.
[8] Y. Zhang and W. Wang, "A Movie Recommendation
System Based on Deep Learning," in 2019 3rd
International Conference on Control, Automation and
Robotics (ICCAR), Beijing, China, 2019, pp. 429-433,
Fig. 2. Movie Recommendation with GUI doi: 10.1109/ICCAR.2019.8813677.
[9] H. A. Ahmed, A. M. Al-Sayed, and M. H. Ahmed, "A
Deep Learning-Based Movie Recommendation System
Using Long Short-Term Memory," in 2019 2nd
International Conference on Innovative Mechanisms for
Industry Applications (ICIMIA), Cairo, Egypt, 2019,
pp. 1-6, doi: 10.1109/ICIMIA.2019.8773441.
[10] Z. Wu, S. Pan, F. Chen, G. Long, C. Zhang, and S. Y.
Philip, "A comprehensive survey on graph neural
networks," IEEE Transactions on Neural Networks and
Learning Systems, vol. 32, no. 1, pp. 4-24, Jan. 2021,
doi: 10.1109/TNNLS.2020.3047894.
[11] H. Wang, N. Wang, and D.-Y. Yeung, "Content-based
deep learning for recommender systems," in
Proceedings of the 21st ACM SIGKDD International
Conference on Knowledge Discovery and Data Mining,
Sydney, Australia, 2015, pp. 1235-1244, doi:
10.1145/2783258.2788613.
[12] C. Sun, X. Zuo, Y. Li, and J. Cai, "Deep learning based
recommender system: A survey and new perspectives,"
ACM Computing Surveys, vol. 53, no. 2, pp. 1-38, Apr.
2020, doi: 10.1145/3386251.
[13] Y. Yu, Z. Liu, Y. Tao, J. Cui and M. Zhang, "Movie
Recommendation System Based on Deep Learning," in
IEEE Access, vol. 7, pp. 167384-167391, 2019, doi:
10.1109/ACCESS.2019.2953641.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy