It’s Magic : Data Science Lab Project

Suggesting Draft PicksAt first, we were hoping to use our archetype results to suggest draft picks however the results wouldn’t be very useful because archetypes don’t explicitly account for card synergy or card strength, which may force an algorithm to pick weaker cards to try to match a particular archetype instead of picking what is best..Furthermore, the algorithm wouldn’t require any machine learning which wouldn’t be very helpful for the class itself.Instead, we tried using an XGBoost Multi-Label Classifier to predict which card to use per turn..Our features are intended to store the “state” of the current board and the player’s hand..Each row will have what the player’s hand currently contains (binary — either included or excluded) and which cards are available in the current pack presented..We trained our model based off of 4,000 draft logs scraped from Top8Draft.Note: At first we had 25,565 draft logs scraped from Top8Draft, however because each draft contains 45 “turns” we have over 1.1 million available rows of features..We ran into memory limitations for our DataFrame so we had to limit the amount of logs we used for our model training/testing..With 4,000 draft logs we still had nearly 180,000 rows of data.Assumption: We made the assumption that user drafts were the optimally picked, even though the average MTG player probably doesn’t always draft optimally..For example, players often draft due to personal preference of particular cards or novice players may be unfamiliar with synergies between cards..We hoped that the sheer number of drafts would reduce the effect of suboptimal drafts, but our assumptions about optimality may directly reduce our accuracy.After tuning we achieved a test accuracy of ~63% for ~35,000 rows..In comparison, simple guessing would yield ~22% correctness and our results had a extremely significant p-score (μ: .22; σ: .415; n: 35,532 samples).Our model wasn’t able to achieve 80% correctness which is what we were hoping to achieve, but for a player to pick “optimally” for about 9 cards per 15 card round is around the level of an average MTG player..With more data and possibly more analytics about draft quality, the model could definitely be improved for better accuracy.V..Moving ForwardIn the future, we would like to retrain the model to optimize its suggestions and explore other MTG sets.. More details

Leave a Reply