Developing a machine learning model for assisting in the preliminary screening of thyroid diseases based on patient data, aiming to augment medical professionals' diagnostic process.
The goal of this project is to create a classification model using machine learning algorithms to predict the type of thyroid disease a person has based on the patient's data. This solution aids medical professionals in achieving:
- Accurate predictions of thyroid diseases.
- Efficiency in detecting the type of thyroid disease.
- Reducing human error in the diagnostic process.
This project utilizes the following tools and technologies:
- Python
- Flask
- HTML
- Data Ingestion (Validation): Ensuring that the data used for model training is valid and accurate.
- Data Preprocessing: Preparing and cleaning the data for training.
- Data Clustering: Grouping data for efficient model training.
- Train-Test Split for Each Cluster: Splitting the data into training and testing datasets for each cluster.
- Training and Model Evaluation: Training the classification model for each cluster and evaluating its performance.
- Save Model: Saving the trained models for future use.
- Prediction: Making predictions using the saved models.
All the training code is located in the src directory and can be executed by running the main.py file. Main File
For a detailed data description and exploratory data analysis (EDA), please refer to the PowerPoint (PPT) and Jupyter Notebook files available in the "notebook_files_&_PPT" directory. EDA
- Uploading File: User uploads a file containing patient data.
- Data Ingestion (Validation): Ensuring that the uploaded data is valid and accurate.
- Data Preprocessing: Preparing and cleaning the uploaded data.
- Data Clustering: Grouping the data for efficient prediction.
- Predicting by Saved Models for Each Cluster: Using the saved models to make predictions.
- Return the Uploaded File with Prediction Results to Download: Providing the user with the option to download the file with prediction results.
All the code can be tested using the test code written at the bottom of Pred_valid_insert.py. Note: The code is commented out. Test Code Or you can run the app.py to access a web page. Flask App
-
HLD: https://github.com/kunalliman/Thyroid_Disease_Detection/blob/main/Docs/TDD_HLD_V1.0.pdf
-
LLD: https://github.com/kunalliman/Thyroid_Disease_Detection/blob/main/Docs/TDD_LLD_V1.0.pdf
-
Architecture: https://github.com/kunalliman/Thyroid_Disease_Detection/blob/main/Docs/TDD_Architecture_V1.0.pdf
-
Wireframe: https://github.com/kunalliman/Thyroid_Disease_Detection/blob/main/Docs/TDD_Wireframe_V1.0.pdf
-
Detailed Project Report: https://github.com/kunalliman/Thyroid_Disease_Detection/blob/main/Docs/TDD_DPR.pdf
While our solution does not replace professional medical diagnosis, it serves as a supportive tool for medical teams, enabling them to conduct initial screenings and prompt further clinical evaluations. This adjustment ensures a responsible use of the model within the medical context.
Kunal Liman: https://www.linkedin.com/in/kunal-liman/
Hello Reader if you find any bug please consider raising issue I will address them asap.