Build A Movie Recommendation Engine Using Python

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ก.ค. 2024
  • Build A Recommendation Engine Using Python
    ⭐Please Subscribe !⭐
    ⭐Get the code and data sets by becoming a supporter on Patreon:
    / computerscience
    ⭐Websites:
    ► everythingcomputerscience.com/
    ⭐C-Programming Tutorial:
    ► www.udemy.com/course/c-progra...
    ⭐Supporter the channel on Patreon:
    ► / computerscience
    ⭐Helpful Programming Books
    ► Python (Hands-Machine-Learning-Scikit-Learn-TensorFlow):
    amzn.to/2AD1axD
    ► Learning Python:
    amzn.to/3dQGrEB
    ►Head First Python:
    amzn.to/3fUxDiO
    ► C-Programming :
    amzn.to/2X0N6Wa
    ► Head First Java:
    amzn.to/2LxMlhT
    #Python #RecommendationProgram #RecommendationEngine
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 106

  • @joaocurveira
    @joaocurveira 3 ปีที่แล้ว +59

    Great tutorial.
    In order to help others, the dataset can be found by searching "IMDB data from 2006 to 2016" and you just need to add the Movie_id column. That can be easily solve by running something like: df['Movie_id'] = range(0,1000) right after importing the data, or simply update the csv.

    • @CARdibia
      @CARdibia 3 ปีที่แล้ว +2

      Thanks boss

    • @shikharadhikari
      @shikharadhikari 3 ปีที่แล้ว

      hi there, can u help me with one thing pls
      Can u tell how can i check if the string is similar to movie name or not because this program that he have coded only recommends if the movie name is as same as the csv dataset but if someone only types in spiderman instead of full correct title then it will show an index error, which i have kept as an except for now but how can i check if the string is similar to title or something in csv dataset

    • @adnanyeasir7965
      @adnanyeasir7965 ปีที่แล้ว

      Clutch

  • @dominikdev9710
    @dominikdev9710 3 ปีที่แล้ว +1

    awesome video, exactly what i was looking for, had a few errors but it was worth going through the whole video. Thank you👍

  • @amitsinha5194
    @amitsinha5194 3 ปีที่แล้ว +2

    This is really great. After going through lot many links and blogs got something really useful. My understanding of cosine similarity is clear now.

    • @DanhWasHere
      @DanhWasHere 3 ปีที่แล้ว

      You can't learn about cosine similarity with this video -it is used just as a black box. This gives more insight to the basic math behind cosine similarity: www.kdnuggets.com/2019/04/building-recommender-system.html

  • @vincent_hall
    @vincent_hall 3 ปีที่แล้ว +2

    Cool, thanks Computer Science.
    Nice that it's simple, very doable.

  • @atefehz6606
    @atefehz6606 3 ปีที่แล้ว +3

    as someone who is just getting started with coding i really enjoyed watching this. thank you for your work . this is great ^_^

  • @Human_477
    @Human_477 3 ปีที่แล้ว

    I don't know how I should to appreciate you but the most important thing is that your work is really appreciatable

  • @amrsaif3351
    @amrsaif3351 2 ปีที่แล้ว

    Good information, with clear sound and simple steps ,thanks for sharing 👍

  • @smallchimp318
    @smallchimp318 3 ปีที่แล้ว +6

    Good tutorial, I learned a decent amount! I'm wondering what the next layer down is from here, however. Is there a way to weigh certain factors more heavily? Like title is a good feature, it's an easy way to detect other movies in a franchise, but the similarity scores seem very, very low for anything that doesn't share a similar title. If I want to make it so that description or genre or actors can have adjusted values, is that a feature?

  • @shubhamdandekar20
    @shubhamdandekar20 2 ปีที่แล้ว

    That was si useful. Thank you.

  • @ghantasunandana5362
    @ghantasunandana5362 3 ปีที่แล้ว

    Where we can get the dataset that you mentioned in the video?could you please tell us where it is available

  • @jdcb18
    @jdcb18 4 ปีที่แล้ว +2

    Hey, I loved your video it explained a lot to me. But I have a question when you implement this in the real world. I can see that feed the data from an cvs file, like all the tutorials online. In real life you probably have a database with new movies all the time, what happens when you input a new data, you have to run this script to generate the similarity matrix? Does it become cpu expensive as your database grows?

  • @Mayur7Garg
    @Mayur7Garg 2 ปีที่แล้ว +1

    You should use the str accessor of the dataframe to join columns (when you created that combined important features column). Using a for loop on a dataframe is neither convenient nor efficient.

  • @muhammadzubairbaloch3224
    @muhammadzubairbaloch3224 4 ปีที่แล้ว

    very good work. but please I have confusion for performance evaluation metric of recommendation system like rank10, precision, recall etc.thanks

  • @ChenYI93
    @ChenYI93 2 ปีที่แล้ว

    Great video! How can i make the model to take in multiple input of titles instead of 1? and then the recommendation will be based on all the multiple inputs

  • @shikharadhikari
    @shikharadhikari 3 ปีที่แล้ว

    Can u tell how can i check if the string is similar to movie name or not because this program that you have coded only recommends if the movie name is as same as the csv dataset but if someone only types in spiderman instead of full correct title then it will show an index error, which i have kept as an except for now but how can i check if the string is similar to title or something in csv dataset

  • @clericdan4375
    @clericdan4375 3 ปีที่แล้ว +1

    great content, can u make a tutorial to find out the corellation between the features in the csv data ?

  • @azizlatipov1313
    @azizlatipov1313 2 ปีที่แล้ว

    Bro, u r the best. Thank u a lot!!!

  • @harshadrane4469
    @harshadrane4469 3 ปีที่แล้ว +1

    Great TUT easy to understand
    like from India

  • @Machconsults
    @Machconsults 4 หลายเดือนก่อน

    Wow this is amazing

  • @JayShah_._._
    @JayShah_._._ 3 ปีที่แล้ว

    what to do incase user lkes more than one movie like input is spiderman and iron man then how should we go about using content based filtering

  • @azizmithaiwala7737
    @azizmithaiwala7737 2 ปีที่แล้ว

    What if we want to campare the similarity of the movie which is not in the database but know its attributes

  • @armaansood2081
    @armaansood2081 3 ปีที่แล้ว

    Wow , pretty impressive.

  • @Adi-jb7nm
    @Adi-jb7nm 2 ปีที่แล้ว

    hey what type of filtering is this?

  • @luisdanilogomezperez1071
    @luisdanilogomezperez1071 3 ปีที่แล้ว

    podrian agregar el enlace de descarga del archivo cvs por favor, es que no lo encuentro en ninguna pagina. Gracias

  • @aarondurante1385
    @aarondurante1385 3 ปีที่แล้ว +6

    what does it mean?? I'm having problems on [9] #Create a column to hold the combined string.
    it shows this: ValueError: Length of values (1) does not match length of index (1000)

    • @BrisaniAshley
      @BrisaniAshley 2 ปีที่แล้ว +1

      I'm getting the same error please help

    • @karenbergan1552
      @karenbergan1552 2 ปีที่แล้ว

      Did anyone figure out how to solve this error?

  • @sagargahalod3246
    @sagargahalod3246 3 ปีที่แล้ว +2

    Can someone please share the 'movie_data.csv' file or its source?

  • @CRIZ209
    @CRIZ209 3 ปีที่แล้ว

    Help me
    The error say : TypeError: 'int' object is not subdcriptable in finally video or code in show the recomendation

  • @ferhatkamal5929
    @ferhatkamal5929 2 ปีที่แล้ว +1

    Adamsın adam gibi adam adam

  • @thanhluannguyen684
    @thanhluannguyen684 3 ปีที่แล้ว

    Can I ask you what algorithm you use?

  • @louisaldorio7251
    @louisaldorio7251 3 ปีที่แล้ว

    so is this a machine learning model or just algorithm ?, cuz i dont see any training process

  • @thanhluannguyen684
    @thanhluannguyen684 3 ปีที่แล้ว

    What algorithm do you use?

  • @venkatesh2788
    @venkatesh2788 2 ปีที่แล้ว +1

    Sir if we add new movie in the website, we need to add the new movie to the dataset and create model again

  • @killian.1603
    @killian.1603 ปีที่แล้ว

    I'm starting and this video helped me a lot, however how can I display more than one info in the final result (for example the name of the movie and the date of publication). Thanks in advance

  • @litace4435
    @litace4435 3 ปีที่แล้ว

    Hi sir what is the difficulty of this tutorial? i mean this is the basic of ml or advanced?

  • @deandroid6008
    @deandroid6008 2 ปีที่แล้ว

    Great work! how can we implement it on an android app? can we convert it into TF Lite?

  • @krishnaprabeesh2415
    @krishnaprabeesh2415 2 ปีที่แล้ว +1

    I'm getting an error at the part where we do cm = CountVectorizer().fit_transform(df['important_features']) Please help me

    • @alicerezenderibeiro1896
      @alicerezenderibeiro1896 2 ปีที่แล้ว +1

      if it says that object does not have a lower method or something like that, you should make the important_features column as a string, so you can do df['important_features'] = df['important_features'].astype['str']

    • @krishnaprabeesh2415
      @krishnaprabeesh2415 2 ปีที่แล้ว

      @@alicerezenderibeiro1896 thanks

  • @ambuj1553
    @ambuj1553 3 ปีที่แล้ว

    IndexError Traceback (most recent call last)
    in
    1 #Create a list of enumeration for the similarity score[ (car price,similar cars)....]
    ----> 2 scores = list(cs[id])
    IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
    i tried same for car recommender but getting this error at list enumerate any help ?

    • @emnae.m3642
      @emnae.m3642 3 ปีที่แล้ว +1

      getting the same error :(

  • @louisaldorio7251
    @louisaldorio7251 3 ปีที่แล้ว

    can we export this to be a model ?

  • @khushboodawda1368
    @khushboodawda1368 3 ปีที่แล้ว

    hey!! i getting error in DF['important_features']=get_important_features(DF) and error is KeyError: 206 can u plz help me solve this..!!!

    • @manukrishnan3358
      @manukrishnan3358 3 ปีที่แล้ว

      Try this out:
      df['important_features'] = df['column_1']+' '+ df['column_2']+ ' ' ....+ df['column_n']
      I think you should get the same result.
      There is no need to create a function and iterate using for loop.

  • @guillermomendieta2438
    @guillermomendieta2438 3 ปีที่แล้ว +2

    Im getting an error in this part:
    df['features'] = get_important_features(df)
    df.head(30)

    • @hamisiandale2942
      @hamisiandale2942 3 ปีที่แล้ว +3

      try this in your code...had the same error and was able to solve with this...
      #create a funtion to combine the values of the important columns into a single string
      def get_important_features(data):
      important_features = []
      for i in range(0, data.shape[0]):
      lis = [data['type'][i], str(data['title'][i]), str(data['rating'][i]),data['genres'][i]]
      x = ' '.join(lis)
      important_features.append(x)
      return important_features

    • @wilsonhaefner6383
      @wilsonhaefner6383 3 ปีที่แล้ว +1

      @@hamisiandale2942 You are a life saver. Thank you

  • @AlgoTribes
    @AlgoTribes 4 ปีที่แล้ว +2

    Why don't you come up with something new..you are really one of talented people out there..

  • @FunFlavours1913
    @FunFlavours1913 4 ปีที่แล้ว +1

    I m getting error in cm = CountVectorizer line ,
    'Series' object has no attribute 'lower'
    Plz resolve this error

    • @NipunRawat08
      @NipunRawat08 4 ปีที่แล้ว

      so do I

    • @NipunRawat08
      @NipunRawat08 4 ปีที่แล้ว

      @Shrimad Mishra I m getting error in cm = CountVectorizer line ,
      'Series' object has no attribute 'lower'
      Plz resolve this error

  • @sriram1120
    @sriram1120 3 ปีที่แล้ว +2

    Sir is this content based or collaborative filtering method?

  • @moseslesa9676
    @moseslesa9676 2 ปีที่แล้ว

    I think adding input function for user to input the movie title can be much better

  • @AdityaSingh-vs4fo
    @AdityaSingh-vs4fo 3 ปีที่แล้ว

    Can you give the movie database

  • @eyeeyemaster
    @eyeeyemaster 4 ปีที่แล้ว

    Where did the data come from?

    • @abhijithmahadevan9393
      @abhijithmahadevan9393 4 ปีที่แล้ว +4

      Google the attributes in the order as given The first result gives you the result the data set in kaggle

  • @shauryavardhansingh7917
    @shauryavardhansingh7917 3 ปีที่แล้ว

    where to find the data sset

    • @Erik-jl1fx
      @Erik-jl1fx 3 ปีที่แล้ว +1

      IMBD-Movie-Data kaggle

  • @gouravverma311
    @gouravverma311 4 ปีที่แล้ว +1

    its a good program can you please tell us where did you get movie data from ?

    • @HankeyMassacre
      @HankeyMassacre 3 ปีที่แล้ว

      You can download data sets on keggle for free :)

    • @abdallahabdelsalam6080
      @abdallahabdelsalam6080 3 ปีที่แล้ว +1

      @@HankeyMassacre yoooooooo i was searching soooo much to know how to get the data your reply just saved me thanks

  • @NkfuryYT
    @NkfuryYT 3 ปีที่แล้ว

    please upload your csv file in description

  • @visakhsikhamani8792
    @visakhsikhamani8792 3 ปีที่แล้ว +1

    Can you please upload a video on music recommendation using CNN

  • @NgocNguyen-re3gm
    @NgocNguyen-re3gm 3 ปีที่แล้ว +1

    from vietnam with love

  • @killuawang677
    @killuawang677 3 ปีที่แล้ว +2

    I'd like to clarify, this is not really a "recommendation" system comparing to Netflix or Amazon Video, it is more like a "similar movie search" feature, which can be part of the search results when you search for movies. It is still a useful thing, but if someone is looking to build a recommendation system, especially when the "important feature" is not yet clear, this video would likely give them a wrong understanding. A recommendation system should at least have a user preference table and usually uses matrix factorization to figure out the important features. I'd suggest change the title to be more clear for the purpose of this video...

    • @ComputerSciencecompsci112358
      @ComputerSciencecompsci112358  3 ปีที่แล้ว +2

      Thanks for your feed back, I truly appreciate it. I will not change the title of this video however and I will explain why.
      The code in the video is indeed a recommendation engine/system by definition. According to wikipedia “Recommender systems or recommendation systems (sometimes replacing “system” with a synonym such as platform or engine) are a subclass of information filtering system that seek to predict the ‘rating’ or ‘preference’ that a user would give to an item.”
      The recommendation engine in this video is a content based recommendation engine. A content based recommender works with data that the user provides, either explicitly (rating) or implicitly (clicking on a link).- Analytics Vidhya
      In the video we get the movie that the user likes and then recommend similar movies.

    • @lodostic1015
      @lodostic1015 2 ปีที่แล้ว

      @@ComputerSciencecompsci112358 I am trying to build a system similar to TH-cam's recommendation system will this be good?

  • @venkatesh2788
    @venkatesh2788 2 ปีที่แล้ว

    How to change into web app

  • @gaganpanwar3595
    @gaganpanwar3595 3 ปีที่แล้ว

    Upload code n data set

  • @PanicMod
    @PanicMod 3 ปีที่แล้ว +1

    I need the code file please anyone help me ?

    • @ComputerSciencecompsci112358
      @ComputerSciencecompsci112358  3 ปีที่แล้ว +1

      Hi PanicMod,
      You can get all of the code and the dataset at patreon.com/computerscience

    • @PanicMod
      @PanicMod 3 ปีที่แล้ว

      @@ComputerSciencecompsci112358 i am a student dont have a credit card can you give this to me free ?

    • @mohamadnajmudinmohdyusoff9497
      @mohamadnajmudinmohdyusoff9497 3 ปีที่แล้ว

      @@PanicMod you can try google 'IMDB data from 2006 to 2016' as recommended from top comment if you still looking.

  • @animeworldproductions1882
    @animeworldproductions1882 4 ปีที่แล้ว

    I'm getting error on df[columns].head(3) can anyone help me out please

  • @anushashetty4733
    @anushashetty4733 3 ปีที่แล้ว

    I am getting the error below please help:
    ValueError Traceback (most recent call last)
    in ()
    1 #Create a column to hold the combined strings
    ----> 2 df['important_features'] = get_important_features(df)
    3
    4 #Show the data
    5 df.head(3)
    3 frames
    /usr/local/lib/python3.7/dist-packages/pandas/core/internals/construction.py in sanitize_index(data, index)
    746 if len(data) != len(index):
    747 raise ValueError(
    --> 748 "Length of values "
    749 f"({len(data)}) "
    750 "does not match length of index "
    ValueError: Length of values (1) does not match length of index (1000)

  • @Bawaromerali
    @Bawaromerali 3 ปีที่แล้ว

    Thanks for video , but its better to explain its content-base ? user- base ? what kind of recommender system ?!

    • @vinaybora617
      @vinaybora617 3 ปีที่แล้ว

      Did you get your answer?

    • @Bawaromerali
      @Bawaromerali 3 ปีที่แล้ว

      @@vinaybora617 not important anymore i created my own recommendation system , and defended my master thesis with excellent mark !

    • @vinaybora617
      @vinaybora617 3 ปีที่แล้ว +1

      @@Bawaromerali great 👍

    • @Bawaromerali
      @Bawaromerali 3 ปีที่แล้ว

      @@vinaybora617 thanks

  • @nithinikanchani2472
    @nithinikanchani2472 3 ปีที่แล้ว

    #get the title of the job that the user likes
    title = 'IT Security Data Scientist'
    #find the job description
    job_description = df[df.Job Title == title]['Job Description'].values[0]
    this is the 16th code set and I get a syntax error calling Invalid Syntax and the error points out the Job Title and I still couldn't figure it out

  • @johnkonyak8401
    @johnkonyak8401 3 ปีที่แล้ว

    Can I convert this to .exe?

    • @armitosmt5753
      @armitosmt5753 3 ปีที่แล้ว

      what do you mean by converting it to .exe? do you mean if you want to build an app ?

    • @johnkonyak8401
      @johnkonyak8401 3 ปีที่แล้ว

      @@armitosmt5753 yes an app

  • @victoroliveira7684
    @victoroliveira7684 3 ปีที่แล้ว

    So, to be clear, this is not a machine learning model, right?

  • @muhammadfayaz7536
    @muhammadfayaz7536 3 ปีที่แล้ว

    Please can you give me the full code of this recommender engine

  • @TR4008
    @TR4008 3 ปีที่แล้ว

    How to drop users with less than 10 reviews

  • @manvisingh7455
    @manvisingh7455 4 ปีที่แล้ว

    Teh

  • @amitrameshjaisinghaniofficial
    @amitrameshjaisinghaniofficial 3 ปีที่แล้ว

    ** Urgent Please Error
    ---------------------------------------------------------------------------
    IndexError Traceback (most recent call last)
    in ()
    3
    4 #Find the movies id
    ----> 5 movie_id = df[df.movie_title == title]['Movie_id'].values[0]
    IndexError: index 0 is out of bounds for axis 0 with size 0

  • @achendvankar
    @achendvankar 3 ปีที่แล้ว

    Your content is really good, the workflow is smooth, however, cannot implement them on our own because you provide no links for the datasets. Such a waste.