## 2 Materials and Methods
### Modelling
The SMOTE and Spread Subsample techniques were used to balance the dataset, and to perform the cross-validation on the test and training sets, the cross-validation fold maker must be used. The next process is the J48 DT, which is one of the supervised machine learning algorithms used in this study. Here, the knowledge flow proceeds to the classifier performance evaluator to evaluate the developed model, and the performance results can be checked using the Text Viewer. This knowledge flow will be used for all the algorithms used in this study, and all the performance results will be recorded in order to be utilized in the comparative analysis, which is the next phase of this study. The supervised machine learning algorithms used were the following. 1. J48 Decision Tree  
A decision tree is an algorithm that produces a graphical tree-like structure, wherein instances are classified using a root node having a test condition (e.g., the person has sore throat or not) and branches that determine the answer, label, or the so-called class. [PERSON], in his paper entitled \"Learning Decision Tree Classifiers\", stated that a tree is either a leaf node or a test node [27]. A leaf node represents a class to which all the instances belong; if the instances belong to different classes, it is called a test node, which consists of a condition added to the attribute's value, and a test node can be further represented in two or more subtrees. One kind of decision tree algorithm is J48 DT, which is a common and simple decision tree algorithm used for classification purposes; it uses a divide and conquer approach, which divides the instances into sub ranges based on the values of the attributes [28]. 2. Random Forest  
Just like the DT, the RF algorithm also produces a tree, but for this algorithm, several trees will be generated from the values of random samples in the dataset, and the final  
Figure 7: The design of the process from loading the dataset, to training and testing using machine learning algorithms and the performance classification using the WEKA Knowledge Flow module. result will be based on the results of the majority of the developed trees. RF delivers significant improvements in the classification accuracy of a model through building a group of trees that generate results individually, collating those results and picking up which class obtained the most votes [29]. An example is bagging, devised by [PERSON], which is a method of predicting carried out by generating several versions of predictors. The predictors were generated by making replicates of the dataset, then combining each generated predictor to build an aggregated predictor. Bagging also yields significant increases in a model's accuracy when used in the subset selection for linear regression tasks, and when implemented in classification and regression trees [30]. In [29], a tree classifier was represented by \(\{h(x,\Theta_{k},k=1,\ldots)\}\), where the \(\{\Theta_{k}\}\) are random vectors that are equally distributed and x is the input. The group of classifiers can be represented as \(h_{1}(x)\), \(h_{2}(x)\),..., \(h_{K}(x)\) whereby each of these classifiers gives a result for the highest probability of a class. 3. Naive Bayes  
Naive Bayesian classifier is a statistical supervised machine learning algorithm that predicts class membership probabilities. NB achieves high accuracy and speed when applied to a large dataset [31], but it also works very well in small datasets [32]. NB is based on the Bayes theorem formulated by an English mathematician named [PERSON] in 1763 [33], which can be defined as follows. \[P(A|B)=\frac{P(B|A)\ P(A)}{P(B)} \tag{1}\]  
where \(P(A)\) is called the prior probability, which denotes the probability of \(A\) happening, and \(P(B)\) is called the marginal probability, which denotes the probability of \(B\) happening. The probabilities of \(A\) and \(B\) were independent values that do not reference each other.