2.2.4. Machine Learning Algorithms Used

We implemented several machine learning algorithms on the dataset generated from 7 experiments and observed the performance of the different machine learning in classifying the ADLs in a balanced class distribution scenario (E1) and imbalanced class distribution scenarios (from E2 to E7).

The classifiers used in this study are support vector machine (SVM), Gradient boosting (GB) classifier, Extreme Gradient boosting (XGB) classifier, catboost (CB) classifier, AdaBoost classifier using decision tree (ADA-DT) and AdaBoost classifier using random forest (ADA-RF) [10,29–33]. The choice of classifiers is influenced by the fact that some of these are preferred due to their ensemble properties of combining the weak learners and improving the performance by collective or majority learning, while others, such as SVM, are widely used due to their hyper plane properties to create significant margin, thus achieving high performance [34,35].

All the simulations are performed in Python using its associated libraries. The parameters used to train these classifiers are as follows. The XGB parameters are maximum depth = 50, minimum child weight = 2, number of estimators = 100 and learning rate = 0.16. The GB parameters are objective function = multiclass, maximum depth= 50, learning rate = 0.1 and number of estimators = 100. The CB parameters are learning rate = 0.15, depth = 10 and loss function = Multi Class. The SVM parameters are kernel = linear, class weight = balanced and complexity = 1. The ADA(DT) parameters are Tree = Decision Tree Classifier with maximum depth = 10 and number of estimators = 100. The ADA(RF) parameters are Tree = Random Forest Classifier with number of estimators = 100, maximum features = auto and number of estimators = 100. Macro averaged F-score is used as a performance metric to compute the performance of the different classifiers in classifying the ADLs of daily living. The expression to calculate the F-score is expressed in Equation (1).

$$F-score = \frac{2 \ast TP\_{\text{C}}}{2 \ast TP\_{\text{C}} + FP\_{\text{C}} + FN\_{\text{C}}} \ast 100\tag{1}$$

where *TPC* represents true positive, *FPC* represents false positive, *FNC* represents false negative and the subscript *c* represents the class it is computed for, such as sit, stand, waling, lie, etc.
