Skip to content

Latest commit

 

History

History
56 lines (44 loc) · 4.04 KB

README.md

File metadata and controls

56 lines (44 loc) · 4.04 KB

MyMediaGraph

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)

How to use

  • 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.

Publication

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:

Name in Paper Command line Identifier
Perfect Perfect
Random Random
MostPop MostPopular
I-kNN ItemKNN
WI-kNN WeightedItemKNN
BPRMF BPRMF2
#3-Paths IB-3Path
\mathrm{L^{+}} Laplacian
\mathrm{P^{3}} P3Matrix
\mathrm{\hat{P}^{3}} P3RandomWalkCached
\mathrm{P^{3}_{\alpha}} P3AlphaMatrix
\mathrm{\hat{P}^{3}_{\alpha}} BmP3Alpha
\mathrm{P^{5}} P5Matrix
\mathrm{RP^{3}_{\beta}} P3PopAbsNorm
\mathrm{R\hat{P}^{3}_{\beta}} BmANP3
\mathrm{H_{\lambda}} HybridS
\mathrm{\hat{H}_{\lambda}} BmHybridS

Related projects

MyMediaLite project

Java port of MyMediaLite