This is a Mini-Project for SC1015 (Introduction to Data Science and Artificial Intelligence). We focus on making predictions on black's first move, based on a chess game dataset containing over 20,000 chess games from LiChess, and can be found here.
Given the following constraints:
- White's first move
- White and Black's chess ratings
- Rating difference
- Number of turns taken
What are the next five most probable moves for black?
The flow of our project is as follows:
- Initial exploratory data analysis (EDA), found under Pre Model Analysis.ipynb
- Data preparation and modelling, found under MLR Model.ipynb
- Post model analysis and graphing, found under Post Model.ipynb
- Multinomial Logistic Regression
- The model attains a final evaluative score of 22.5/100 on average.
- Although the model may not be able to accurately predict the next black move, it is able gives a possible idea of the move.
- Chess games that are played by humans are still largely unpredictable.
- Perhaps the model should not be used to attempt to accurately predict black’s first move; rather, to see what other players would do in the same situation.
- Transformation of DataFrames in Pandas (e.g., conversion of categorical to numeric values)
- Using MLR modelling
- 3D graphing techniques
- How to use GitHub
- Shao Wei: EDA, data preparation
- Junius: MLR processing, data export
- Donchada: Post model analysis
- https://seaborn.pydata.org/introduction.html
- https://www.datasklr.com/logistic-regression/multinomial-logistic-regression
- https://machinelearningmastery.com/multinomial-logistic-regression-with-python/
- https://seaborn.pydata.org/generated/seaborn.jointplot.html
- https://stackoverflow.com/questions/62929880/how-to-plot-3d-plots-on-top-of-each-other-and-highlight-their-intersection-in-py