Board game recommendation engine. View the recommendations live at Recommend.Games! Install via
pip install board-game-recommender
Requires Python 3. Make sure Pipenv is installed and create the virtual environment:
python3 -m pip install --upgrade pipenv
pipenv install --dev
pipenv shell
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.
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 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
- board-game-recommender: This repository
- Recommend.Games: board game recommender website
- recommend-games-server: Server code for Recommend.Games
- board-game-scraper: Board game data scraper