Download as PPT, PDF, TXT or read online from Scribd
Download as ppt, pdf, or txt
You are on page 1of 34
Chapter 14 – Association
Rules and Collaborative
Filtering What are Association Rules? Study of “what goes with what” “Customers who bought X also bought Y” What symptoms go with what diagnosis Transaction-based or event-based Also called “market basket analysis” and “affinity analysis” Originated with study of customer transactions databases to determine associations among items purchased Used in many recommender systems Generating Rules Terms
“IF” part = antecedent
“THEN” part = consequent
“Item set” = the items (e.g., products)
comprising the antecedent or consequent
Antecedent and consequent are disjoint
(i.e., have no items in common) Tiny Example: Phone Faceplates Many Rules are Possible
For example: Transaction 1 supports several
rules, such as “If red, then white” (“If a red faceplate is purchased, then so is a white one”) “If white, then red” “If red and white, then green” + several more Frequent Item Sets Ideally, we want to create all possible combinations of items
Problem: computation time grows
exponentially as # items increases
Solution: consider only “frequent item sets”
Criterion for frequent: support
Support
Support for an itemset = # (or percent) of
transactions that include an itemset Example: support for the item set {red, white} is 4 out of 10 transactions, or 40%
Support for a rule = # (or percent) of
transactions that include both the antecedent and the consequent Apriori Algorithm Generating Frequent Item Sets For k products… 1. User sets a minimum support criterion 2. Next, generate list of one-item sets that meet the support criterion 3. Use the list of one-item sets to generate list of two-item sets that meet the support criterion 4. Use list of two-item sets to generate list of three-item sets 5. Continue up through k-item sets Measures of Rule Performance Confidence: the % of antecedent transactions that also have the consequent item set
Confidence is conditional probability.
Measures of Rule Performance Lift = confidence/(benchmark confidence)
Lift > 1 indicates a rule that is useful in
finding consequent items sets (i.e., more useful than just selecting transactions randomly) Alternate Data Format: Binary Matrix Process of Rule Selection Generate all rules that meet specified support & confidence Find frequent item sets (those with sufficient support – see above) From these item sets, generate rules with sufficient confidence Example: Rules from {red, white, green}
{red, white} > {green} with confidence = 2/4 = 50%
Row 1, e.g., is a transaction in which books were bought in
the following categories: Youth, Do it Yourself, Geography Summary – Association Rules
Association rules (or affinity analysis, or market
basket analysis) produce rules on associations between items from a database of transactions Widely used in recommender systems Most popular method is Apriori algorithm To reduce computation, we consider only “frequent” item sets (=support) Performance of rules is measured by confidence and lift Can produce a profusion of rules; review is required to identify useful rules and to reduce redundancy Collaborative Filtering User based methods Item based methods Item-user matrix Cells are user preferences, r ij, for items Preferences can be ratings, or binary (buy, click, like) More efficient to store as rows of triplets Each row has the user ID, the item ID, and the user’s rating of that item
(Uu, Ii, rui)
User-based Collaborative Filtering Start with a single user who will be the target of the recommendations Find other users who are most similar, based on comparing preference vectors Measuring Proximity Like nearest-neighbor algorithm But Euclidean distance does not do well Correlation proximity does better (Pearson) For each user pair, find the co-rated items, calculate correlation between the vectors of their ratings for those items Note that the average ratings for each user are across all products, not just the co-rated ones Cosine Similarity Like correlation coefficient, except do not subtract the means “Cold start” problem: For users with just one item, or items with just one neighbor, neither cosine similarity nor correlation produces useful metric Binary matrix? Must use all the data, not just the co-rated items. This can add useful info – in the Netflix contest, information about which movies users chose to rate was informative. Example – Tiny Netflix subset
Consider users 30878 and 823519
Correlation between users 30878 and 823519
First find average ratings for each user:
Find correlation using departure from avg.
ratings for the co-rated movies (movies 1, 28 and 30): Find cosine similarity for same users Use raw ratings instead of departures from averages:
Ranges from 0 (no similarity) to 1 (perfect
match) Using the similarity info to make recommendations Given a new user, identify k-nearest users Consider all the items they rated/purchased, except for the co-rated ones Among these other items, what is the best one? “Best” could be Most purchased Highest rated Most rated That “best” item is the recommendation for the new user Item-based collaborative filtering When the number of users is huge, user- based calculations pose an obstacle (similarity measures cannot be calculated until user shows up) Alternative – when a user purchases an item, focus on similar items 1.Find co-rated (co-purchased) items (by any user) 2.Recommend the most popular or most correlated item Summary – Collaborative Filtering User-based – for a new user, find other users who share his/her preferences, recommend the highest-rated item that new user does not have. User-user correlations cannot be calculated until new user appears on the scene… so it is slow if lots of users Item-based – for a new user considering an item, find other item that is most similar in terms of user preferences. Ability to calculate item-item correlations in advance greatly speeds up the algorithm Association Rules vs. Collaborative Filtering AR: focus entirely on frequent (popular) item combinations. Data rows are single transactions. Ignores user dimension. Often used in displays (what goes with what). CF: focus is on user preferences. Data rows are user purchases or ratings over time. Can capture “long tail” of user preferences – useful for recommendations involving unusual items