board-game-recommender


Nameboard-game-recommender JSON
Version 3.6.0 PyPI version JSON
download
home_pagehttps://recommend.games/
SummaryBoard games recommender engine
upload_time2024-02-11 11:01:08
maintainer
docs_urlNone
authorMarkus Shepherd
requires_python>=3.7.0,<3.9.0
licenseMIT
keywords board games tabletop games recommendations recommender recommender engine recommendation engine boardgamegeek bgg ratings turicreate collaborative filtering ludoj ludoj-recommender
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# 🎲 Board Game Recommender 👍

Board game recommendation engine. View the recommendations live at
[Recommend.Games](https://recommend.games/)! Install via

```bash
pip install board-game-recommender
```

## Training new recommender models

### Environment

[Requires Python 3](https://pythonclock.org/). Make sure
[Pipenv](https://docs.pipenv.org/) is installed and create the virtual environment:

```bash
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](https://gitlab.com/recommend.games/board-game-scraper)
project or take a look at the [BoardGameGeek guild](https://boardgamegeek.com/thread/2287371/boardgamegeek-games-and-ratings-datasets)
to obtain existing datasets.

At the moment there is only one [recommender implementations](board_game_recommender/recommend.py): [BoardGameGeek](https://boardgamegeek.com/).

### Models

We use the recommender implementation by [Turi Create](https://github.com/apple/turicreate).
Two recommender models are supported out of the box:

* [`RankingFactorizationRecommender`](https://apple.github.io/turicreate/docs/api/generated/turicreate.recommender.ranking_factorization_recommender.RankingFactorizationRecommender.html)
 (default): Learns latent factors for each user and game, generally yielding
 very interesting recommendations.
* [`ItemSimilarityRecommender`](https://apple.github.io/turicreate/docs/api/generated/turicreate.recommender.item_similarity_recommender.ItemSimilarityRecommender.html):
 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](board_game_recommender/__main__.py):

```bash
python -m board_game_recommender --help
```

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

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

## Links

* [board-game-recommender](https://gitlab.com/recommend.games/board-game-recommender):
 This repository
* [Recommend.Games](https://recommend.games/): board game recommender website
* [recommend-games-server](https://gitlab.com/recommend.games/recommend-games-server):
 Server code for [Recommend.Games](https://recommend.games/)
* [board-game-scraper](https://gitlab.com/recommend.games/board-game-scraper):
 Board game data scraper

            

Raw data

            {
    "_id": null,
    "home_page": "https://recommend.games/",
    "name": "board-game-recommender",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7.0,<3.9.0",
    "maintainer_email": "",
    "keywords": "board games,tabletop games,recommendations,recommender,recommender engine,recommendation engine,boardgamegeek,bgg,ratings,turicreate,collaborative filtering,ludoj,ludoj-recommender",
    "author": "Markus Shepherd",
    "author_email": "markus@recommend.games",
    "download_url": "https://files.pythonhosted.org/packages/d7/56/c249166ac5226a9b4828982932f7e8be3855b564452b2141a3aefe3dcade/board-game-recommender-3.6.0.tar.gz",
    "platform": null,
    "description": "\n# \ud83c\udfb2 Board Game Recommender \ud83d\udc4d\n\nBoard game recommendation engine. View the recommendations live at\n[Recommend.Games](https://recommend.games/)! Install via\n\n```bash\npip install board-game-recommender\n```\n\n## Training new recommender models\n\n### Environment\n\n[Requires Python 3](https://pythonclock.org/). Make sure\n[Pipenv](https://docs.pipenv.org/) is installed and create the virtual environment:\n\n```bash\npython3 -m pip install --upgrade pipenv\npipenv install --dev\npipenv shell\n```\n\n### Datasets\n\nIn order to train the models you will need appropriate game and rating data.\nYou can either scrape your own using the [board-game-scraper](https://gitlab.com/recommend.games/board-game-scraper)\nproject or take a look at the [BoardGameGeek guild](https://boardgamegeek.com/thread/2287371/boardgamegeek-games-and-ratings-datasets)\nto obtain existing datasets.\n\nAt the moment there is only one [recommender implementations](board_game_recommender/recommend.py): [BoardGameGeek](https://boardgamegeek.com/).\n\n### Models\n\nWe use the recommender implementation by [Turi Create](https://github.com/apple/turicreate).\nTwo recommender models are supported out of the box:\n\n* [`RankingFactorizationRecommender`](https://apple.github.io/turicreate/docs/api/generated/turicreate.recommender.ranking_factorization_recommender.RankingFactorizationRecommender.html)\n (default): Learns latent factors for each user and game, generally yielding\n very interesting recommendations.\n* [`ItemSimilarityRecommender`](https://apple.github.io/turicreate/docs/api/generated/turicreate.recommender.item_similarity_recommender.ItemSimilarityRecommender.html):\n Ranks a game according to its similarity to other ratings by a user, often\n resulting in less interesting recommendations. However, this model is also\n able to find games similar to a given game.\n\n### Run the training\n\nRun the training via the [main script](board_game_recommender/__main__.py):\n\n```bash\npython -m board_game_recommender --help\n```\n\nE.g., train the default BGG mode like so:\n\n```bash\npython -m board_game_recommender \\\n    --train \\\n    --games-file bgg_GameItem.jl \\\n    --ratings-file bgg_RatingItem.jl \\\n    --model model/output/dir\n```\n\n## Links\n\n* [board-game-recommender](https://gitlab.com/recommend.games/board-game-recommender):\n This repository\n* [Recommend.Games](https://recommend.games/): board game recommender website\n* [recommend-games-server](https://gitlab.com/recommend.games/recommend-games-server):\n Server code for [Recommend.Games](https://recommend.games/)\n* [board-game-scraper](https://gitlab.com/recommend.games/board-game-scraper):\n Board game data scraper\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Board games recommender engine",
    "version": "3.6.0",
    "project_urls": {
        "Documentation": "https://gitlab.com/recommend.games/board-game-recommender/blob/master/README.md",
        "Funding": "https://paypal.me/mschepke",
        "Homepage": "https://recommend.games/",
        "Say Thanks!": "https://saythanks.io/to/mk.schepke%40gmail.com",
        "Source": "https://gitlab.com/recommend.games/board-game-recommender",
        "Tracker": "https://gitlab.com/recommend.games/board-game-recommender/issues",
        "Twitter": "https://twitter.com/recommend_games"
    },
    "split_keywords": [
        "board games",
        "tabletop games",
        "recommendations",
        "recommender",
        "recommender engine",
        "recommendation engine",
        "boardgamegeek",
        "bgg",
        "ratings",
        "turicreate",
        "collaborative filtering",
        "ludoj",
        "ludoj-recommender"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "76645bbb2130b508bb123190db1bbc0b76393b7fc197fe76d3d5ce977e10e00a",
                "md5": "4269bcdc98ede2f6984d72577c8fccd3",
                "sha256": "262e736e6f7a6b3e4cfb32f41235be398196b7248de1d70aae2195c41a668977"
            },
            "downloads": -1,
            "filename": "board_game_recommender-3.6.0-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4269bcdc98ede2f6984d72577c8fccd3",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=3.7.0,<3.9.0",
            "size": 26902,
            "upload_time": "2024-02-11T11:01:05",
            "upload_time_iso_8601": "2024-02-11T11:01:05.889539Z",
            "url": "https://files.pythonhosted.org/packages/76/64/5bbb2130b508bb123190db1bbc0b76393b7fc197fe76d3d5ce977e10e00a/board_game_recommender-3.6.0-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d756c249166ac5226a9b4828982932f7e8be3855b564452b2141a3aefe3dcade",
                "md5": "9c63d3160b7409e87c17a90476f62174",
                "sha256": "c7e60a3d51334adf5915e8032a6e945436b87be2c189a45851580bea9fad7806"
            },
            "downloads": -1,
            "filename": "board-game-recommender-3.6.0.tar.gz",
            "has_sig": false,
            "md5_digest": "9c63d3160b7409e87c17a90476f62174",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7.0,<3.9.0",
            "size": 25142,
            "upload_time": "2024-02-11T11:01:08",
            "upload_time_iso_8601": "2024-02-11T11:01:08.154254Z",
            "url": "https://files.pythonhosted.org/packages/d7/56/c249166ac5226a9b4828982932f7e8be3855b564452b2141a3aefe3dcade/board-game-recommender-3.6.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-11 11:01:08",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "codeberg": false,
    "gitlab_user": "recommend.games",
    "gitlab_project": "board-game-recommender",
    "lcname": "board-game-recommender"
}
        
Elapsed time: 0.18312s