An open API service indexing awesome lists of open source software.

https://github.com/vahidinj/diabetes_prediction_app

This is a Streamlit-based web application designed to predict the likelihood of diabetes in individuals based on diagnostic measurements. The app includes features for data exploration, model evaluation, and interactive visualizations to help users better understand the dataset and model performance.
https://github.com/vahidinj/diabetes_prediction_app

diabetes machine-learning python streamlit women

Last synced: 2 days ago
JSON representation

This is a Streamlit-based web application designed to predict the likelihood of diabetes in individuals based on diagnostic measurements. The app includes features for data exploration, model evaluation, and interactive visualizations to help users better understand the dataset and model performance.

Awesome Lists containing this project

README

          

# Diabetes Prediction App

This is a Streamlit-based web application designed to predict the likelihood of diabetes in individuals based on diagnostic measurements. The app also provides tools for data exploration, model evaluation, and batch predictions.

## Dataset

The dataset used in this project is sourced from the National Institute of Diabetes and Digestive and Kidney Diseases. It contains diagnostic measurements for predicting diabetes in Pima Indian women aged 21 or older. For more details, refer to the `Data/about_data.txt` file.

## Features

1. **Prediction Page**:
- Allows users to input diagnostic measurements and calculates the probability of diabetes.
- Provides a binary prediction (Yes/No) based on the selected threshold.
- Users can upload a CSV file containing multiple records for batch predictions.
- The app processes the file, adds prediction probabilities and binary outcomes, and allows users to download the results as a CSV file.
![App Preview](image1.png)

2. **Data Exploration Page**:
- Displays descriptive statistics of the dataset.
- Provides interactive visualizations such as line charts and heatmaps to explore feature correlations.
![App Preview](image.png)

3. **Model Evaluation Page**:
- Displays model performance metrics, including classification reports, confusion matrices, and accuracy/loss values.
- Visualizes the ROC curve for model evaluation.
![App Preview](image2.png)
![App Preview](image3.png)

4. **About Page**:
- Provides an overview of the application, its purpose, and how it can be used.
- Includes information about the dataset and the machine learning model used for predictions.

## Project Structure

```
diabetes_model.pkl
model_threshold.pkl
README.md
requirements.txt
.streamlit/
config.toml
Data/
diabetes.csv
data_exploration.py
kaggle_data_download.py
src/
app.py
data_exploration_page.py
model_evaluation_page.py
predictions_page.py
models/
logistic_model.py
predictions.py
utils/
preprocessing.py
helper.py
```

## Installation

1. Clone the repository:
```sh
git clone
cd diabetes_prediction_app
```

2. Install dependencies:
```sh
pip install -r requirements.txt
```

3. Run the application:
```sh
streamlit run src/app.py
```

## Usage

- Navigate to the **Prediction Page** to input diagnostic measurements and predict diabetes.
- Upload a CSV file on the **Batch Prediction** section for multiple predictions.
- Explore the dataset and its correlations on the **Data Exploration Page**.
- Evaluate the model's performance on the **Model Evaluation Page**.

## Dependencies

The project requires the following Python libraries:
- Streamlit
- Pandas
- NumPy
- Scikit-learn
- Matplotlib
- Seaborn

For a full list of dependencies, see the `requirements.txt` file.

## Acknowledgments

This project uses the Pima Indians Diabetes Database from the National Institute of Diabetes and Digestive and Kidney Diseases.

## License

This project is licensed under the MIT License. See the LICENSE file for details.