A fork of the MyMediaLite framework for recommendation algorithm evaluation with mainly two additions:
- A library of graph vertex ranking recommendation algorithms (
my-media-graph-extension
) - Various diversity metrics (
my-media-lite-4j/src/main/java/org/mymedialite/eval/measures/diversity
)
-
Build the project with maven. Don't run the tests, takes too long.
mvn clean package -DskipTests
-
Run a recommender on the included MovieLens dataset, here the
Most Popular
-algo (in the project root dir):java -jar my-media-main/target/my-media-main-1.0-SNAPSHOT-jar-with-dependencies.jar MostPopular data/ml_medium_7-3_split train.csv test.csv attributes.csv
-
Run a recommender (
BmANP3
) with a particular parameter set:java -jar my-media-main/target/my-media-main-1.0-SNAPSHOT-jar-with-dependencies.jar "BmANP3{numWalks=100000,beta=0.9}" data/ml_medium_7-3_split train.csv test.csv attributes.csv
-
Get the recommendation quality statistics from
data/ml_medium_7-3_split/METRICS.csv
.
A list of the included recommenders together with the corresponding identifiers is available at MyMediaGraph/my-media-main/src/main/java/ch/uzh/ifi/ddis/mymedialite/main/ItemRecommenderEvaluate.java
. To test additional recommenders, expand the list with classes implementing the ItemRecommender interface.
Our RecSys'15 paper presenting accuracy and diversity performance of vertex ranking recommendation algorithms: Blockbusters and Wallflowers: Accurate, Diverse, and Scalable Recommendations with Random Walks
Mapping of recommendation algorithm names: