Project Report CP 7th
Project Report CP 7th
On
Submitted By:
Submitted To:
Harleen Kaur
Mr. Chandan
201302053
AIML Trainer
B.Tech CSE(AIML) 7th Sem
Session (2023-24)
TABLE OF CONTENTS
Candidate’s declaration..................................................................3
Acknowledgement.........................................................................4
Abstract..........................................................................................5
Introduction....................................................................................6
Literature Survey............................................................................8
References.....................................................................................17
Conclusion………………………................................................19
CANDIDATE’S DECLARATION
Harleen Kaur
201302053
BTech CSE(AIML)
2020-2024
ACKNOWLEDGEMENT
Foremost of all, I express my sincere indebtedness to the “Almighty”, for
bestowing me with all the favorable circumstances and kept me in high spirits,
I am very great full to my advisor, “Harleen Kaur” for his patience,
encouragement, and many fruitful discussions from the very early stage of his
project. I would like to thank, Head of the Department of Computer Science
and Engineering. Faculty of Engineering and Technology from SGT
University, Gurugram. I wish to express my appreciation to my family for
my continuous love and encouragement, for always believing in me, for never
failing to provide all the support, and for coping with the pressure that
naturally comes with such endeavor.
Harleen Kaur
201302053
BTech CSE(AIML)
2020-2024
ABSTRACT
The Intelligent Movie Recommendation System is an advanced digital platform
designed to enhance the movie-watching experience by providing personalized
and accurate movie recommendations to users. Leveraging cutting-edge machine
learning algorithms, user preferences, and content analysis, the system aims to
deliver tailored suggestions that align with individual tastes, ensuring an engaging
and enjoyable cinematic journey.
The core of the recommendation system involves a collaborative filtering
approach, where user behavior patterns are analyzed to identify similarities with
other users, leading to effective movie suggestions. Additionally, content-based
filtering is employed, taking into account the inherent characteristics of movies
such as genre, director, and cast to offer diverse and relevant recommendations.
The system also incorporates hybrid recommendation techniques, combining
collaborative and content-based filtering to overcome the limitations of each
approach and provide more robust and accurate suggestions. Through continuous
learning and adaptation, the system evolves with user feedback, ensuring that
recommendations stay up-to-date and reflective of changing preferences.
INTRODUCTION
In the ever-expanding world of digital entertainment, the abundance of available
movies often leaves viewers overwhelmed when deciding what to watch.
Recognizing this challenge, the Movie Recommendation System Project seeks to
revolutionize the way individuals discover and engage with films. By leveraging
advanced machine learning algorithms, data analytics, and user behavior analysis,
the project aims to provide a personalized and intuitive movie recommendation
experience.
The primary motivation behind this endeavor is to enhance user satisfaction and
streamline the movie selection process. Traditional methods of browsing through
extensive movie libraries or relying on generic recommendations often fall short
in catering to the diverse and unique preferences of individual viewers. In
response to this, the Movie Recommendation System utilizes sophisticated
techniques to understand user habits, preferences, and the intrinsic features of
movies, delivering tailored suggestions that align with each user's taste.
This project operates on the premise that effective movie recommendations go
beyond simple genre matching. It delves into collaborative filtering, where user
similarities are identified and used to suggest movies liked by users with similar
tastes. Additionally, content-based filtering considers the inherent characteristics
of movies, such as genre, director, and cast, to provide recommendations that
resonate with the viewer's preferences on a deeper level.
By incorporating hybrid recommendation techniques that synergize collaborative
and content-based filtering, the system addresses the limitations of individual
approaches, offering more accurate and diverse movie suggestions. The project
further establishes a dynamic feedback loop, allowing users to provide input on
recommended movies, ensuring continuous learning and refinement of the
recommendation algorithms.
As the Movie Recommendation System adapts to changing user preferences and
incorporates the latest advancements in machine learning, it aspires to become an
indispensable tool for movie enthusiasts. Through its innovative features and
commitment to delivering a personalized cinematic experience, this project
stands poised to redefine how users interact with the vast and ever-growing
landscape of digital entertainment.
Key Features:
Personalized Recommendations: Utilizing user history, ratings, and
viewing habits to generate tailored movie suggestions.
Collaborative Filtering: Analyzing user behavior to identify similarities
and recommend movies based on the preferences of like-minded users.
IMPORT LIBRARIES
We are first importing the libraries. Libraries like numpy, pandas, etc.
import numpy as np
import pandas as pd
import difflib
We are now saving the dataset that was taken from the Kaggle after loading the libraries.
We are now displaying the dataset after saving it in the variable "df".
(4803, 24)
As can be seen, there are a total of 4803 rows and 24 columns in the dataset.
selected_feature
movies_data[feature] = movies_data[feature].fillna('')
combined_features.head()
feature_vectors = vectorizer.fit_transform(combined_features)
print(feature_vectors)
COSINE SIMILARITY
similarity = cosine_similarity(feature_vectors)
print(similarity)
[[1. 0.07219487 0.037733 ... 0. 0. 0. ] [0.07219487 1. 0.03281499 ... 0.03575545 0. 0. ] [0.037733
0.03281499 1. ... 0. 0.05389661 0. ] ... [0. 0.03575545 0. ... 1. 0. 0.02651502] [0. 0. 0.05389661 ... 0. 1. 0. ]
[0. 0. 0. ... 0.02651502 0. 1. ]]
similarity.shape
(4803, 4803)
#creating a list with all the movies name given in the data
list_of_all_titles = movies_data['title'].tolist()
print(list_of_all_titles)
find_close_match
close_match = find_close_match[0]
close_match
‘The Avengers’
index_of_movie
16
#similar movies
similarity_score = list(enumerate(similarity[index_of_movie]))
print(similarity_score)
len(similarity_score)
4803
print(sorted_similar_movies)
i = 1
index = movie[0]
if (i<30):
print(i , '.',title_from_index)
i+=1
list_of_all_titles = movies_data['title'].tolist()
close_match = find_close_match[0]
index_of_movie = movies_data[movies_data.title ==
close_match]['index'].values[0]
similarity_score = list(enumerate(similarity[index_of_movie]))
i = 1
index = movie[0]
if (i<30):
print(i , '.',title_from_index)
i+=1
TOOLS AND TECHNIQUES USED
MACHINE LEARNING
Machine Learning (ML) is a transformative field within the broader realm of
artificial intelligence (AI) that empowers computers to learn and improve from
experience without being explicitly programmed. The fundamental idea behind
machine learning is to enable systems to automatically recognize patterns, make
decisions, and improve their performance over time, all based on data.
Unlike traditional programming where explicit rules are defined to accomplish a
specific task, machine learning algorithms use statistical techniques to allow
computers to learn from data and make predictions or decisions without explicit
programming. This ability to learn and adapt is what distinguishes machine
learning from conventional programming approaches.
Machine learning applications span a wide range of domains, from image and
speech recognition to natural language processing, recommendation systems, and
autonomous vehicles. As technology advances, the impact and ubiquity of
machine learning continue to grow, making it a central component of modern AI-
driven systems.
FEATURE SCALING
Feature scaling is a crucial preprocessing step in many machine learning
algorithms, especially those that are sensitive to the scale of input features.
Scaling ensures that the features contribute equally to the model training process,
preventing certain features from dominating due to their larger magnitudes. Two
common techniques for feature scaling in AI are Min-Max Scaling and
Standardization (Z-score normalization).
Min-Max Scaling:
o Min-Max Scaling, also known as normalization, involves
transforming the values of features to a specific range, typically
between 0 and 1. The formula for Min-Max Scaling is given by:
o Xnew=(X−Xmin)/(Xmax−Xmin)
o Here, X is the original value, Xmin is the minimum value of the
feature, and max is the maximum value of the feature.
o Min-Max Scaling is beneficial when the features have different
ranges, and it is important to bring them to a common scale. It is
particularly useful for algorithms that rely on distances, such as k-
nearest neighbors.
Standardization (Z-score normalization):
o Standardization transforms the values of features to have a mean of
0 and a standard deviation of 1. The formula for standardization is
given by:
Xnew =(X−μ)/ σ
o Here, X is the original value, μ is the mean of the feature, and σ is
the standard deviation of the feature.
o Standardization is useful when the features follow a Gaussian
distribution (normal distribution) and the algorithm relies on the
assumption of normality, such as many linear models.
Choosing between Min-Max Scaling and Standardization depends on the
characteristics of the data and the requirements of the specific machine learning
algorithm being used. Some algorithms, like support vector machines and k-
means clustering, may benefit more from standardization, while others, like
neural networks, might perform well with Min-Max Scaling.
REFERENCE
Kaggle
Geeksforgeeks
github
CONCLUSION
In conclusion, the Movie Recommendation System project represents a
significant step towards enhancing the user experience in the vast and diverse
realm of digital entertainment. Through an exploration of diverse
recommendation techniques and a synthesis of collaborative, content-based, and
hybrid models, the project seeks to address the intricate challenge of providing
personalized and relevant movie suggestions.
As the project navigates challenges such as the "cold start" problem, scalability,
and the need for diversity in suggestions, it aligns with the broader trends in
recommendation system research. The commitment to user-centric evaluation
metrics ensures that the project's success is measured by its ability to meet the
practical needs and expectations of its audience.