package edu.umn.cs.recsys.svd;
import org.grouplens.lenskit.ItemScorer;
import org.grouplens.lenskit.baseline.*;
import org.grouplens.lenskit.core.LenskitConfiguration;
/**
* Baseline modes for the SVD recommender. Used by {@link SVDMain} to control configuration. You
* don't need to do anything with these.
*/
public enum BaselineMode {
GLOBAL_MEAN {
@Override
public void configure(LenskitConfiguration config) {
config.within(SVDItemScorer.class)
.bind(BaselineScorer.class,ItemScorer.class)
.to(GlobalMeanRatingItemScorer.class);
}
},
USER_MEAN {
@Override
public void configure(LenskitConfiguration config) {
config.within(SVDItemScorer.class)
.bind(BaselineScorer.class,ItemScorer.class)
.to(UserMeanItemScorer.class);
}
},
ITEM_MEAN {
@Override
public void configure(LenskitConfiguration config) {
config.within(SVDItemScorer.class)
.bind(BaselineScorer.class,ItemScorer.class)
.to(ItemMeanRatingItemScorer.class);
}
},
USER_ITEM_MEAN {
@Override
public void configure(LenskitConfiguration config) {
config.within(SVDItemScorer.class)
.bind(BaselineScorer.class,ItemScorer.class)
.to(UserMeanItemScorer.class);
config.within(SVDItemScorer.class)
.bind(UserMeanBaseline.class,ItemScorer.class)
.to(ItemMeanRatingItemScorer.class);
}
};
public abstract void configure(LenskitConfiguration config);
}