- This project is based on the idea of predicting the disease of a patient based on the symptoms he/she is facing.
- The dataset used for this project is taken from Kaggle.
- The dataset contains 4920 rows and 132 columns.
- The dataset contains the name of the disease, the symptoms of the disease and the description of the disease.
- The dataset is in the form of a csv file.
- The dataset is cleaned and preprocessed.
- The dataset is then split into training and testing data.
- The training data is then used to train the model.
- The model is then tested on the testing data.
- The model is then used to predict the disease of a patient based on the symptoms he/she is facing.
- Python
- Scikit-learn
- Pandas
- Numpy
- React
- Node.js
- Express.js
- Clone the repository.
- Open the terminal in the project directory.
- Run the following commands:
cd server
npm install
npm start
- The server will be running on localhost:5000.
- Open another terminal in the project directory.
- Run the following commands:
cd frontend
npm install
npm start
- The project will be running on localhost:3000.
NOTE : For linux users, in server/server.js file , in line 14 change the command spawned to python3
or python
instead of py
.
- The frontend is built using React.
- The frontend is divided into 2 components:
- Home
- Predict
- The Home component is the landing page of the website.
- The Predict component is used to predict the disease of a patient based on the symptoms he/she is facing.
- Symptoms are selected from the list of symptoms.
- The selected symptoms are then sent to the backend.
- The predicted disease is then displayed on the screen.
- The backend is built using Node.js and Express.js.
- The backend contains server.js file which is the entry point of the server.
- It runs the python script and returns the predicted disease to the frontend.
- The python script is run using the child_process module of Node.js.