Inspiration

This project is deeply personal. When I was 9, my aunt was diagnosed with cancer and unfortunately could not survive. She had hoped I would become a cancer specialist. While I could not pursue a medical career, I wanted to contribute in my own way. This motivated me to explore how AI and machine learning can help in early cancer detection, making a small difference even outside the medical field.


What it does

AlgoFest_CancerPrediction predicts whether a tumor is Benign or Malignant based on 30 features from a breast cancer dataset. The interactive demo allows:

  • Users to input feature values via sliders
  • Real-time prediction with probabilities
  • Visual bar charts showing confidence levels for both classes
  • Colorful, user-friendly interface for easy understanding

How we built it

  • Dataset: Breast cancer dataset with 30 features
  • Models: Logistic Regression, Random Forest, and Decision Tree
  • Libraries: scikit-learn, pandas, numpy, matplotlib, ipywidgets, joblib
  • Interface: Jupyter Notebook with ipywidgets for interactive sliders and buttons
  • Visualization: HTML styling and bar charts for probabilities

Challenges we ran into

  • Ensuring realistic predictions instead of defaulting to one class
  • Handling 30 features with correct value ranges
  • Creating a clean, interactive demo within Jupyter Notebook
  • Managing and saving multiple models for consistent predictions

Accomplishments that we're proud of

  • Built a full interactive demo with three machine learning models
  • Successfully implemented real-time probability visualization
  • Created a system that transforms a personal motivation into a practical AI solution for early cancer detection

What we learned

  • How to preprocess and handle real-world medical datasets
  • Training and evaluating multiple ML models using scikit-learn
  • Building interactive demos with ipywidgets
  • Visualizing prediction results effectively with HTML and Matplotlib

What's next for AlgoFest_CancerPrediction

  • Deploy as a web application for broader accessibility
  • Add support for batch predictions and CSV input
  • Incorporate additional ML models to improve prediction accuracy
  • Collect real patient data (anonymized) to fine-tune and validate models further

Built With

  • decision
  • github
  • ipywidgets
  • joblib
  • joblib-**platform:**-jupyter-notebook-**tools:**-github-(for-version-control-and-project-hosting)-**models-implemented:**-logistic-regression
  • jupyternotebook
  • logistic-regression
  • matplotlib
  • numpy
  • pandas
  • python
  • random-forest
  • scikit-learn
  • seaborn
  • tree
Share this project:

Updates