Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

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

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages