--- tags: - pytorch_model_hub_mixin - model_hub_mixin pipeline_tag: tabular-classification datasets: - pjura/mahjong_board_states metrics: - accuracy model-index: - name: mahjong_ai results: - task: name: Tabular Classification type: Tabular Classification dataset: name: pjura/mahjong_board_states type: tablular_data config: default split: test args: default metrics: - name: Accuracy type: accuracy value: 0.661 --- # 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](https://huggingface.co/datasets/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](https://huggingface.co/pjura/mahjong_vision) model to create a fully automated Mahjong playing AI. The model was trained using the [pjura/mahjong_board_states](https://huggingface.co/datasets/pjura/mahjong_board_states) dataset.