Doctor Prescription Service is a machine learning-based project designed to classify diseases based on a given set of symptoms and provide corresponding prescriptions. The aim is to create an intelligent system that assists doctors and patients by offering accurate diagnoses and treatment suggestions.
- Project Overview
- Features
- Installation
- Preview
- Data
- Model Training
- Prescription Generation
- Contribution
- License
- Contact
In this project, we develop a machine learning model to classify diseases based on symptoms provided by the user. Initially, a disease will be predicted, but later on, we are working to also provide prescriptions for the same (possibly using another model).
- Symptom-based Disease Classification: Classifies diseases based on symptoms provided by the user.
- Prescription Generation: Provides a list of medications and treatment plans tailored to the diagnosed disease. (tentative)
- Simple Interface: A simple web interface will be used to allow easy and controlled interaction with the model.
- User Login: User login along with chat history is also provided.
To properly ensure that the project runs properly, clone the repository and contact me for the secret api keys, contact details are given below. Use commands like npm start
after ensuring all packages have been installed.
The project relies on a dataset containing symptoms and their associated diseases. The dataset has the following:
- Symptoms: A list of columns containing symptoms associated with each disease. Each column is a symptom on its own with a binary output: 0 representing that the symptom is not present, and 1 meaning that the symptom is present.
- Diseases: A comprehensive list of diseases covered by the model.
- Prescriptions: A list of drugs that can be used to help in the treatment process. (tentative)
The dataset has around 250,000 rows comprising 339 symptoms with 773 diseases.
The machine learning model is trained using the following steps:
-
Data Preprocessing:
- Clean and preprocess the symptom data.
- Encode the symptoms and diseases as numerical values.
-
Model Selection:
- Currently
RandomForestClassifier
came up as the best suited algorithmn for our use case however we also use:- Logistic Regression
- Boosting techniques (like Gradient Descent, Histogram Boosting)
- Currently
-
Training:
- Train the selected model on the dataset.
-
Evaluation:
- Evaluate the model's accuracy, precision, recall, and other metrics. A comprehensive graph will be provided in the Jupyter notebook.
-
Optimization:
- Optimize hyperparameters using techniques like Grid Search or Randomized Search.
Once a disease is classified, the system generates a prescription (method not decided yet).
This project is jointly contributed to by the members of the DPS Team in Makernova 2.0, a recruitment program for DRISHTI (SVNIT).
This project is licensed under the MIT License.
For any inquiries or further information, please reach out via email:
Hetvi Shah: [email protected]
Feel free to connect for collaboration, project queries, or access to relevant resources such as API keys.