| Literature DB >> 32027680 |
Md Raihan-Al-Masud1, M Rubaiyat Hossain Mondal1.
Abstract
This paper focuses on the application of machine learning algorithms for predicting spinal abnormalities. As a data preprocessing step, univariate feature selection as a filter based feature selection, and principal component analysis (PCA) as a feature extraction algorithm are considered. A number of machine learning approaches namely support vector machine (SVM), logistic regression (LR), bagging ensemble methods are considered for the diagnosis of spinal abnormality. The SVM, LR, bagging SVM and bagging LR models are applied on a dataset of 310 samples publicly available in Kaggle repository. The performance of classification of abnormal and normal spinal patients is evaluated in terms of a number of factors including training and testing accuracy, recall, and miss rate. The classifier models are also evaluated by optimizing the kernel parameters, and by using the results of receiver operating characteristic (ROC) and precision-recall curves. Results indicate that when 78% data are used for training, the observed training accuracies for SVM, LR, bagging SVM and bagging LR are 86.30%, 85.47%, 86.72% and 85.06%, respectively. On the other hand, the accuracies for the test dataset for SVM, LR, bagging SVM and bagging LR are the same being 86.96%. However, bagging SVM is the most attractive as it has a higher recall value and a lower miss rate compared to others. Hence, bagging SVM is suitable for the classification of spinal patients when applied on the most five important features of spinal samples.Entities:
Mesh:
Year: 2020 PMID: 32027680 PMCID: PMC7004343 DOI: 10.1371/journal.pone.0228422
Source DB: PubMed Journal: PLoS One ISSN: 1932-6203 Impact factor: 3.240
Fig 1Illustration of a spino-pelvic system (a) pelvic tilt (PT) (b) pelvic incidence (PI) (c) sacral slope (SS) [3].
Comparison of relevant research works.
| Reference | Specific Work on Spinal Abnormality | Machine Learning model used | Dataset |
|---|---|---|---|
| [ | Identify spinal abnormality | k-NN, random Forest | Kaggle website |
| [ | Identify spinal abnormality | naive Bayes- MPL, random forest, etc. | Kaggle website |
| [ | Develop a CDSS system | decision tree, random forest, boosted tree | Personal collection of data |
| [ | Develop a CDSS system | Classification and regression trees (CART) | Personal collection of data |
| [ | Diagnostic of Pathology | SVM with linear and moderate decreasing (KMOD) kernel | supplied by Dr. Henrique da Mota |
Fig 2Work flow diagram.
Feature name and associated ranking.
| Ranked attribute | Attribute name |
|---|---|
| 1 | Degree spondylolisthesis |
| 2 | Pelvic incidence |
| 3 | Pelvic tilt |
| 4 | Lumbar lordosis angle |
| 5 | Pelvic radius |
| 6 | Cervical tilt |
| 7 | Sacral slope |
| 8 | Direct tilt |
| 9 | Pelvic slope |
| 10 | Scoliosis slope |
| 11 | Thoracic slope |
| 12 | Sacrum angle |
Accuracies of SVM for different feature numbers.
| Number of features | Testing accuracy (%) | Training accuracy (%) |
|---|---|---|
| First 1 feature | 82.60 | 78.00 |
| First 2 features | 81.15 | 77.17 |
| First 3 features | 84.05 | 82.98 |
| First 4 features | 79.71 | 83.40 |
| First 5 features | 85.50 | 86.30 |
| First 7 features | 86.96 | 86.30 |
| First 8 features | 86.96 | 86.30 |
| First 9 features | 85.50 | 86.30 |
| First 10 features | 85.50 | 85.47 |
| First 11 features | 86.96 | 85.47 |
| First 12 features | 85.50 | 85.89 |
SVM with RBF kernel using 6 features.
| Gamma | Training accuracy (%) | Testing accuracy (%) | |
|---|---|---|---|
| 0.5 | 0.1 | 85.89 | 81.16 |
| 0.7 | 87.13 | 81.15 | |
| 1 | 87.96 | 82.60 | |
| 2 | 89.21 | 82.60 | |
| 5 | 89.62 | 81.15 | |
| 7 | 90.04 | 82.60 | |
| 0.2 | 88.38 | 81.15 | |
| 0.3 | 89.62 | 81.15 | |
| 0.5 | 90.87 | 78.26 | |
| 0.6 | 91.28 | 76.81 | |
| 0.9 | 93.36 | 76.81 |
SVM with different kernels using 6 features.
| Different SVM kernels | Training accuracy (%) | Testing accuracy(%) |
|---|---|---|
| SVM (kernel = linear, | ||
| SVM (kernel = RBF, | 87.55 | 82.60 |
| SVM (kernel = poly, | 71.78 | 71.01 |
| SVM (kernel = sigmoid, | 81.74 | 82.60 |
Results for different proportion of test samples for SVM.
| % of test data | 6 features | 12 features | ||
|---|---|---|---|---|
| Training accuracy (%) | Testing accuracy (%) | Training accuracy (%) | Testing accuracy (%) | |
| 23% | 85.29 | 86.11 | 85.29 | 86.11 |
| 24% | 85.10 | 86.66 | 85.10 | 86.66 |
| 25% | 84.91 | 87.17 | 84.91 | 87.17 |
| 30% | 84.79 | 91.39 | 84.33 | 89.24 |
Result of SVM-PCA and LR-PCA.
| PCA (n components) | SVM-PCA | LR-PCA | ||
|---|---|---|---|---|
| Training accuracy (%) | Test accuracy (%) | Training accuracy (%) | Test accuracy (%) | |
| 1 | 70.12 | 72.46 | 69.71 | 73.91 |
| 2 | 70.53 | 72.46 | 68.87 | 72.46 |
| 3 | 67.63 | 76.81 | 68.87 | 72.46 |
| 4 | 70.53 | 75.36 | 69.29 | 73.91 |
| 5 | 71.36 | 75.36 | 69.29 | 73.91 |
| 6 | 70.12 | 73.91 | 69.70 | 75.36 |
| 7 | 75.51 | 71.01 | 75.10 | 72.46 |
| 8 | 76.34 | 66.66 | 73.02 | 68.11 |
| 9 | 75.10 | 72.46 | 75.93 | 73.91 |
| 10 | 84.23 | 75.36 | 83.40 | 78.26 |
| 12 | 85.89 | 85.50 | 86.30 | 85.50 |
Accuracy of bagging SVM with different values of c.
| Training accuracy (%) | Testing accuracy (%) | |
|---|---|---|
| 0.1 | 86.72 | 86.96 |
| 0.3 | 86.72 | 86.96 |
| 0.5 | 86.72 | 85.50 |
| 0.7 | 86.30 | 86.96 |
| 0.9 | 85.89 | 86.96 |
| 1 | ||
| 3 | 86.30 | 86.96 |
| 5 | 85.89 | 86.96 |
| 9 | 85.89 | 86.96 |
| 10 | 85.89 | 86.96 |
| 11 | 85.89 | 86.96 |
| 15 | 85.47 | 86.96 |
Training and testing accuracies for bagging SVM with different number of features.
| No of features | Training Accuracy | Testing Accuracy |
|---|---|---|
| First 1 feature | 80.49 | 79.71 |
| First 2 features | 79.66 | 79.71 |
| First 3 features | 82.98 | 84.05 |
| First 4 features | 82.98 | 79.71 |
| First 5 features | 86.72 | 86.96 |
| First 6 features | 85.47 | 88.40 |
| First 7 features | 85.06 | 88.40 |
| First 8 features | 85.47 | 88.40 |
| First 9 features | 85.89 | 85.50 |
| First 10 features | 85.06 | 84.05 |
| First 11 features | 85.89 | 84.05 |
| First 12 features | 84.65 | 84.06 |
Elements of confusion matrix for SVM and bagging SVM.
| Model | No. of Features | TP | FN | FP | TN | Precision(%) | Recall(%) | F1-score (%) |
|---|---|---|---|---|---|---|---|---|
| SVM ( | 6 | 45 | 4 | 5 | 15 | 90 | 92 | 91 |
| 12 | 45 | 4 | 6 | 14 | 88 | 92 | 90 | |
| Bagging SVM ( | 5 | 46 | 3 | 6 | 14 | 88 | 94 | 91 |
| 5 | 47 | 2 | 7 | 13 | 87 | 91 |
Fig 3Precision-Recall Curves for (a) SVM with 6 features (b) bagging SVM with 5 features.
Accuracies for LR and bagging LR.
| Classifier | % of test data | 5 features | 12 features | ||
|---|---|---|---|---|---|
| Training accuracy (%) | Testing accuracy(%) | Training accuracy(%) | Testing accuracy(%) | ||
| LR | 22 | 85.47 | 86.96 | 86.30 | 85.50 |
| Bagging LR | 85.06 | 86.96 | 83.82 | 84.06 | |
Elements of confusion matrix for LR and bagging LR.
| Model | No. of Features | TP | FN | FP | TN |
|---|---|---|---|---|---|
| LR | 5 | 45 | 4 | 5 | 15 |
| LR | 12 | 44 | 5 | 5 | 15 |
| Bagging LR | 5 | 45 | 4 | 5 | 15 |
Comparison of SVM, LR, bagging SVM and bagging LR.
| Machine Learning model | Feature selection / extraction | No. of features/dimension | Precision (%) | Recall (%) | Miss rate (%) | F1-score (%) | Testing accuracy (%) | ROC-AUC |
|---|---|---|---|---|---|---|---|---|
| SVM | No | 12 | 88.24 | 91.84 | 8.16 | 90 | 85.50 | 93.26 |
| Filter based feature | 6 | 90 | 91.84 | 8.16 | 90.91 | 86.96 | 94.08 | |
| PCA | 11 | 88.24 | 91.84 | 8.16 | 90 | 85.51 | ||
| 87.04 | 91.26 | 86.96 | 93.77 | |||||
| No | 12 | 89.80 | 89.80 | 10.20 | 89.80 | 85.51 | 93.67 | |
| Filter based feature | 5 | 90 | 91.84 | 8.16 | 90.91 | 86.96 | 94.48 | |
| PCA | 11 | 89.80 | 89.80 | 10.20 | 89.80 | 85.51 | ||
| Bagging LR | Filter based feature | 5 | 90 | 91.84 | 8.16 | 90.91 | 86.96 | 94.79 |
Fig 4Precision-Recall Curves for (a) LR with 5 features (b) bagging LR with 5 features.
Fig 5ROC curves with 5 features for SVM, LR, bagging SVM and bagging LR.
Performance results of bagging SVM using cross validation.
| Fold | Precision (%) | Recall (%) | Miss rate (%) | F1-score (%) | Testing Accuracy (%) | ROC_AUC (%) |
|---|---|---|---|---|---|---|
| 2 | 84.70 | 68.57 | 31.42 | 75.78 | 70.32 | 82.46 |
| 3 | 85.47 | 70.00 | 30.00 | 76.96 | 71.71 | 86.85 |
| 4 | 87.85 | 75.71 | 24.29 | 81.33 | 76.54 | 90.41 |
| 5 | 87.32 | 85.24 | 14.76 | 86.27 | 81.61 | 90.98 |
| 6 | 88.27 | 82.38 | 17.62 | 85.22 | 80.71 | 92.38 |
| 7 | 87.80 | 85.71 | 14.29 | 86.75 | 82.38 | 91.64 |
| 8 | 89.16 | 86.19 | 13.81 | 87.65 | 83.75 | 93.68 |
| 9 | 89.55 | 85.71 | 14.29 | 87.59 | 83.76 | 92.68 |
| 10 | 89.16 | 86.19 | 13.81 | 87.65 | 83.55 | 93.00 |
| 11 | 89.42 | 88.57 | 11.43 | 89.00 | 85.26 | 90.98 |
| 12 | 88.63 | 89.05 | 10.95 | 88.84 | 85.13 | 92.96 |
| 13 | 88.29 | 86.19 | 13.81 | 87.23 | 83.17 | 92.53 |
| 14 | 88.78 | 86.67 | 13.33 | 87.71 | 83.72 | 92.18 |
| 15 | 89.00 | 88.57 | 11.43 | 88.78 | 84.94 | 92.55 |
| 16 | 89.47 | 89.05 | 10.95 | 89.26 | 85.75 | 93.08 |
| 17 | 89.76 | 87.62 | 12.38 | 88.67 | 85.08 | 94.42 |
| 18 | 88.29 | 86.19 | 13.81 | 87.23 | 83.26 | 92.92 |
| 19 | 89.37 | 88.10 | 11.90 | 88.73 | 85.09 | 92.95 |
| 20 | 88.52 | 88.10 | 11.90 | 88.31 | 84.40 | 93.75 |
| 21 | 89.10 | 89.52 | 10.48 | 89.31 | 85.53 | 93.17 |
| 22 | 89.15 | 90.00 | 10.00 | 89.57 | 86.15 | 93.15 |
| 23 | 88.63 | 89.05 | 10.95 | 88.84 | 85.33 | 92.81 |
| 24 | 89.47 | 89.05 | 10.95 | 89.26 | 85.73 | 93.37 |
| 25 | 89.47 | 89.05 | 10.95 | 89.26 | 85.79 | 92.69 |
| 26 | 88.89 | 91.43 | 8.57 | 90.14 | 86.60 | 92.90 |
| 27 | 88.84 | 90.95 | 9.05 | 89.88 | 86.34 | 93.40 |
| 28 | 88.89 | 91.43 | 8.57 | 90.14 | 86.94 | 93.59 |
| 29 | 88.79 | 90.48 | 9.52 | 89.62 | 86.38 | 93.71 |
| 30 | 89.27 | 87.14 | 12.86 | 88.19 | 84.70 | 92.50 |
| 31 | 89.22 | 86.67 | 13.33 | 87.92 | 84.35 | 92.60 |
| 32 | 89.27 | 87.14 | 12.86 | 88.19 | 84.75 | 93.23 |
| 33 | 88.89 | 87.62 | 12.38 | 88.25 | 84.66 | 93.47 |
Comparison of the proposed work with previous work.
| Classifier | No. of features | Accuracy(%) | Recall(%) | F1-score(%) |
|---|---|---|---|---|
| kNN [ | 6 | 85.32 | 90.24 | -- |
| random forest [ | 6 | 79.57 | 87.50 | -- |
| Naïve Bayes [ | -- | 77.79 | 77.7 | 78.40 |
| random forest [ | -- | 81.93 | 81.9 | 81.90 |
| Naïve Bayes, MLP [ | -- | 83.87 | 83.9 | 84.20 |
| random forest, MLP [ | -- | 80.00 | 80.00 | 80.10 |
| Decision table, random forest [ | -- | 81.29 | 81.30 | 81.30 |
| Bayes Net, MLP [ | -- | 81.93 | 81.90 | 82.10 |
| random forest, Naïve Bayes [ | -- | 78.38 | 78.40 | 79.00 |
| SVM—linear kernel, training size 40% [ | 6 | 85.00 | -- | -- |
| SVM -KMOD kernel, training size 40% [ | 6 | 83.90 | -- | -- |
| SVM -linear kernel, training size 80% [ | 6 | 84.30 | -- | -- |
| SVM -KMOD kernel, training size 80% [ | 6 | 85.90 | -- | -- |
| Bagging SVM–linear kernel with | 5 | 86.96 | 95.92 | 91.26 |
| Bagging SVM–linear kernel with | 5 | 86.94 | 91.43 | 90.14 |