Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shubhamprajapati7748/end-to-end-heart-disease-prediction
Explore a modular, end-to-end solution for heart disease prediction in this repository. From problem definition to model evaluation, dive into detailed exploratory data analysis. Experience seamless integration with MLOps tools like DVC, MLflow, and Docker for enhanced workflow and reproducibility.
https://github.com/shubhamprajapati7748/end-to-end-heart-disease-prediction
diabetes-prediction end-to-end-machine-learning machine-learning mlops-workflow
Last synced: 4 days ago
JSON representation
Explore a modular, end-to-end solution for heart disease prediction in this repository. From problem definition to model evaluation, dive into detailed exploratory data analysis. Experience seamless integration with MLOps tools like DVC, MLflow, and Docker for enhanced workflow and reproducibility.
- Host: GitHub
- URL: https://github.com/shubhamprajapati7748/end-to-end-heart-disease-prediction
- Owner: shubhamprajapati7748
- License: gpl-3.0
- Created: 2024-12-01T14:56:21.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-12-02T02:01:09.000Z (about 2 months ago)
- Last Synced: 2024-12-08T13:29:27.027Z (about 2 months ago)
- Topics: diabetes-prediction, end-to-end-machine-learning, machine-learning, mlops-workflow
- Language: Jupyter Notebook
- Homepage:
- Size: 147 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Table of Contents
- [About The Project](#about-the-project)
- [About the Data](#about-the-data)
- [Target Variable](#target-variable)
- [Dataset Source Link](#dataset-source-link)
- [Technology Stack](#technology-stack)
- [Getting Started](#getting-started)
- [Installation Steps](#installation-steps)
- [Option 1: Installation from GitHub](#option-1-installation-from-github)
- [Option 2: Installation from DockerHub](#option-2-installation-from-dockerhub)
- [Setup](#setup)
- [MLflow Tracking](#mlflow-tracking)
- [Usage and Configuration](#usage-and-configuration)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)
- [Acknowledgements](#acknowledgements)## About The Project
Heart disease prediction is a crucial aspect of preventive healthcare that involves the comprehensive analysis of diverse data points to evaluate an individual's susceptibility to cardiovascular diseases. This process integrates demographic details like age and gender with critical clinical information, including medical and family histories, lifestyle choices, and existing health conditions such as hypertension or diabetes. By examining biomarkers like blood pressure, cholesterol levels, and blood sugar, alongside results from medical tests and imaging studies, predictive models can identify patterns and trends indicative of potential heart issues. Machine learning algorithms play a pivotal role in processing this information, helping stratify individuals into risk categories. The ultimate goal is to enable timely interventions and personalized preventive strategies, empowering individuals to make lifestyle adjustments that can mitigate the risk of heart-related events like heart attacks or strokes. Continuous monitoring and updating of predictive models ensure ongoing accuracy and effectiveness in supporting proactive heart health management.
## About the Data
This dataset gives information related to heart disease. The dataset contains 13 columns, target is the class variable which is affected by the other 12 columns. Here the aim is to classify the target variable to (disease\non disease) using different machine learning algorithms and find out which algorithm is suitable for this dataset.
### Attributes
- Age
- Gender
- Chest Pain Type
- Resting Blood Pressure
- Serum Cholesterol
- Fasting Blood Sugar
- Resting Electrocardiographic Results
- Maximum Heart Rate Achieved
- Exercise-induced angina
- Depression induced by exercise relative to rest
- Slope of the Peak Exercise ST Segment
- Number of Major Vessels Colored by Fluoroscopy
- Thalassemia### Target variable
- Target : Person will have diabetes or not
### Dataset Source Link
- Datasource Collection: https://www.kaggle.com/datasets/johnsmith88/heart-disease-dataset
## Technology Stack
- Pandas
- Numpy
- Scikit-learn
- Flask
- DVC
- MLFlow
- Seaborn
- Matplotlib
- DVC (Data Version Control)
- Catboost
- XG Boost## Getting Started
This will help you understand how you may give instructions on setting up your project locally.
To get a local copy up and running follow these simple example steps.## Installation Steps
### Option 1: Installation from GitHub
Follow these steps to install and set up the project directly from the GitHub repository:
1. **Clone the Repository**
- Open your terminal or command prompt.
- Navigate to the directory where you want to install the project.
- Run the following command to clone the GitHub repository:
```
git clone https://github.com/shubhamprajapati241/End-to-End-Heart-Disease-Prediction.git
```2. **Create a Virtual Environment** (Optional but recommended)
- It's a good practice to create a virtual environment to manage project dependencies. Run the following command:
```
conda create -p python== -y
```3. **Activate the Virtual Environment** (Optional)
- Activate the virtual environment based on your operating system:
```
conda activate /
```4. **Install Dependencies**
- Navigate to the project directory:
```
cd [project_directory]
```
- Run the following command to install project dependencies:
```
pip install -r requirements.txt
```5. **Run the Project**
- Start the project by running the appropriate command.
```
python app.py
```6. **Access the Project**
- Open a web browser or the appropriate client to access the project.
### Option 2: Installation from DockerHub
If you prefer to use Docker, you can install and run the project using a Docker container from DockerHub:
1. **Pull the Docker Image**
- Open your terminal or command prompt.
- Run the following command to pull the Docker image from DockerHub:
```
docker pull
```2. **Run the Docker Container**
- Start the Docker container by running the following command, and mapping any necessary ports:
```
docker run -p 5000:5000
```3. **Access the Project**
- Open a web browser or the appropriate client to access the project.## Setup
### MLflow Tracking
We use MLflow to log and track our machine learning experiments. The MLFLOW_TRACKING_URI environment variable is set to the DagsHub repository's MLflow tracking URI.
```bash
export MLFLOW_TRACKING_URI=export MLFLOW_TRACKING_USERNAME=
export MLFLOW_TRACKING_PASSWORD=
```## Usage and Configuration
This project requires Amazon Web Services Access Key ID and Secret Access Key for interacting with AWS services. Follow these steps to configure your project to use AWS keys:
1. **Obtain Your AWS Access Key ID and Secret Access Key**:
- Log in to the AWS Management Console.
- Open the IAM (Identity and Access Management) dashboard.
- Create a new IAM user or use an existing one.
- Attach the necessary policies to the user.
- Generate an access key for the user. Save these keys securely.2. **Configuration**:
- Store your AWS Access Key ID and Secret Access Key securely. Do not hardcode them directly in your code or expose them in public repositories. Instead, use environment variables or a configuration file to manage them securely.## Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Don't forget to give the project a star! Thanks again!1. Fork the Project
2. Create your Feature Branch
3. Commit your Changes
4. Push to the Branch
5. Open a Pull Request## License
Distributed under the MIT License. See `LICENSE.txt` for more information.
## Contact
Shubham Prajapati - [@[email protected]]([email protected])
## Acknowledgements
We'd like to extend our gratitude to all individuals and organizations who have played a role in the development and success of this project. Your support, whether through contributions, inspiration, or encouragement, has been invaluable. Thank you for being a part of our journey.