Struct oozie::recommender::KNNUserRecommender
[−]
[src]
pub struct KNNUserRecommender<'a, D: DataHandler + 'a> { /* fields omitted */ }
An user based nearest neighbors recommender
Methods
impl<'a, D: DataHandler + 'a> KNNUserRecommender<'a, D>
[src]
fn new(
data_handler: &mut D,
k: usize,
similarity: fn(_: &HashMap<ID, f64>, _: &HashMap<ID, f64>, _: usize) -> f64
) -> KNNUserRecommender<D>
data_handler: &mut D,
k: usize,
similarity: fn(_: &HashMap<ID, f64>, _: &HashMap<ID, f64>, _: usize) -> f64
) -> KNNUserRecommender<D>
Initializes a new recommender from a data handler, computes and stores the similarities between users
fn add_user(&mut self, user_id: ID) -> bool
Adds an user to the data handler
fn add_item(&mut self, item_id: ID) -> bool
Adds an item to the data handler
fn add_rating(&mut self, user_id: ID, item_id: ID, rating: f64) -> bool
Adds a rating to the data handler, it computes the similarities for the user who added a new rating
Trait Implementations
impl<'a, D: DataHandler + 'a> Recommender for KNNUserRecommender<'a, D>
[src]
fn predict(&self, user_id: ID, item_id: ID) -> f64
Predicts the rating for an user and item averaging the ratings of the k users most similar to the user rating the item.
fn recommend(&self, user_id: ID) -> Vec<(ID, f64)>
Generates a sorted vector of item IDs by a predicted rating which is computed in the same way that the predict method. It ignores items that have a predicted rating of -1.0