Movie Recommendation System with Collaborative Filtering

Sdílet
Vložit
  • čas přidán 2. 07. 2024
  • Collaborative Filtering Recommendation System class is part of Machine Learning Career Track at Code Heroku. Get started in our ML Career Track for Free: www.codeheroku.com/ml
    Collaborative filtering approach for building recommendation systems rely on ratings and behavior of other users in the system to suggest most relevant items to the user. Concepts covered in this video: Cosine Similarity, Pearson Correlation, Netflix Recommendation System, Jupyter Notebooks, Collaborative Filtering, Movie Lens Dataset
    Content Based Recommendation System (Part 1): • Building a Movie Recom...
    Web App Demo: www.codeheroku.com/static/movi...
    Building this Web App
    Part 1: / how-to-turn-your-machi...
    Part2: / part-2-how-to-turn-you...
    Important Links:
    1. Complete Course: www.codeheroku.com/ml
    2. Github: github.com/codeheroku/Introdu...
    3. Azure Notebooks: notebooks.azure.com/hello-cod...
    4. Dataset on Google Drive: drive.google.com/file/d/1WWQC...
    5. Toy Dataset: raw.githubusercontent.com/cod...
    6. Demo App: www.codeheroku.com/static/movi...
    Follow us on:
    Instagram: / codeheroku
    Twitter: / codeheroku
    LinkedIn: / mihirthakkar01
    Email: hello@codeheroku.com
    WhatsApp: +91-9967578720
  • Věda a technologie

