## 2 Methodology
### Coding and Software Libraries
#### 2.2.3 AI Approach: Machine Learning Algorithms  
Numerous AI or machine learning algorithms have been documented in the literature in the domain of machine learning. However, an exhaustive examination of all algorithms is beyond the scope of this research. Thus, the authors focused on reviewing the most commonly employed multi-classification algorithms that have demonstrated superior performance compared to alternative approaches. In this paper, a comparison was conducted between the predictive performance of five commonly utilized machine learning classifiers in several domains to solve classification problems. The selected classifiers used in this paper included (1) \(k\)-nearest neighbors (KNN), (2) multilayer perceptron neural network (MLPNN), (3) random forest, (4) multiclass support vector machine (multiclass SVM), and (5) extra gradient boosting classifier (XGBoost). The summary of each of the classifiers is provided as follows. K-nearest neighbor (KNN): In practice, the KNN machine learning algorithm exhibits excellent performance compared to more complex machine learning algorithms [31]. This is due to its ability to determine similarities among data, enabling it to make predictions on unseen data [32]. Furthermore, it does not make additional assumptions and is flexible, making it suitable for a variety of applications [31]. The KNN algorithm is widely considered to be one of the top 10 machine learning algorithms [33] and is often used as the baseline algorithm in several domain problems [34]. Additionally, KNN is capable of generalizing unseen data with potentially complex geometries compared to other algorithms [31]. The KNN machine learning algorithm uses the \(k\)-closest data points in the feature space as inputs, and it outputs a classification of pipeline damage caused by natural forces. The damage type is determined by the majority vote of its \(k\) nearest neighbors in which \(k\) is a positive integer that is chosen based on the data. The KNN classifier operates by finding the nearest neighbors of each query point, with \(k\) being specified by the user. However, the optimal value of \(k\) is highly dependent on the data, which is why different values, ranging from 1 to 50, were explored in this study. The best value of \(k\) was determined using the grid search method, based on the scikit-learn 2019a user's guide. Random forest: The concept of random forests was introduced by [PERSON] in the early 2000s as a method for constructing a predictive ensemble using a collection of decision trees grown in randomly selected subspaces of the data [35]. The method involves utilizing multiple randomized decision trees and averaging their predictions, resulting in exceptional performance in scenarios in which the number of variables exceeds the number of observations [34]. Additionally, this approach is flexible and can be applied to complex problems or customized to specific learning tasks and provides assessments of variable significance. Its adaptability makes it a valuable tool for large-scale projects [35]. Multiclass support vector machine (SVM): SVM is predominantly used to solve binary classification problems by identifying a separating hyperplane for the data points [36]. For a multiclass classification problem, SVM has two methods: the one-versus-rest approach, which involves training \(m\) classifiers: one for each class in a dataset with \(m\) classes. During classification, each classifier predicts the probability of a specific class, and the class with the highest probability is selected. The one-versus-one classifier approach trains a classifier for each pair of classes, considering all possible combinations. During classification, each classifier predicts the probability of one class, and the class with the most votes is chosen as the final classification [36]. SVM was selected as one of the algorithms because it generally performs well in high-dimensional spaces and can effectively classify new, unseen data [37].