Formula: fallback to popular / content / metadata
Usage
ColE(
user,
mode = "popular",
R = NULL,
item_features = NULL,
user_features = NULL,
min_ratings = 3,
topn = 3
)Arguments
- user
Zero-based index of the target user.
- mode
One of popular, content, metadata.
- R
An n_users x n_items rating matrix; 0 means unobserved.
- item_features
An n_items x f matrix for the content fallback.
- user_features
An n_users x g matrix for the metadata fallback.
- min_ratings
Threshold below which the user counts as cold.
- topn
Length of the returned recommendation list.
Details
A user with fewer than min_ratings observed interactions cannot be served by collaborative filtering at all, because their row of the rating matrix carries no signal. The three fallbacks are: rank by global popularity, rank by similarity between the item features and whatever the user has rated, and rank by similarity to users with matching metadata. The cold/warm decision is reported so it can be audited separately from the ranking.
References
Schein, Popescul, Ungar & Pennock (2002), Methods and Metrics for Cold-Start Recommendations, SIGIR 2002:253-260.
Examples
R <- matrix(c(5, 3, 0, 4, 0, 2, 0, 5, 3, 4, 4, 5), 4, 3, byrow = TRUE)
ColE(user = 1, mode = "popular", R = R, min_ratings = 1)
#> $estimate
#> [1] 3
#>
#> $is_cold
#> [1] 0
#>
#> $n_rated
#> [1] 2
#>
#> $scores
#> [1] 3 3 3
#>
#> $recommended
#> [1] 1
#>
#> $mode
#> [1] "popular"
#>
#> $n_users
#> [1] 4
#>
#> $n_items
#> [1] 3
#>
#> $method
#> [1] "cold-start recommendation fallback"
#>
#> attr(,"class")
#> [1] "morie_rich_result" "list"
