Skip to content

Swiftie97/CS549_Final_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

138 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS549 Final Project - Poker Opponent Action Classification

About

This project implements a machine learning system that classifies betting and raising actions in heads-up No-Limit Texas Hold’em as value bets, semi-bluffs, or bluffs based on full game context. Using manually collected and labeled hand histories, the pipeline preprocesses hole cards, board states, betting sequences, stack sizes, and engineered board-texture features to represent each decision point. A multi-class CatBoost decision tree model is then trained to infer a player’s underlying intent behind aggressive actions, leveraging both current street information and historical aggression patterns. The goal is not to recommend optimal plays, but to model and interpret opponent behavior—specifically distinguishing deceptive actions from value-driven ones—under realistic poker conditions where information is incomplete and intentions are latent.

Setup

  1. Create virtual environment and install dependencies:

    python -m venv venv_CS549_Final_Project

    source venv_CS549_Final_Project/bin/activate

    pip install -r requirements.txt

  2. Preprocess dataset for input into model:

    python src/read_data.py

  3. Run model:

    python src/multi_class_decision_tree.py

    (Jupyter notebook at src/multi_class_decision_tree.ipynb used for testing)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •