## 2 Materials and Methods
### Machine Learning Algorithms  
The support vector machine (SVM) is a supervised learning model that analyzes data for classification or regression [21]. Supposing the analysis data can be viewed as a vector point in a multi-dimensional space, SVM tries to construct the hyperplane as the discriminator for data categorization. However, since the data points may not be linearly separable in the original space, they can be projected to another multi-dimensional space where a good categorization is achieved by the hyperplane with the largest functional margin to any data point of any class. When providing a dataset of n points (\(x_{1},y_{1}\)),..., (\(x_{n}\), \(y_{n}\)), where \(x_{i}\) is a multi-dimensional vector and \(y_{i}\) is the class label, the hyperplane can be written as the following conditional formula. \[y_{i}\cdot(w^{\mathrm{T}}\varphi(x_{i})-b)\geq 1\text{ for }i=1,\ldots,n \tag{4}\]  
In this formula, \(w\) is the normal vector of the hyperplane, which is constructed by data points called support vectors. \(\varphi(x_{i})\) is the projected data points and b is the computational bias. Satisfying the condition of this formula means that the class label of xi is correctly predicted. On the other hand, both \(w\) and \(\varphi(x_{i})\) are in the projected multi-dimensional space, and the inner product calculation between them can be replaced by a specific kernel function, such as the linear kernel, the radial basis function (RBF) kernel, etc. [22]. \[w^{\mathrm{T}}\cdot\varphi(x_{i})=\sum_{x_{j}\in\text{support vectors}}\alpha_{j} \cdot y_{j}\cdot k\big{(}x_{j},\ x_{i}\big{)} \tag{5}\]  
The decision tree is a hierarchical model that uses a tree-like structure. In this model, each internal node represents a test on an attribute, and each branch represents the outcome of the test. At the bottom of the structure, each leaf node represents a class label, which is the decision made after analyzing all of the attribute features [23]. The path from the root node to a leaf represents a specific decision rule, and the conditions along the path form a conjunction of \"if-then\" clauses [24]. The decision tree is a white-box model because the decision rules produced are easy to understand and interpret. Among various types of node-branching functions, the Gini impurity is constantly used and was chosen for this study. According to the relative frequencies of class labels in the dataset, the Gini impurity measures how often a data item will be incorrectly labeled if it is labeled randomly and independently. For a dataset of items with \(J\) class labels and relative frequencies \(p_{i}\), \(i\in\{1,\,2,\,\ldots,\,J\}\), the probability of correctly recognizing the class label of a data item, assuming it is class \(i\), is \(p_{i}\). On the contrary, the probability of misclassifying that item is \(\sum_{k\
eq i}p_{k}=(1-p_{i})\). Therefore, the computation formula for the Gini impurity \(\mathrm{I}_{G}(p)\) is defined as follows. \[\mathrm{I}_{G}(p)=\sum_{i=1}^{J}\left(p_{i}\cdot\sum_{k\
eq i}p_{k}\right)= \sum_{i=1}^{J}p_{i}\cdot(1-p_{i})=\sum_{i=1}^{J}p_{i}-\sum_{i=1}^{J}p_{i}^{2} =1-\sum_{i=1}^{J}p_{i}^{2} \tag{6}\]  
\(\mathrm{I}_{G}(p)\) reaches the minimum value of zero when all data items in the node fall into a single class label. An artificial neural network is a machine learning algorithm that imitates the human nervous system, and its definition formula is as follows [25; 26]. \[Y=\varnothing(W\times X+B) \tag{7}\]  
Because the neural network can have a plurality of input and output neurons, they will be assembled respectively into the \"input layer\" and the \"output layer.\" Matrix \(X\) represents the input values of a set of attributes, and matrix \(Y\) simulates the output neurons for the computation results. The weight matrix \(W\) simulates the axons, which connect the input/output neurons and are responsible for transmitting messages. In the application problem, this represents the respective influences of different attribute characteristics.