## 2 Materials and Methods
### Decision Tree Models and Neural Network Models  
In our analysis, a diverse array of machine learning models was utilized to address the complexity of the data and the specific research questions posed. Utilizing MATLAB's Statistics and Machine Learning Toolbox and Deep Learning Toolbox, we implemented various decision tree models and neural network architectures. The Fine Tree model, constructed using the fitctree function with 'MinLeafSize' set to 1 allowed for very detailed data segmentation, leading to potentially complex models with high variance but low bias. This granularity was particularly useful for capturing subtle patterns in the data, although it increased the risk of overfitting. The Medium Tree model, also built with fitctree, used a default 'MinLeafSize' of 10. This setting provided a balance between model complexity and generalizability, making it suitable for our datasets where a moderate level of data detail was sufficient for effective analysis. The Coarse Tree model was configured with a 'MinLeafSize' of 20 using fitctree. This model was designed to be less sensitive to the noise in the data, producing simpler models that are more robust but potentially underfitted on very complex datasets. Boosted Trees were implemented using the fitensemble function with 'Method' set to 'AdaBoostM1'. This technique combines multiple weak learners (typically decision trees) into a strong learner by focusing on instances that were misclassified in previous trees, thereby improving the model's accuracy on difficult cases. Bagged Trees, or Bootstrap Aggregated Trees, were constructed using TreeBagger. This method reduces variance and helps avoid overfitting by creating each tree from a bootstrap sample of the data and averaging the results. The Narrow Neural Network was designed with a single hidden layer containing 10 neurons, utilizing the patternnet function. This configuration, optimized for less complex patterns, reduces the computational burden while providing sufficient capacity to model basic relationships in the data. The Medium Neural Network featured a single hidden layer of 25 neurons, constructed using patternnet. This model offered a good trade-off between complexity and performance, suitable for datasets with moderate intricacies. The Wide Neural Network, with a first hidden layer of 100 neurons, was also designed using patternnet. This architecture was intended to capture more complex patterns and interactions in the data at the cost of increased computational demand and a higher risk of overfitting. The Bilayered Neural Network consisted of two hidden layers, each containing 10 neurons, configured using patternnet. This setup allowed the model to learn more complex features at the first layer and abstract these features further in the second layer, enhancing the model's ability to generalize from more complex data structures. ### Decision Tree Models and Neural Network Models  
In this study, we employed ANFIS, a hybrid model that combines neural networks with fuzzy logic principles, to capture the underlying functional relationships within the dataset. ANFIS is particularly adept at modeling complex non-linear functions that are difficult to model with traditional techniques due to its ability to approximate any continuous function arbitrarily well. The ANFIS model utilizes a Takagi-Sugeno-type fuzzy inference system, which is implemented in a framework similar to a feedforward neural network. This system includes five layers: a fuzzification layer, a rules layer, a normalization layer, a defuzzification layer, and a total output layer. Each of these plays a critical role in processing inputs through the network to produce a crisp output. In the first layer, input variables are matched with membership functions (MFs) that are typically Gaussian, bell-shaped, or triangular. These functions assign a membership value between 0 and 1 to each input, determining the degree to which inputs belong to in each of the appropriate fuzzy sets.