No description
Find a file
2026-02-07 17:33:25 +00:00
data Main Code Added and Misc 2024-03-18 17:52:19 -05:00
img Updated analysis 2024-03-23 20:17:18 -05:00
.dockerignore Add Dockerized Streamlit web app for board game rating predictor 2026-02-07 17:32:18 +00:00
.gitignore Main Code Added and Misc 2024-03-18 17:52:19 -05:00
app.py Add Dockerized Streamlit web app for board game rating predictor 2026-02-07 17:32:18 +00:00
Capstone.ipynb Updated analysis 2024-03-23 20:17:18 -05:00
docker-compose.yml Add Dockerized Streamlit web app for board game rating predictor 2026-02-07 17:32:18 +00:00
Dockerfile Add Dockerized Streamlit web app for board game rating predictor 2026-02-07 17:32:18 +00:00
README.md Fix repo link 2026-02-07 17:33:25 +00:00
requirements.txt Add Dockerized Streamlit web app for board game rating predictor 2026-02-07 17:32:18 +00:00
train_model.py Add Dockerized Streamlit web app for board game rating predictor 2026-02-07 17:32:18 +00:00

WGU-Capstone

This project uses Sklearn and Pandas to analyze a dataset of board games from BoardGameGeek and predict the average rating of a board game. It includes data exploration, feature selection, model training (Linear Regression and Random Forest Regressor), and an interactive prediction tool.

Docker Deployment

The fastest way to run the project is with Docker. The build process downloads dependencies, trains the model, and produces a self-contained Streamlit web application.

Prerequisites

Setup

  1. Clone this repository:

    git clone https://github.com/Mike-Bros/WGU-Capstone.git
    cd WGU-Capstone
    
  2. Download the dataset from Kaggle.

  3. Rename the downloaded zip file to board-games.zip and place it in the data/ folder:

    data/board-games.zip
    
  4. Build and start the service:

    docker compose up -d --build
    
  5. Open the application in your browser at http://localhost:8930.

What the build does

The Docker image uses a multi-stage build:

  1. Build stage - Extracts the dataset, trains the Linear Regression and Random Forest models, and saves all artifacts (trained model, chart data, metrics).
  2. Runtime stage - Serves a Streamlit web application that loads the pre-trained model. No data files are needed at runtime.

Stopping the service

docker compose down

Jupyter Notebook Setup

You can also run the original Jupyter Notebook directly for a fully interactive experience.

  1. Download this repository to your local machine. Unzip the download in a directory of your choice such as C:\Users\YourName\Documents\MBros-WGU-Capstone. Download Repo Image
  2. Download this dataset from Kaggle. Download Kaggle Dataset Image
  3. Rename the downloaded zip file to board-games.zip and place it in the data folder of the project directory created in step 1.
  4. Ensure Google Chrome is installed.
  5. Navigate to the project directory in the command prompt.
  6. Ensure Python is installed.
    1. Running python --version should return Python 3.10.5 or higher.
    2. How to Install Python on Windows 10/11 - Tutorial provided by Digital Ocean, follow all optional step.
  7. Ensure Jupyter Notebook is installed.
    1. Verify Jupyter Notebook is installed by running jupyter --version in the project directory command prompt.
    2. If Jupyter Notebook is not installed, run pip install jupyter in the project directory command prompt.
  8. Run jupyter notebook --port <open_port> in the project directory command prompt.
    1. Replace <open_port> with an open port on your machine such as 8888.
    2. The command prompt will display a URL such as http://localhost:8888/tree?token=....
    3. Copy and paste the URL into Google Chrome to open the Jupyter Notebook.

Open Jupyter in Chrome Image 9. This will open the tree view of the project directory in Jupyter Notebook. Select Capstone.ipynb and click the " Open" button to open the notebook in a new tab. Open Capstone Notebook in Chrome Image 10. Run the notebook by clicking the menu "Run"-> "Restart Kernel and Run All Cells". This will run the entire notebook and display the results. Alternatively, you can run each cell individually by clicking the "Run" button in the top. Restart and Run All Image 11. The very end of the notebook has an interactive section where you can input your own values to predict the average rating of a board game using the best performing model from the notebook. Interactive Prediction Tool Image