{'fraction_non_alphanumeric': 0.03686780170255383, 'fraction_numerical': 0.014021031547320982, 'mean_word_length': 5.001878287002254, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 1, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
An Optimized Machine Learning Approach for Predicting Parkinson's Disease

: Parkinson's disease (PD) is an age-related neurodegenerative disorder affecting millions of elderly people world-wide. The early and accurate diagnosis of PD with available treatment might delay neurodegeneration and prevent disabilities. The existing diagnosis method such as brain scan is an expensive process. The use of speech recognition with machine learning technologies for the diagnosis of PD patients could be less expensive. In this work, we have worked with the voice recorded dataset from UCI machine learning repository. Several studies were performed to identify PD patients from the healthy individuals by using voice recorded data with machine learning algorithms. In this paper, we have proposed an optimized approach of data pre-processing that enhances prediction accuracy for diagnosing PD. We obtain 97.4% prediction accuracy with higher sensitivity, specificity, precision, F1 score and kappa value by using AdaBoost. These improved performance evaluation metrics indicate, the use of voice recording with our optimised machine learning approach is highly reliable in prediction of PD. This approach may have significant implications for early stage diagnosis of PD in a cost-effective manner. Security Issues, Cloud and


Introduction
Parkinson's disease (PD) is a chronic movement disorder of the nervous system. As the disease progresses, complications such as rigidity, tremor, bradykinesia and dementia arise [1]. The PD patients might encounter other complications such as imbalance, changes of voice and facial expression, lose sense of smell and have sleep disorders [2]. However, early diagnosis of PD with available treatment can slow down this neurodegenerative process. Since there is no specific biochemical test to diagnose PD, physicians diagnose PD based on the patients' medical history, signs and symptoms. The current gold-standard for diagnosis relies on clinical neurological tests and brain scans which are expensive and require high level of expertise [3]. A diagnosis method based on voice recording data of suspected patients can be utilized to facilitate early diagnosis of PD. This tactic is cost effective and can be integrated with machine learning (ML) approaches for accurate prediction. However, the major challenges of ML are to achieve higher predictive accuracy and reliability of the models. The use of several ML models with improved evaluation metrics will ensure reliability of the predictions [4,5].
There have been several studies attempted to predict PD by using a variety of machine learning (ML) techniques. Sakar et al., used a mutual information-based method called maximum relevance minimum redundancy for feature selection [6]. The authors applied Support Vector Machine (SVM) for building a classification model with leave-oneindividual-out cross validation and found 92.75% of accuracy for detecting PD. Canturk et al., applied four feature selection algorithms such as LeastAbsolute Shrinkage and Selection Operator, Relief, Local Learning-Based Feature Selection, Minimal-Redundancy-Maximal-Relevance to discover highly relevant features for classifications [7]. They applied six classifiers including Adaboost, SVM, Neural Network, Naive Bayes, K-Nearest Neighbor and Multilayer Perceptron and two validation methods i.e., k-fold and Leave-One-Subject-Out (LOSO). They obtained 68.75% accuracy using K-Nearest Neighbor. Dinesh et al., used Microsoft Azure Machine Learning Studio to analyze the data for classification and data processing [8]. They applied several ML models in their experiments and obtained the Also, none of these studies considered the use of hyperparameter tuning with cross validation, in order to achieve higher reliability and accuracy of the ML model, which is getting particular attention in this field [11,12]. In this work, we have utilized supervised ML algorithms with an existing voice recording dataset to predict the PD patient status with improved level of accuracy. We have pre-processed the dataset and applied a normalization technique. Then, we have trained the normalized dataset with hyperparameter tuning and evaluated the performance of the models. The rest of this paper is organized as follows. Section II describes the dataset, pre-processing and normalization of data, training and hyperparameter tuning of the ML models. The experimental results are presented and discussed in Section III. Section IV concludes the entire work.

Dataset
The dataset is based on voice recording data for PD status prediction from University of California Irvine machine learning (UCI ML) repository [13]. This dataset is composed of a range of biomedical voice measurements from 31 people of which 23 from Parkinson's disease (PD) and 8 from healthy (NP) individuals. The columns of the dataset represent the PD patients voice measurement features with the identification and status of the patients. Each row corresponds to one of 195 voice recordings from these 31 individuals. There are nearly 6 recordings per patient, the name of the patient is identified in the first column. The value of the status column which is set to either NP for healthy individuals or PD for Parkinson's disease. The dataset consists of 23 features of which 22 numeric features are known as predictor features and one categorical feature (status) is known as response feature.

Data Pre-Processing and Normalization
In this study, we have used the R statistical environment (version 3.6.1) [14] and the 'caret' package (short for classification and regression training) to process the model training for classification problems [15]. We have replaced the value of the 'status' column to NP (healthy person) for 0 and PD (Parkinson disease) for 1. Next, we have applied a normalization technique to transform the values of the features. Without normalization, a ML algorithm might be dominated by features that have a wider range of values, which adversely affect model performance [16]. We have normalized the numerical feature values to the range between 0 and 1. The general formula for a min-max of [0, 1] is given as: where x is an original value and X is the normalized value [17]. We have found the values of the features on the dataset are in different ranges. For example, the feature MDVP:Fo(Hz) contain values ranges from 88:333 to 260:105. On the other hand, feature MDVP:Jitter(Abs) contain values ranges from 7:0e-06 to 2:6e-04. For ML analysis, the feature MDVP:Fo(Hz) will intrinsically influence the result more due to its larger value. But this does not necessarily mean this particular feature is more important as a predictor. Thus, we normalize the data to bring all the values of the variables to the same range (Fig. 1). Following normalization of the data between 0 and 1, the dataset is separated into training data (80%) and testing data (20%). Both training and test data contains 75% of PD and 25% of NP patients.

Training and Tuning of the Models
We have trained the dataset with several ML models such as Multivariate Adaptive Regression Splines (MARS) [18], Support Vector Machine (SVM) with Radial Basis Function Kernel [19], Random Forest (RF) [20], Extreme Gradient Boosting (XGBoost) [21] and Adaptive Boosting (AdaBoost) [22]. Among them RF, XGBoost and AdaBoost are decision tree-based models whereas MARS is a regression based and SVM is a linear classifier. After training with different ML models, we have measured the performance of the models in terms of sensitivity, specificity, precision, recall and kappa. All these ML models were used in different studies for the prediction of PD and they achieved an accuracy between 68% to 92% [6][7][8][9]. In addition, to improve the performance of the models, we have applied hyperparameter tuning during training the models. To do hyperparameter tuning we set the tune length parameter, a control function with 10-fold cross validation and a summary function.

Evaluation Metrics
To understand the validity and reliability of the selected models, we consider various evaluation metrics of a model such as sensitivity, specificity, precision, F1 score, accuracy, and kappa values. Sensitivity (Recall or True positive rate) is the ratio of the total number of correctly classified positive values divided by the total number of positive values.

TP
Precision is the total number of correctly classified positive values divided by the total number of predicted positive values.
The F1 Score is used to measure a test's accuracy. Here the two measures (Precision and Recall) help to have a measurement that represents both of them. The calculation of F1-measure which uses Harmonic Mean in place of Arithmetic Mean.
The accuracy is the ratio of the number of correct predictions to the total number of input samples.

TP TN Accuracy
Total Finally, the Kappa is a value that compares an observed accuracy with an expected accuracy (random chance). The kappa statistic is used not only to evaluate a single classifier, but also to evaluate classifiers amongst themselves. In addition, it considers random chance (agreement with a random classifier), which generally means it is less misleading than simply using accuracy as a metric. If Kappa = 1, perfect agreement exists; Kappa < 0, agreement is weaker than expected by chance; Kappa close to 0, the degree of agreement is the same as would be expected by chance.

Result & Discussion
First, we trained the models without hyperparameter tuning and predicted on test data. The comparative performance outcomes of different models for prediction of PD patients are shown in Table 1. We have considered classification accuracy, sensitivity, specificity, precision, F1 score and kappa values for each model. As it can be seen from Table 1 Next, we have applied hyperparameter tuning with 10-fold cross validation to train all these models and observed the performance of the models. The tuning parameters for model MARS are 'nprune' and 'degree'. These two parameters represent the maximum number of terms and the maximum degree of interaction respectively where nprune = 22 and degree = 1. In the case of SVM, the tuning parameters are 'sigma' and 'C'. The values of these parameters used for the model are sigma= 0.06140776 and C = 4. The parameter for RF is 'mtry' and the optimized value we have obtained for the model when mtry is 5. The parameters for model XGBoost are 'nrounds', 'max_depth', 'eta', 'gamma', 'subsample', 'colsample_bytree', 'rate_drop', 'skip_drop' and 'min_child_weight'. The parameter 'eta' scales the contribution of each tree by a factor of 0<eta<1 when it is added to the current approximation. It is used to prevent overfitting by making the boosting process more conservative. Other parameters such as 'gamma' is the minimum loss reduction required to make a further partition on a leaf node of the tree; 'max_depth' is the maximum depth of a tree; 'min_child_weight' is the minimum sum of instance weight needed in a child; 'subsample' is the ratio of the training instance; 'colsample_bytree' is the ratio of columns when constructing each tree; 'nrounds' is the maximum number of boosting iterations; 'rate_drop' is the dropout rate and 'skip_drop' is the probability of skipping dropout . The final values of the parameters such as 'nrounds', 'max_depth', 'eta', 'gamma', 'subsample', 'colsample_bytree', 'rate_drop', 'skip_drop' and 'min_child_weight' are 100, 2, 0.4, 0, 0.75, 0.8, 0.01, 0.05 and 1, respectively. Finally, for model Adaboost the parameters are 'nIter' (number of iteration) and 'method'. The final values used for the model were nIter = 50 and method = Adaboost:M1. The comparative performance of the models after hyperparameter tuning are represented in Table 2. As mention previously in Table 1, we again computed the model's performance in terms of accuracy, sensitivity, specificity, precision and F1 score. As shown in Table 2, 97.4% accuracy is achieved for MARS, AdaBoost and SVM models whereas 94.7% level of accuracy is achieved for Random Forest and XGBoost. Model AdaBoost and SVM achieved the highest sensitivity of 100% whereas the sensitivity of model MARS, RF and XGBoost is 96.5%. The specificity is achieved 88.9% for model RF, XGBoost, AdaBoost and SVM. But we obtain the highest specificity 100% for model MARS. The F1 score is between 96.6-98.2% for all the models and the kappa value is between 85-93%. From Table 1 and Table 2 we can see the difference in performances of the models before and after hyperparameter tuning. In comparison to Table 1, the accuracy of models MARS and SVM is increased from 89.47% to 97.4%. However, the accuracy of model XGBoost gets lower and the accuracy of AdaBoost and RF stay the same even after hyperparameter tuning.
In Table 3, we compare our result with other studies. In our work, we consider metrics such as accuracy, sensitivity, specificity, precision, F1 score and kappa values. However, some of these model evaluation metrics are missing in other studies.  By comparing the result, we achieve the higher accuracy, sensitivity, specificity, precision, F1 score and kappa value than others (Table 3). We obtain 97.4% prediction accuracy by MARS, AdaBoost and SVM model after hyperparameter tuning. The sensitivity is higher for AdaBoost and SVM model than MARS. This indicate that, both AdaBoost and SVM is better model for predicting true positive results. However, the specificity and precision are higher for MARS model in compare to AdaBoost or SVM (Table 3). This indicate that, model MARS is better for prediction false positive results.
From the above result, we can say some of the models performing better during prediction of PD and NP individuals. The way of normalization and training the models with hyperparameter tuning helps us to acquire higher performance measures for the models. We can see before hyperparameter tuning (Table 1), model AdaBoost and XGBoost have achieved the highest accuracy of 97.4%, but after hyperparameter tuning (Table 2) model MARS, AdaBoost and SVM have obtained the highest accuracy of 97.4%. By comparing the results of the models, we can say AdaBoost works better with or without hyperparameter tuning for predicting Parkinson's Disease.

Conclusion
In this paper, we have presented the results of evaluation of various algorithms for predative analysis of PD in voice recorded data. The algorithms are evaluated and compared with previous findings for their effectiveness in predicting PD patients from healthy individuals. It appears that all models provided >90% accuracy with improved range of ML matrices. Even with AdaBoost, MARS and SVM, we have obtained ~98% accuracy which is higher than the similar studies performed by Dinesh et al., [8]. This indicates that, our optimised machine learning approach based on voice recording is highly consistent in predicting PD from healthy individual. However, there are two major challenges remain for which this approach can be evaluated. First, the scalability of algorithms for growing data sizes [23] and second, further performance evaluation, if the features size grows. Additional optimization might require introducing feature selection with deep learning algorithms to tackle the growing data sizes.
We have pre-processed and normalized the Parkinson's dataset and have used five popular ML models with hyperparameter tuning to analyze the normalized data. The performance evaluations are demonstrated using accuracy, specificity, sensitivity, kappa, precision and F1 score. By applying these optimized models to the voice recorded data of patients will help to predict whether a person has Parkinson's disease or not at an early stage in a cost-effective manner. The future work for Parkinson's disease prediction based on voice recording will be to incorporate more data for analysis to improve the scalability and prediction accuracy of Parkinson's disease.