Skip to content

jmreddig/CS3600-Medical-Analysis-Activity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Bayesian Inference with Medical Data

This project guides students through using Bayes' Rule, conditional probability, and Bayesian networks to reason about disease diagnosis from real-world-style medical data.

Project Overview

You'll explore how variables like symptoms, test results, and vaccination status affect medical diagnoses. The project includes:

  • A synthetic medical dataset (.csv)
  • A Jupyter notebook for guided analysis
  • Exercises on joint/conditional probability and Bayes nets
  • Visualizations of probabilistic dependencies

Setup (with Conda)

To install the required dependencies (including pgmpy, pygraphviz, and networkx), run:

conda env create -f environment.yml
conda activate cs3600-medical-analysis-env

Skills You'll Practice

  • Estimating probabilities from real-world-style data
  • Computing joint and conditional probability tables
  • Applying Bayes’ Rule for probabilistic inference
  • Building and interpreting Bayesian networks (Bayes nets)
  • Constructing and using Conditional Probability Tables (CPDs)
  • Identifying (in)dependencies between variables
  • Making inferences with partial or uncertain information

Suggested Learning Path

  1. Explore the dataset
    Understand the variables: diagnosis, symptoms, test results, vaccination status.

  2. Compute joint probabilities
    Use pandas to create tables and uncover relationships between variables.

  3. Use Bayes’ Rule to update beliefs
    Calculate the probability of a diagnosis given symptoms or test outcomes.

  4. Build a Bayesian Network from the data
    Identify parent/child relationships and draw the graph structure.

  5. Estimate CPDs
    Use grouped statistics to fill in tables like ( P(\text{Symptom} \mid \text{Diagnosis}) ).

  6. Perform inference using the Bayes net
    Reason about unseen variables using observed evidence.

  7. Reflect and extend
    Propose improvements, add variables, or try real-world scenarios.


Requirements

To run the notebook and analysis scripts, you need:

  • Python ≥ 3.10
  • Conda (Anaconda or Miniconda recommended)
  • The following Python libraries (installed via environment.yml):
    • pandas
    • matplotlib
    • networkx
    • pgmpy
    • graphviz
    • pygraphviz
    • notebook

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published