Skip to content

recommend-games/board-game-recommender

Repository files navigation

🎲 Board Game Recommender 👍

Board game recommendation engine. View the recommendations live at Recommend.Games! Install via

pip install board-game-recommender

Training new recommender models

Environment

Requires Python 3. Make sure Pipenv is installed and create the virtual environment:

python3 -m pip install --upgrade pipenv
pipenv install --dev
pipenv shell

Datasets

In order to train the models you will need appropriate game and rating data. You can either scrape your own using the board-game-scraper project or take a look at the BoardGameGeek guild to obtain existing datasets.

At the moment there is only one recommender implementations: BoardGameGeek.

Models

We use the recommender implementation by Turi Create. Two recommender models are supported out of the box:

  • RankingFactorizationRecommender (default): Learns latent factors for each user and game, generally yielding very interesting recommendations.
  • ItemSimilarityRecommender: Ranks a game according to its similarity to other ratings by a user, often resulting in less interesting recommendations. However, this model is also able to find games similar to a given game.

Run the training

Run the training via the main script:

python -m board_game_recommender --help

E.g., train the default BGG mode like so:

python -m board_game_recommender \
    --train \
    --games-file bgg_GameItem.jl \
    --ratings-file bgg_RatingItem.jl \
    --model model/output/dir

Links