Coursera/IBM Supervised Learning: Classification
Module 3: Fetal Health Classification Project
Reduction of child mortality is reflected in several of the United Nations’ Sustainable Development Goals and is a key indicator of human progress. The UN expects that by 2030, countries end preventable deaths of newborns and children under 5 years of age, with all countries aiming to reduce under‑5 mortality to at least as low as 25 per 1,000 live births. Parallel to notion of child mortality is maternal mortality, which accounts for 295,000 deaths during and following pregnancy and childbirth (as of 2017). The vast majority of these deaths (94%) occurred in low-resource settings, and most could have been prevented. In light of what was mentioned above, Cardiotocograms (CTGs) are a simple and cost accessible option to assess fetal health, allowing healthcare professionals to take action in order to prevent child and maternal mortality. The equipment itself works by sending ultrasound pulses and reading its response, thus shedding light on fetal heart rate (FHR), fetal movements, uterine contractions and more.
One of the important data insight extracting methods in biomedical research are classification algorithms. Classification algorithms can be divided into two categories: binary and multi-class classifiers. The interest of this project is focused on a multi-class problem identifying and classifying Normal, Suspect, and Pathological fetuses. Thus, utilizing the following Kaggle Dataset I created several classification models that focused on both being able to identify and classify Normal, Suspect, and Pathological fetuses as well as being able to address the magnitude of importance for the features provided, hence interpretability. For context, the GitHub will be hyperlinked and it has a PDF report attached as well as the working notebook, which contains code/visuals, and the CSV file.
This dataset contains 2,216 records/observations of patient Cardiotocogram exams, which were then classified by three expert obstetricians into one of the following three classes: 1) Normal, 2) Suspect, and 3) Pathological. Moreover, the data was tidy and did not necessitate cleaning. Additionally, there was a significant class imbalance, but that was remedied by utilizing the Synthetic Minority Oversampling Technique (SMOTE) on the training set.
Furthermore, the dataset contained 22 feature columns including; baseline values, fetal movements, histogram features, etc.
Moreover, the following models were fit to classify the data into the three aforementioned classes: Logistic Regression, K-Nearest Neighbors, Decision Tree, Random Forest, XGBoost, ADABoost, and a Voting Classifier. Which resulted in the Voting Classifier model, that was Grid Searched and incorporates Synthetic Minority Oversampling Technique (SMOTE), providing the best overall metrics regarding classifying the three classes; Normal, Suspect, and Pathological. The overall metrics are as follows: Accuracy: 92%, Precision: 93%, Recall: 92%, and F1: 92%.
Important to note that while the Random Forest model, that was Grid Searched and incorporated Synthetic Minority Oversampling Technique (SMOTE), provided the best raw metrics for Accuracy, Recall, and F1 Score the model still resulted in classifying 2 Pathological fetuses as Normal. Given that this is healthcare related data a False Negative, or type 2 error, is egregious and not acceptable when preforming diagnostic testing of this nature. Thus, the following visualizations will provide a ROC-AUC graph, Confusion Matrix, and Accuracy/Precision/Recall/F1 scores for the best overall model. Moreover, this information for the rest of the models can be found on my GitHub repository.
Furthermore, for future analysis it would be interesting to compare Principle Component Analysis and Linear Discriminant Analysis dimension reduction techniques in attempt to further separate the data. Then train the models again on dimensionally reduced data for comparison. Additionally, as previously mentioned obtaining more data could result in uncovering new trends and or resulting in particular features become more/less important.