Project - xavierfeltin/mtg_data_mining GitHub Wiki

Recommendation system and Magic the gathering

Why this project ?

This project is here to apply on a real subject data mining approaches. I choose the cards game Magic the gathering as subject. The objective is to realize a recommendation engine for helping users to build their decks.

How recommendations can be of use in Magic environment

Since 1993, this game has published more than 20 000 cards across different editions. This game is played by thousands of players and a lot of tournaments are occuring on a regularly basis.

A deck is built based on the different characteristics of the cards available to the player. A player is looking for 60 cards that have synergies between them in order to build combinations that will have powerful effects during games.

The process of building a deck asks from the player to know the game mechanics and many cards. Recommendation systems may have a role to play in this context. One idea is to build an engine to suggest cards to the player based on cards usually played with the cards he has selected.

Which recommendations are we talking about ?

Recommendations can come from different approaches. Recommendations can be based on different information (previous visits, item ratings, ...) and can be processed by different algorithms. All approaches and data may be not meaningful for a particular context.

In this project, the recommendations are based mainly on two information:

  • The card's text
  • If a card appears in a deck

The following algorithms were implemented to try getting interesting card recommendations: