Mahjong AI Project
This repository contains the code and resources for developing a Mahjong AI model, focusing on tabular classification of board states. The primary goal is to predict outcomes or optimal moves based on the current game state.
Project Structure
- Notebooks (
.ipynb):preprocess_*.ipynb: Scripts for processing raw Mahjong game data into features suitable for model training.transform_hf_dataset.ipynb: Script for transforming data into a Hugging Face dataset format.push_parquet_to_hub_by_year.ipynb: Script to upload processed data (likely in Parquet format) to the Hugging Face Hub.tenhou_prediction_deepLearning_basic.ipynb: This notebook shows the basic process of how the classification model was trained, using features derived from player hand information (columns 68-135) and discard pool information (columns 238-373). The model predicts the discarded tile (column 510).tenhou_prediction_multitask_hf.ipynb: This notebook explores a new, currently non-functional approach attempting multitask learning with dynamic inputs.
 - Python Scripts (
.py):tools.py: Utility functions used across different notebooks.
 - Model & Config:
config.json,model.safetensors: Configuration and saved model files associated with the trained Mahjong AI.
 - Data: The project utilizes the pjura/mahjong_board_states dataset from Hugging Face. The primary training notebook (
tenhou_prediction_deepLearning_basic.ipynb) uses features derived from player hand information (columns 68-135) and discard pool information (columns 238-373), predicting the target value (discarded tile) found in column 510. 
Getting Started
This model can be used in conjunction with the pjura/mahjong_vision model to create a fully automated Mahjong playing AI.
The model was trained using the pjura/mahjong_board_states dataset.
- Downloads last month
 - 4
 
Dataset used to train pjura/mahjong_ai
Evaluation results
- Accuracy on pjura/mahjong_board_statestest set self-reported0.661