Skip to content

VedVar43789/TumorSense

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tumor Sense

Tumor Sense is an end-to-end SVM classification pipeline built on the Wisconsin Breast Cancer Diagnostic dataset. It reduces 30 raw cell nucleus measurements down to the 10 most predictive features and achieves high discriminatory performance providing a reliable, data-driven second opinion for ambiguous fine needle aspiration (FNA) cases.

🔗 Live Demo

View Tumorsense Website →


Why not just use tumor size?

Misclassification Risk Zone

Tumor size alone leaves a large overlap zone where benign and malignant cases are indistinguishable. Tumor Sense uses 10 cell nucleus measurements together to resolve exactly these ambiguous cases.


Results at a Glance

Metric Score
Malignant Recall 98%
Malignant Precision 98%
ROC-AUC 0.995

A false negative (calling a malignant tumor benign) is a life-threatening error. The model was evaluated with this asymmetry in mind.


Methodology

1. Data Preprocessing

2. Feature Selection

  • Applied Recursive Feature Elimination (RFE) with a LinearSVC estimator
  • Reduced 30 raw features → top 10 most predictive features

Top 10 Selected Features

3. Model Training

  • Algorithm: Support Vector Machine with RBF kernel
  • Hyperparameter tuning: GridSearchCV over C and gamma
  • Best parameters selected via cross-validated grid search

4. Evaluation

  • Precision, Recall, F1 per class
  • ROC-AUC score
  • SHAP summary plot for model explainability

SHAP Plot texture3 and concave_points1 carry the most weight in pushing predictions toward malignant. High feature values (pink) generally shift the model toward malignant; low values (blue) toward benign.


Tech Stack

Python scikit-learn pandas NumPy Matplotlib SHAP


Repository Structure

tumor-sense/
├── data/
│   └── wdbc.csv                  # Wisconsin Diagnostic Breast Cancer dataset
├── notebook/
│   └── tumor_sense.ipynb         # Full analysis and model pipeline
├── models/
│   └── svm_model.pkl             # Serialized trained model
├── visuals/
│   ├── misclass.png              # misclassification zone visualization
│   ├── rfe_feature_rankings.png  # RFE features ranked
│   └── shap.png                  # SHAP feature importance plot
└── README.md

Getting Started

# Clone the repo
git clone https://github.com/nathaniel-trueba/tumor-sense.git
cd tumor-sense

# Install dependencies
pip install -r requirements.txt

# Launch the notebook
jupyter notebook notebook/tumor_sense.ipynb

Authors

  • Vedant Vardhaan - Mentor
  • Nathaniel Trueba - Group Member
  • Kavya Shah - Group Member
  • Evan Park - Group Member
  • Steven Ngo - Group Member

⚠️ Disclaimer ⚠️

Tumor Sense is an academic project and is not intended for clinical use. All results are derived from a publicly available research dataset and should not be used to inform medical decisions.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages