Bird
Raised Fist0
ML Pythonml~5 mins

Collaborative filtering in ML Python - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is collaborative filtering in simple terms?
Collaborative filtering is a way to recommend things to you by looking at what other people with similar tastes liked.
Click to reveal answer
beginner
What are the two main types of collaborative filtering?
The two main types are user-based filtering (finding similar users) and item-based filtering (finding similar items).
Click to reveal answer
beginner
Why is collaborative filtering useful in real life?
It helps websites like Netflix or Amazon suggest movies or products you might like based on what others with similar tastes enjoyed.
Click to reveal answer
intermediate
What is a common challenge with collaborative filtering?
A common challenge is the 'cold start' problem, where new users or items have little data, making recommendations hard.
Click to reveal answer
intermediate
How does user-based collaborative filtering find recommendations?
It finds users who have similar preferences to you and recommends items those users liked but you haven't tried yet.
Click to reveal answer
What does collaborative filtering mainly use to make recommendations?
AData about user preferences and similarities
BPredefined rules about items
CRandom item selection
DOnly item features like color or size
Which type of collaborative filtering focuses on finding similar items?
AUser-based filtering
BItem-based filtering
CContent-based filtering
DHybrid filtering
What problem occurs when a new user has no previous data in collaborative filtering?
AOverfitting
BUnderfitting
CCold start problem
DData leakage
Collaborative filtering recommendations are based on:
ARandom guesses
BItem features only
CUser preferences only
DBoth user preferences and item similarities
Which of these is NOT a typical use case for collaborative filtering?
ASpam email detection
BMovie recommendations
CProduct suggestions
DMusic playlist creation
Explain how user-based collaborative filtering works in a recommendation system.
Think about how friends with similar tastes might suggest new things to you.
You got /3 concepts.
    Describe the cold start problem in collaborative filtering and why it is challenging.
    Imagine a new user who just joined and has no history yet.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main idea behind collaborative filtering in recommendation systems?
      easy
      A. It recommends items based on the user's location.
      B. It recommends items based on similar users' preferences.
      C. It randomly suggests items without user data.
      D. It uses item descriptions to recommend similar items.

      Solution

      1. Step 1: Understand collaborative filtering concept

        Collaborative filtering finds users with similar tastes and recommends items they liked.
      2. Step 2: Compare options to definition

        Only It recommends items based on similar users' preferences. matches this idea; others describe different methods or unrelated ideas.
      3. Final Answer:

        It recommends items based on similar users' preferences. -> Option B
      4. Quick Check:

        Collaborative filtering = similar users' preferences [OK]
      Hint: Focus on user similarity for collaborative filtering [OK]
      Common Mistakes:
      • Confusing collaborative filtering with content-based filtering
      • Thinking it uses item descriptions only
      • Assuming it recommends randomly
      2. Which of the following is the correct way to compute cosine similarity between two user vectors u and v in Python using NumPy?
      easy
      A. np.dot(u, v) * (np.linalg.norm(u) + np.linalg.norm(v))
      B. np.dot(u, v) * (np.linalg.norm(u) * np.linalg.norm(v))
      C. np.dot(u, v) / (np.linalg.norm(u) + np.linalg.norm(v))
      D. np.dot(u, v) / (np.linalg.norm(u) * np.linalg.norm(v))

      Solution

      1. Step 1: Recall cosine similarity formula

        Cosine similarity = dot product of vectors divided by product of their norms.
      2. Step 2: Match formula to code

        np.dot(u, v) / (np.linalg.norm(u) * np.linalg.norm(v)) correctly implements this formula using NumPy functions.
      3. Final Answer:

        np.dot(u, v) / (np.linalg.norm(u) * np.linalg.norm(v)) -> Option D
      4. Quick Check:

        Cosine similarity formula = np.dot(u, v) / (np.linalg.norm(u) * np.linalg.norm(v)) [OK]
      Hint: Cosine similarity = dot product ÷ product of norms [OK]
      Common Mistakes:
      • Adding norms instead of multiplying
      • Multiplying dot product by norms
      • Dividing by sum of norms
      3. Given the user-item rating matrix below, what is the predicted rating for User 1 on Item C using user-based collaborative filtering with cosine similarity?

      User 1: [5, 3, ?]
      User 2: [4, 2, 1]
      User 3: [1, 5, 4]


      Assume similarity weights are:
      User 1 & User 2: 0.9
      User 1 & User 3: 0.1

      Use weighted average: (0.9*1 + 0.1*4) / (0.9 + 0.1)
      medium
      A. 2.5
      B. 1.9
      C. 1.3
      D. 3.0

      Solution

      1. Step 1: Calculate weighted sum of ratings

        Weighted sum = (0.9 * 1) + (0.1 * 4) = 0.9 + 0.4 = 1.3
      2. Step 2: Calculate sum of weights and divide

        Sum weights = 0.9 + 0.1 = 1.0; Predicted rating = 1.3 / 1.0 = 1.3
      3. Final Answer:

        1.3 -> Option C
      4. Quick Check:

        Weighted average = 1.3 [OK]
      Hint: Multiply ratings by similarity, sum, then divide by total similarity [OK]
      Common Mistakes:
      • Forgetting to divide by sum of weights
      • Mixing up user similarities
      • Using unweighted average
      4. You have this Python code snippet for item-based collaborative filtering similarity calculation:
      import numpy as np
      
      item1 = np.array([5, 3, 0])
      item2 = np.array([4, 0, 1])
      similarity = np.dot(item1, item2) / (np.linalg.norm(item1) + np.linalg.norm(item2))
      print(similarity)

      What is the error in this code?
      medium
      A. Using addition instead of multiplication in denominator for cosine similarity.
      B. Using np.dot instead of np.cross for similarity.
      C. Missing normalization of item vectors before dot product.
      D. Using zero values in vectors causes division by zero.

      Solution

      1. Step 1: Review cosine similarity formula

        Cosine similarity divides dot product by product of norms, not sum.
      2. Step 2: Identify code mistake

        Code uses addition in denominator instead of multiplication, causing wrong similarity value.
      3. Final Answer:

        Using addition instead of multiplication in denominator for cosine similarity. -> Option A
      4. Quick Check:

        Denominator must multiply norms, not add [OK]
      Hint: Denominator in cosine similarity = product of norms, not sum [OK]
      Common Mistakes:
      • Adding norms instead of multiplying
      • Confusing dot and cross product
      • Assuming zero values cause errors
      5. You want to improve a movie recommendation system using collaborative filtering. The user-item matrix is very sparse (many missing ratings). Which approach can best handle this sparsity to improve recommendations?
      hard
      A. Use matrix factorization techniques like Singular Value Decomposition (SVD).
      B. Fill missing ratings with zeros before computing similarities.
      C. Ignore users with missing ratings and use only complete data.
      D. Use random recommendations to cover missing data.

      Solution

      1. Step 1: Understand sparsity problem in collaborative filtering

        Sparse matrices have many missing values, making similarity calculations unreliable.
      2. Step 2: Identify best method to handle sparsity

        Matrix factorization like SVD reduces dimensionality and predicts missing ratings effectively.
      3. Final Answer:

        Use matrix factorization techniques like Singular Value Decomposition (SVD). -> Option A
      4. Quick Check:

        SVD handles sparsity well [OK]
      Hint: Use matrix factorization to predict missing ratings [OK]
      Common Mistakes:
      • Filling missing ratings with zeros biases similarity
      • Ignoring incomplete users loses valuable data
      • Random recommendations ignore user preferences
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard