A multi-disease prediction system built using Streamlit and Machine Learning models to detect:
- π©Έ Diabetes
- β€οΈ Heart Disease
- π§ Parkinson's Disease
π Live App: https://multiple-disease-prediction-test-therealvinayak.streamlit.app/
- π§ͺ Predict the likelihood of three major diseases based on health parameters
- π‘ Powered by trained ML classification models
- π Clean, interactive Streamlit UI
- π± Mobile-friendly and responsive layout
- β‘ Real-time predictions with instant results
- π― High accuracy models trained on validated datasets
- Frontend/UI: Streamlit
- Backend: Scikit-learn, Pandas, NumPy
- Deployment: Streamlit Cloud
- ML Models: Logistic Regression, SVM, Random Forest (per disease)
- Data Processing: Pandas, NumPy
- Model Serialization: Pickle
- Python 3.8 or higher
- pip package manager
- Clone the repository
git clone https://github.com/therealvinayak/multiple-disease-prediction.git
cd multiple-disease-prediction- Create virtual environment (recommended)
# Create virtual environment
python -m venv venv
# Activate virtual environment
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate- Install dependencies
pip install -r requirements.txt- Run the app
streamlit run app.py- Access the app
- Open your browser and go to
http://localhost:8501
- Open your browser and go to
- Select Disease Type: Choose from Diabetes, Heart Disease, or Parkinson's Disease using the sidebar
- Input Health Parameters: Enter the required health metrics and symptoms
- Get Prediction: Click the predict button to get instant results
- View Results: See the prediction probability and risk assessment
Diabetes Prediction:
- Glucose level, Blood pressure, BMI, Age, etc.
Heart Disease Prediction:
- Chest pain type, Cholesterol, Maximum heart rate, etc.
Parkinson's Disease Prediction:
- Voice measurements, Tremor indicators, Motor symptoms, etc.
- Push to GitHub: Ensure your code is pushed to a GitHub repository
- Connect to Streamlit Cloud:
- Go to streamlit.io/cloud
- Connect your GitHub account
- Select your repository
- Configure Deployment:
- Set
app.pyas the main entry point - Add any required secrets/environment variables
- Set
- Deploy: Click deploy and your app will be live!
# Build Docker image
docker build -t disease-prediction-app .
# Run container
docker run -p 8501:8501 disease-prediction-appmultiple-disease-prediction/
βββ app.py # Main Streamlit application
βββ models/ # Trained ML models
β βββ diabetes_model.pkl
β βββ heart_disease_model.pkl
β βββ parkinsons_model.pkl
βββ data/ # Dataset files (if included)
βββ notebooks/ # Jupyter notebooks for model training
βββ utils/ # Utility functions
βββ requirements.txt # Python dependencies
βββ .streamlit/
β βββ config.toml # Streamlit configuration
β βββ secrets.toml # Secret keys (not in repo)
βββ screenshots/ # App screenshots
βββ Dockerfile # Docker configuration (optional)
βββ .gitignore # Git ignore file
βββ LICENSE # License file
βββ README.md # This file
- Diabetes Model: Trained on Pima Indian Diabetes Dataset
- Heart Disease Model: Trained on Cleveland Heart Disease Dataset
- Parkinson's Model: Trained on UCI Parkinson's Dataset
| Disease | Algorithm | Accuracy | Precision | Recall | F1-Score |
|---|---|---|---|---|---|
| Diabetes | Logistic Regression | 85% | 0.83 | 0.87 | 0.85 |
| Heart Disease | Random Forest | 88% | 0.86 | 0.89 | 0.87 |
| Parkinson's | SVM | 92% | 0.91 | 0.93 | 0.92 |
- UCI Machine Learning Repository
- Kaggle Datasets
- Publicly available medical datasets
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Adding new disease prediction models
- Improving model accuracy
- Enhancing UI/UX
- Adding data visualizations
- Writing tests
- Improving documentation
- Add more disease prediction models
- Implement deep learning models
- Add data visualization charts
- Create REST API endpoints
- Add user authentication
- Implement prediction history
- Add model explainability features
- Mobile app version
This application is for educational and informational purposes only. It should not be used as a substitute for professional medical advice, diagnosis, or treatment. Always consult with qualified healthcare professionals for medical concerns.
This project is licensed under the MIT License - see the LICENSE file for details.
Vinayak
- GitHub: @therealvinayak
- UCI Machine Learning Repository for datasets
- Streamlit team for the amazing framework
- Scikit-learn contributors
- Open source community
β If you found this project helpful, please consider giving it a star! β


