Mini Doctor is a machine learning application where users enter their symptoms, and the system predicts the most likely disease along with basic remedy or precaution suggestions.
This project is created only for learning and demonstration purposes. It is NOT a real medical diagnosis tool.
Overview
Mini Doctor uses machine learning and text classification techniques to analyze user-entered symptoms and predict possible diseases. The application also provides general remedies or suggestions related to the predicted disease.
This project demonstrates an end-to-end ML workflow, from data preprocessing to model building and deployment using Streamlit.
How It Works
- User enters symptoms in text form
- Input text is converted into numerical features using text vectorization
- A Naive Bayes classifier predicts the most likely disease
- The system displays:
- Predicted disease
- Related remedies or precaution suggestions
Features
- Text-based symptom input
- Disease prediction using machine learning
- Remedy and precaution suggestions
- Simple and interactive UI using Streamlit
- Easy-to-understand ML workflow
Machine Learning Details
Learning Type: Supervised Learning
Problem Type: Multi-class Classification
Model Used: Naive Bayes
Text Processing: Scikit-learn text vectorization
Input Feature: Symptoms (text)
Output: Predicted disease + remedies
Technologies Used
- Python
- Pandas
- NumPy
- Scikit-learn
- Naive Bayes (Text Classification)
- Streamlit (User Interface)
Dataset
- Contains symptom text, disease labels, and remedy suggestions
- Dataset quality directly affects prediction accuracy
- Used strictly for educational purposes
Project Structure
your_personal_doctor/ │ ├── app.py # Streamlit application ├── dataset.csv # Symptoms, diseases, and remedies data ├── model.pkl # Trained Naive Bayes model ├── vectorizer.pkl # Text vectorizer ├── requirements.txt # Project dependencies └── README.md # Project documentation
Limitations
- This is NOT a medical diagnosis tool
- Predictions depend heavily on dataset quality
- Remedies are general suggestions, not prescriptions
- Cannot replace professional medical advice
- Limited disease coverage based on dataset
Learning Outcomes
- Text classification using Naive Bayes
- Handling and preprocessing symptom text data
- Building an end-to-end machine learning pipeline
- Creating ML applications using Streamlit
- Understanding real-world ML limitations
Future Improvements
- Add more diseases and symptom combinations
- Improve accuracy using advanced NLP models
- Display confidence scores for predictions
- Deploy the application online
Disclaimer
This project is developed ONLY for educational purposes. Do NOT use it for real medical diagnosis or treatment decisions.
Author--- Vivek Dubey