Inspiration

My inspiration for CardioLens began when I discovered my interest in computational biology and realized that I wanted to explore how biology, data, and artificial intelligence could work together. As I learned more about biology, I became fascinated by patterns that appear in both nature and human health, especially the possibility of detecting biological changes before they become obvious through conventional symptoms. For example, I came across research exploring how dogs can detect certain disease-associated odours, and I became interested in how biological systems can sometimes respond to subtle signals that humans cannot easily recognize. I was also intrigued by diseases such as HIV, where a person can experience a long period with few or no obvious symptoms while the virus continues to affect the immune system. These ideas made me wonder whether machine learning could help us recognize patterns in health data that might otherwise be difficult to identify. CardioLens became my first attempt at exploring that idea through cardiovascular data.

What it does

CardioLens is an interactive machine-learning application that takes clinical parameters such as age, sex, blood pressure, cholesterol, maximum heart rate, chest pain type, and other cardiovascular measurements as inputs. A Random Forest Classifier processes these features and generates a model prediction indicating whether the input contains patterns associated with heart disease. The application also displays the model’s estimated probability. The model achieved approximately 86.7% test accuracy and a 0.945 ROC-AUC on my test split. Accuracy can be represented mathematically as Accuracy = \frac{TP+TN}{TP+TN+FP+FN}, connecting the project to the mathematical principles behind evaluating classification models.

How we built it

I built CardioLens using Python, with Pandas and NumPy for data preparation and Scikit-learn for machine learning. I started with the Cleveland Heart Disease Dataset, cleaned the data, handled missing values, prepared the clinical features, and converted the original target variable into a binary classification. I then divided the dataset into training and testing sets and trained a Random Forest model. Finally, I used Streamlit to transform the machine-learning pipeline into an interactive web application where users can enter clinical information and receive a model-generated prediction. I also designed the interface to clearly present the model’s performance, prediction, probability, and limitations.

Challenges we ran into

One of my biggest challenges was working with raw clinical data and understanding how it needed to be cleaned and structured before it could be used by a machine-learning model. I encountered missing values, categorical variables, and differences between the dataset’s original target format and the binary classification required for my model. Another challenge was connecting the trained model to a functional web interface and ensuring that the user inputs matched the exact features expected by the model. I also had to troubleshoot errors while getting the Streamlit application to run correctly and improve the interface so that the final project was both functional and presentable.

Accomplishments that we're proud of

I am most proud of turning an idea into a complete working application rather than stopping at a machine-learning model in a Python file. CardioLens brings together biology, mathematics, data science, machine learning, and programming in one project. Achieving approximately 86.7% test accuracy and a 0.945 ROC-AUC with the Random Forest model was an important milestone. I am especially proud that I was able to take a real-world biomedical dataset and turn it into an interactive application that demonstrates the complete journey from raw data to a model-generated prediction.

What we learned

This project taught me that building a machine-learning application involves much more than choosing an algorithm. I learned how important data cleaning, feature preparation, model evaluation, debugging, and interface design are to the overall process. I also developed a better understanding of classification metrics and how mathematical concepts can be used to evaluate machine-learning models. Most importantly, I learned how computational methods can be combined with biological questions to investigate patterns in health data

What's next for CardioLens

CardioLens is only the beginning of my interest in computational biology and AI-driven healthcare. I would like to explore larger and more diverse datasets, compare different machine-learning approaches, improve model validation, and incorporate explainable AI so that a model can provide more insight into which features contributed to its prediction. In the future, I would also like to explore early-detection problems across different diseases and investigate how subtle biological signals could potentially be identified computationally before they become obvious. My long-term goal is to continue developing projects at the intersection of biology, artificial intelligence, and computational science, with the aim of using these tools to better understand complex biological systems.

Built With

Share this project:

Updates

Submission history