Komentáře • 147

  • @iqrasadia5602
    @iqrasadia5602 Před 2 lety +10

    For someone who doesn't even have good coding experience. I had to finish a demo for the work. I was able to complete it with your tutorial. Excellent work.

  • @aparanapant1512
    @aparanapant1512 Před 3 lety +9

    This tutorial had really helped me a lot ! Thank you so much for this wonderful content and explaining it so clearly ! I wish you all the best !!

  • @kaushiknippanikar7021
    @kaushiknippanikar7021 Před 4 lety +26

    DAMN.....!!!!!!!!!!
    I tried so hard to learn ML on other channels.
    All of them were so confusing and longer than my attention span.
    But your videos keep me concentrated all the way.
    Great job man, hope CZcams search engine will be more generous on you.

  • @sarabhian2270
    @sarabhian2270 Před 3 lety

    such a simple teacher , he made hard stuff very easy

  • @dinsfire4628
    @dinsfire4628 Před 2 lety

    This was so incredibly helpful, thank you so much!

  • @abhishekpalkar52
    @abhishekpalkar52 Před 4 lety

    You are the best sir, teaching method really helps!

  • @shikhasinghal5713
    @shikhasinghal5713 Před 2 lety

    The session was really helpful.Thankyou!

  • @steffm.4884
    @steffm.4884 Před 2 lety +2

    Hi, thanks for the great tutorial. In the toy dataset example, what do I need to do in order to find similar users (not movies) based on action_lover's ratings?

  • @sanskaarpatni9137
    @sanskaarpatni9137 Před 4 lety

    Great explanation!
    Thank You Sir

  • @wanmuz86
    @wanmuz86 Před 4 lety

    Thanks. Very helpful I managed to redo your code without problem

  • @mianmuhammadnouman8700

    really appreciated. helps me a lot. thank you. Good luck for channel

  • @ravi99217
    @ravi99217 Před 3 lety +1

    very Nice, easy to understand all points

  • @roopagaur8834
    @roopagaur8834 Před 4 lety +6

    Such a great explaination. You need many more subscribers.

    • @CodeHeroku
      @CodeHeroku  Před 4 lety

      Hi! thanks for your motivating words and support 😀

  • @khushalvyas5633
    @khushalvyas5633 Před 4 lety +4

    very well explained... Thank you!

  • @parisanejatian8940
    @parisanejatian8940 Před 4 lety

    thanks a lot for your really really useful tutorial. Keep going .....

  • @tuliomoreira1992
    @tuliomoreira1992 Před rokem +2

    Thank you for the video! One question, though.. would it be better to use df.mean().mean() as the mean rating of all users instead of 2.5? Many thanks!

  • @jaggyjut
    @jaggyjut Před 3 lety

    Nice, could you please shown how to deploy the model and connect with a front end react app

  • @HumaRizwan
    @HumaRizwan Před 3 lety

    I subscribed man......great content

  • @ShikshaMishraMTCS
    @ShikshaMishraMTCS Před 2 lety +2

    Hi, can make a video of how after training a model which predicts rating by a user of an item, multiple recommendations for a particular user based on their item rakings are generated?? It would be really helpful

  • @vikashkumarchaurasia1299
    @vikashkumarchaurasia1299 Před 3 lety +1

    Very nice explanation thanks alot

  • @simkort5799
    @simkort5799 Před rokem

    Hi great video! I personally think the axises during the 'Quantifying the similarity' part can be a bit confusing. If you are measuring the similarities of the Users, then u are comparing the User's rating score on different movies. So it should be U1 and U2 marked on the dots instead of M1 and M2, and M1 & M2 on the axises. Because when it expands from 2D to nD, the vector will be combinations of U1 and U2's rating on different movies, and each of the axis will be M1, M2....Mn

  • @mirsahib596
    @mirsahib596 Před 3 lety +1

    can you please suggest how should we split the data into train/test and evalute our model

  • @gpstech3048
    @gpstech3048 Před 2 lety

    Nice demonstration. Question: i have developed model based cf and predicted values. How can i recommend items from this model?please help me

  • @sheruloves9190
    @sheruloves9190 Před 3 lety +1

    Does standardise() function remain same? eg. if we wish to perform user-user CF, do we need to standardise column instead?
    amazing tutorial, thanks.. :))

  • @ryyesterday
    @ryyesterday Před 2 lety

    For your standardize function, why do you include the 0s in your calculation of the mean when normalizing?

  • @lavanyamaradani473
    @lavanyamaradani473 Před 4 lety

    I really liked the way you implemented and i started using them but i got stuck at a point when i am using the pivot_table. My jupyter notebook kernel dies every time when i try running it. Can someone please help me how to overcome that.

  • @juandiegorodriguez7583
    @juandiegorodriguez7583 Před 2 lety +1

    Great Tutorial, it helps me to understand how to implement a recommendation system in my projects about anime

    • @dhaanish0264
      @dhaanish0264 Před 2 lety

      Did you complete your project??

    • @juandiegorodriguez7583
      @juandiegorodriguez7583 Před 2 lety

      @@dhaanish0264 Yep, It usually takes a long time (10 min) to run the algorithm because the amount of data but it works

    • @dhaanish0264
      @dhaanish0264 Před 2 lety

      @@juandiegorodriguez7583 could you share me the code , I want a reference as I'm working on the same project but with different website

  • @prepptspsc4476
    @prepptspsc4476 Před 4 lety

    I just loved it

  • @Michael-jt4sb
    @Michael-jt4sb Před 2 lety

    HI, could you please do a video on creating a hybrid recommendation system

  • @ashishbisht9552
    @ashishbisht9552 Před 4 lety +3

    interesting project.... your way of teaching is very simple and explanations are really good... looking forward for more projects to ad in my resume...😅😅

  • @flamingflamingo4021
    @flamingflamingo4021 Před 3 lety

    Were the issues/challenges dealt with in any other tutorial or video?

  • @torrestam8527
    @torrestam8527 Před 4 lety

    hmm how can I get list similar movies afterall? It seems like the final list we have is the list of rating values, not the movieId, so I don't know how to get information of the movies from the final recommended list?

  • @manishbolbanda9872
    @manishbolbanda9872 Před 3 lety

    you teaching skills are way better...thanks for this...also i have a doubt. suppose i wanna build a hybrid system(content based+collaberative) the way to do is that get recommendations(content based+collaberative) from both and combine to form one .example: recommendation1=[m1,m3,m6] and recom2=[m4,m5,m6,m8,m9] then final recomndation=[m6,m1,m3,m6,m4,m5,m8,m9] . is this the way how it should be done or there are other better way please tell.

  • @shivagitam6332
    @shivagitam6332 Před 3 lety

    how to split the training and test data set and measure the mean squared error, please help me in this problem

  • @sumitvaise5452
    @sumitvaise5452 Před 3 lety

    Loved it.

  • @Maddy44979
    @Maddy44979 Před 4 lety +12

    Very well explained! Thanks. Could you please explain me how the mean 2.5 was subtracted from user's rating which you mentioned as a trick @21:02? I was trying out this on books recommendation dataset.

    • @Just_Moh_it
      @Just_Moh_it Před 2 lety +1

      Because all the ratings at that time were on a scale of 0 to 5, and he converted it to the scale of -2.5 to 2.5 for obvious reasons. Hope this helps 😃

    • @Maddy44979
      @Maddy44979 Před 2 lety

      @@Just_Moh_it Thanks!

  • @Darazfinds4350
    @Darazfinds4350 Před rokem

    Thank you 🙌
    Kindly tell me the accuracy...

  • @satyapragyandas811
    @satyapragyandas811 Před 3 lety +1

    how to evaluate such type of recommendation system?

  • @michaelomosebi6374
    @michaelomosebi6374 Před 2 lety

    really helpful...

  • @mukundkrishna2789
    @mukundkrishna2789 Před 4 lety

    When I ran the final cell it was coming series object has no attribute sort

  • @sarabhian2270
    @sarabhian2270 Před 3 lety

    I have a dataset and I want to create a model which will predict top3 movies to user, such that final output should be CSV file with columns user_id and top3 how to do this , pls help me

  • @abhi_2104
    @abhi_2104 Před 3 lety

    I liked it??? I loved it!!!

  • @hungly549
    @hungly549 Před 2 lety +1

    Very good and funny videos bring a great sense of entertainment!

  • @arnabpersonal6729
    @arnabpersonal6729 Před 3 lety +1

    Shouldn't it be axis=1 in standardize method

  • @parthdesai1108
    @parthdesai1108 Před 4 lety

    Sir, while working with a bigger dataset of movielens , dataframe of shape(22884377, 4), i am unable to create a pivot tabel. The error is: Unstacked DataFrame is too big, causing int32 overflow
    PLEASE PROVIDE A SOLUTION TO THIS SIR!!

  • @kayk137
    @kayk137 Před 4 lety

    In the third cell why the output is not displaying all the user id's?!!!.... And why it displays Only Five user id's

  • @nabdeep28
    @nabdeep28 Před 4 lety

    But what if I want to find out the NAN values using python?

  • @elmerjr.gapuzan9653
    @elmerjr.gapuzan9653 Před 2 lety

    is it possible to include an evaluation metrics?

  • @vijayverma5270
    @vijayverma5270 Před 4 lety

    Sir how we predict . If one user gives ratings one movie1 to 5 then how we predict for movie2.

  • @alexsr9697
    @alexsr9697 Před 4 lety +2

    really good video and explanation, +1 sub bro

  • @garimaojha3403
    @garimaojha3403 Před 4 lety

    Can I Have more than 1 indexes because I want to filter movie on user and genres basis

  • @garimaojha3403
    @garimaojha3403 Před 4 lety +3

    Hello sir, I have some confusion, our csv will not be the same as in this tutorial, i.e movies in column and ratings in rows our data will be like i'll have three column one is user_id , ratings, product_id how will I apply this filtering on such data, please guide me

    • @roshanmishal8866
      @roshanmishal8866 Před 4 lety

      notebooks.azure.com/hello-codeheroku/projects/collab-filtering here u will get

  • @kirtik9233
    @kirtik9233 Před 3 lety

    Hi, Could you please share Car Recommendation system

  • @quangdang633
    @quangdang633 Před 3 lety +3

    It would be so great if you can do something more about evaluation metrics to evaluate your model
    Thank you

    • @elianchristian8531
      @elianchristian8531 Před 2 lety

      you all prolly dont care at all but does anyone know a method to get back into an Instagram account??
      I was stupid forgot the password. I love any help you can give me

    • @alejandrooliver7197
      @alejandrooliver7197 Před 2 lety

      @Elian Christian Instablaster :)

    • @elianchristian8531
      @elianchristian8531 Před 2 lety

      @Alejandro Oliver I really appreciate your reply. I found the site through google and I'm waiting for the hacking stuff now.
      I see it takes quite some time so I will reply here later with my results.

    • @elianchristian8531
      @elianchristian8531 Před 2 lety

      @Alejandro Oliver it worked and I actually got access to my account again. Im so happy!
      Thank you so much you really help me out !

    • @alejandrooliver7197
      @alejandrooliver7197 Před 2 lety

      @Elian Christian You are welcome :)

  • @chetanmundhe8619
    @chetanmundhe8619 Před 4 lety

    hi,, can i get the codes for same example in R

  • @tanushreekurup1251
    @tanushreekurup1251 Před 3 lety +1

    According to your steps shown in the website for application development on medium,when we are trying to open test.html file it appears blank.Can you please explain the testing API step again.

    • @VivekYadav-lw7ln
      @VivekYadav-lw7ln Před 3 lety

      Yes, there is no API located at /movies/default/call/json/get_recommendations

  • @maryammohseni4507
    @maryammohseni4507 Před 8 měsíci

    it was great

  • @ankan1627
    @ankan1627 Před 3 lety +2

    There is an error in how the non-rated entries are treated. specifically, if nans are replaced by 0 BEFORE mean normalization, you are basically penalising that unrated item. The right thing to do is to take the unrated items as 0 AFTER mean normalization, therefore giving them the same user rating as the mean.

    • @swhemerling
      @swhemerling Před 2 lety

      i was also wondering whether there were other approaches... in a large normal dataset, most (the vast majority) of the dataset would wind up being values that are NaNs converted to means... having such a large proportion of imputed values must impact the quality of the predictions, no?

    • @CongNguyen-og3iz
      @CongNguyen-og3iz Před 2 lety

      Can we use the built in standard scaler instead of creating that standardize helper method?

  • @jeelkadivar3080
    @jeelkadivar3080 Před rokem

    can you please upload the toy dataset again, the given link is not working. If anyone else has it then pls reply.

  • @sameerpokhrel8554
    @sameerpokhrel8554 Před 4 lety

    Which algorithm is implemented here?

  • @sandeepv2441
    @sandeepv2441 Před 3 lety

    Sir how can we deploy this model in flutter application

  • @andyslovakia
    @andyslovakia Před 4 lety +1

    hi what would you do if you had 278k users and 250k books and the pivot gets out bounds so you have ratings in three columns - user movie rating? thanks

    • @CodeHeroku
      @CodeHeroku  Před 4 lety

      You will have to use a distributed / parallel approach. Have a look at this:
      endymecy.gitbooks.io/spark-ml-source-analysis/content/%E6%8E%A8%E8%8D%90/papers/Large-scale%20Parallel%20Collaborative%20Filtering%20the%20Netflix%20Prize.pdf

  • @arpanroychowdhury2961
    @arpanroychowdhury2961 Před 3 lety

    Plase help me here....Why there is a use of Standardize function? please anyone!!

  • @joeljoseph26
    @joeljoseph26 Před 3 lety +1

    I have a small doubt when you penalize the user rating by -2.5 for the case of romantic then won't that affect the scores for action movies.

    • @apostolismoschopoulos1876
      @apostolismoschopoulos1876 Před 2 lety

      There is no such problem because ONLY if (user_Ratings-2.5) is negative (i.e small rating) the multiplication will move it even more negative when if it is positive the product will sure be a positive number.

  • @lokeshpaladugula5793
    @lokeshpaladugula5793 Před 4 lety

    sir, nice video .
    but i want to know how to do user similarity recommended system of videos, here the data consists only users and they liked videos (no rating required), can u help me

    • @MrAnandml
      @MrAnandml Před 3 lety

      Based on the duration of a particular genre that a user watched ....

  • @mohammadrezarashidiyan2058

    hello , how can i access to the power point of this video

  • @anwarshadaab
    @anwarshadaab Před 4 lety

    What if in my dataset, instead of NaN, all the values are already 0. Then should I use the fillna(0) function?

    • @mirsahib596
      @mirsahib596 Před 3 lety

      function call will have no effect on your code because your dataset already contain 0 value

  • @deandroid6008
    @deandroid6008 Před 2 lety +1

    Great tutorial! how can I deploy it in the android app? can we convert it into TFlite?

    • @karuneshpalekar5212
      @karuneshpalekar5212 Před 2 lety

      Yes you can . It has been already done . Check the official repo of tf

    • @deandroid6008
      @deandroid6008 Před 2 lety

      ​@@karuneshpalekar5212 Thanks!! but i want to make tf model using this tutorial approch.

  • @abhishek-singh31
    @abhishek-singh31 Před 2 lety

    How to convert this to a web application?

  • @farizsutedy7155
    @farizsutedy7155 Před 4 lety

    hebat lu bro

  • @firdausisuzuki9097
    @firdausisuzuki9097 Před 3 lety

    how to do the rmse?

  • @priyanshneema
    @priyanshneema Před 5 lety

    Hlo mihir sir, the cource is very good i want to suggest you please update code heroku I want to become campus ambassador of this platform can you provide me.

  • @tuetran9212
    @tuetran9212 Před 3 lety +2

    13:49
    I'm not sure if that's the correct way to standardize data. The correct formula should be:
    x_new = (x - mean)/std

  • @myopinio7056
    @myopinio7056 Před 4 lety

    Item based : movie 6

  • @mukundkrishna2789
    @mukundkrishna2789 Před 4 lety +2

    Can I take this code for my final year project?

  • @madcapPOG
    @madcapPOG Před rokem

    So this is user based collaborative filtering??

  • @princeakhoury4294
    @princeakhoury4294 Před 4 lety +2

    Please please please help urgently
    When i get to the recommendation part... I'm getting an error
    No matter what movie i say it gives me a KeyError and says there has been an exception handling error
    Please help Asap

    • @snehasingh127
      @snehasingh127 Před 3 lety

      you might have written: user_ratings=rating.pivot_table(index=['userId'],columns=['title'],values=['rating'])
      instead of: user_ratings=rating.pivot_table(index=['userId'],columns=['title'],values='rating')
      remove the braces from rating

  • @akshayjagtap7834
    @akshayjagtap7834 Před 3 lety

    Where can I find python file for this

  • @kamilaltug5670
    @kamilaltug5670 Před 2 lety

    I understood the tutorial but how we can integrate this system into real website ?nobody explains it in detailed. Just Jupiter notebooks.!!!

  • @Mansi-te8js
    @Mansi-te8js Před 8 měsíci

    Does it not have ui ???

  • @wardatariq3612
    @wardatariq3612 Před 4 lety

    can we make recommender system using collaborative filtering in simple Visual C#

    • @rohansingh1057
      @rohansingh1057 Před 4 lety

      You can, however, you will have to find some frameworks and tools to do so.
      Python and R are used most of the times as they have wonderful tools to help out as sci-kit learn.
      If you understood the maths completely and can implement it by yourself go for it. However, I still will recommend at least looking up for a matrix multiplication library for C#.
      This is vital as multiplying millions of numbers is really time-consuming and your code may take days to train. Or may not train at all.
      Libraries have really efficient implementations of matrix multiplication and even utilise hardware acceleration with GPU sometimes.

  • @qaisarabbas6090
    @qaisarabbas6090 Před 4 lety

    What if we have multiple criteria for movie? Then how can we find similarities.

    • @CodeHeroku
      @CodeHeroku  Před 4 lety

      Hi Qaisar, could you please elaborate on what you mean by multiple criteria for a movie? Do you mean having different features such as movie director, tags etc.?

  • @iasupsc100
    @iasupsc100 Před rokem

    Can you make me a collaborative recommendations system project

  • @Dollyrana2498
    @Dollyrana2498 Před 3 lety

    error in
    ----> 3 from sklearn.metrics.pairwise import consine_similarity
    ImportError: cannot import name 'consine_similarity' from 'sklearn.metrics.pairwise' (/usr/local/lib/python3.7/dist-packages/sklearn/metrics/pairwise.py)
    ---------------------------------------------------------------------------

  • @torrestam8527
    @torrestam8527 Před 4 lety

    I have a question, is "Action_lover" a new user to the system? Or this user has already been in the system?

    • @omkarshete185
      @omkarshete185 Před 4 lety +1

      It's a new user

    • @torrestam8527
      @torrestam8527 Před 4 lety

      @@omkarshete185 so what if "action_lover" is old user, should I add his ratings to the matrix before calculating cosine similarity?

    • @omkarshete185
      @omkarshete185 Před 4 lety

      @@torrestam8527 I think it doesn't matters if you didn't add that user to matrix ,because you are finding the similar movie on the rating given to previous movies as we are using the item centered method.

    • @omkarshete185
      @omkarshete185 Před 4 lety

      @@torrestam8527 are you working on this project ?

    • @torrestam8527
      @torrestam8527 Před 4 lety

      @@omkarshete185 yes I am :)) I'm 90% through it, thanks to this video.

  • @sreelayavuyyuru2319
    @sreelayavuyyuru2319 Před 3 lety

    The website is not working!!!

  • @Dollyrana2498
    @Dollyrana2498 Před 3 lety

    i want dataset of movie and rating i didn't found can you send me the link here

    • @CodeHeroku
      @CodeHeroku  Před 3 lety +1

      drive.google.com/file/d/1WWQCl9w52M1sXNWd4JSKL7q-HHywk03p/view

  • @monikamayer6279
    @monikamayer6279 Před 3 lety

    Hi, i have used your approach for my master thesis, but there is a big question, how the prediction will make? the prediction is the last step in collaborative filtering. How can i cover your approach in my letter?

  • @Hafiyyanabdulaziz
    @Hafiyyanabdulaziz Před 3 lety

    14:39 where did you get the number 5?

    • @CodeHeroku
      @CodeHeroku  Před 3 lety +1

      Ratings are on the scale of 1 to 5

  • @utkarshsalvi518
    @utkarshsalvi518 Před 3 lety

    toy_dataset is not there in the google drive

    • @CodeHeroku
      @CodeHeroku  Před 3 lety

      Please get it from here: raw.githubusercontent.com/codeheroku/Introduction-to-Machine-Learning/master/Collaborative%20Filtering/dataset/toy_dataset.csv

  • @erenterlikli2821
    @erenterlikli2821 Před 4 lety +1

    Can we do it with free Azure account?

    • @CodeHeroku
      @CodeHeroku  Před 4 lety

      Yes. And you don't need an Azure account, you just need a Microsoft account.

  • @olaitanafolabi4856
    @olaitanafolabi4856 Před rokem

    Please how can I join your whatsapp group ? I need further guide on a project I am working on

  • @giannismaris13
    @giannismaris13 Před 3 lety

    How can we find the accuracy score here?

    • @anishkc3234
      @anishkc3234 Před 2 lety

      i need help with that too did u do it?

    • @giannismaris13
      @giannismaris13 Před 2 lety

      @@anishkc3234 Hi, I used RMSE , and MAE (aka root mean square error and mean absolute error)

    • @anishkc3234
      @anishkc3234 Před 2 lety

      @@giannismaris13 can i get the code??i need it

  • @simranshresthacomputing23

    which algorithm is this??

  • @user-bg9pj9ex2g
    @user-bg9pj9ex2g Před 2 lety

    Specify the goal and need money

  • @iramansari3625
    @iramansari3625 Před 4 lety

    Toydataset link?

    • @CodeHeroku
      @CodeHeroku  Před 4 lety

      It's in the Azure Notebook project
      notebooks.azure.com/hello-codeheroku/projects/collab-filtering

    • @md.fazlulkarim8847
      @md.fazlulkarim8847 Před 3 lety

      @@CodeHeroku The Microsoft Azure Notebooks preview website will be retired on October 9th, 2020. Please transfer the course file to another platform.

  • @55535y
    @55535y Před 3 lety

    Not able to find the data😭

    • @CodeHeroku
      @CodeHeroku  Před 3 lety

      drive.google.com/file/d/1WWQCl9w52M1sXNWd4JSKL7q-HHywk03p/view
      raw.githubusercontent.com/codeheroku/Introduction-to-Machine-Learning/master/Collaborative%20Filtering/dataset/toy_dataset.csv

  • @sriram1120
    @sriram1120 Před 3 lety

    Which algorithm is used here?

  • @snandi1603
    @snandi1603 Před 3 lety +1

    Item to Item collaborating filtering explanation was bad