Welcome to the OpenChessMate Machine Learning Model! Read below to understand exactly how we develop our recommendations.
We have included details on the factors that go into the recommendations as well as the weightage we give to each one.
For even more information check out our selection of openings.
This section describes the coding models and techniques used in this application.
We base our recommendations almost solely upon the games played by our users. We analyze these games with a machine learning model developed by scikit-learn to categorize a player's style. Based on a user's determined style, we provide opening recommendations tailored to produce positions fitting said playing style. In select cases, we also factor in a user's age and rating in making recommendations. These are only used when choosing between openings that are a similar fit to the user's playing style.
Our Machine Learning Model was made with the purpose of categorizing each player's style by detecting patterns in piece placement, pawn structure, and piece variety within moves. Then based on this categorization, it recommends openings that will result in positions that align well with the player's style, thereby giving the user an advantage in the form of favorable middlegame and endgame positions. It was coded in Python using the scikit-learn library and trained with open access games from lichess's open source database.
Our list of opening selections was compiled by International Master Sandeep Sethuraman who created it with the intention of selecting openings best suited for long term growth. This means all of our opening recommendations are tailored to players who want to improve, or in other words, they are for the most part classical openings with a small sprinkle of risky gambits suggested mainly for younger and lower-rated players for immediate success. Find more at our Opening List page.
Our model evaluates the fit of each recommended opening with regards to a user's age and rating. In practice, we've learned that this only becomes a deciding factor in cases where two or more openings have a very similar level of fit for the player's style. With regards to using age, our analysis has shown that users with a lower age tend to perform better in positions with less pawns on the board and more open files and diagonals, so these are the openings we give preference to and vice versa for users with higher ages. The rating variable has shown a strong correlation between lower ratings and a preference for aggressive play, and this is almost always where it comes into play.
Don't worry! We make sure to stay within legal boundaries when accessing user games. We scrape games from two platforms: Chess.com and Lichess.org. In both cases, the organization has elected to make publicly available APIs containing an archive of games from each user. In accordance with these policies, we are able to access these APIs to take the PGN (Portable Game Notation) files for each game in a user's archive. Please note that we have a cap on the maximum games considered to ensure we are able to provide recommendations in a timely manner.