## 5 Results and Discussion
### Iteration Times Optimization for Each Model  
The purpose of determining the optimal number of iterations for each model is to find the best compromise between model performance and training cost. This involves analyzing the relationship between the number of iterations and the corresponding fitness values for each model. Figure 7 illustrates the fitness iteration curves during 2000 iterations for six different models: ANN, DT, GBDT, KNN, MLP, and XGBoost. It can be observed that the fitness value (i.e., RMSE value) of each model decreases with more iterations up to a certain count, i.e., the model performance cannot be further improved when the number of iterations exceeds that number. On the other hand, the data allocation method (the ratio of training set to testing set) can significantly influence the model performance, so it is crucial to find the best data configuration. As mentioned earlier, three ratios of training set to test set were validated: 60:40 (blue), 70:30 (red), and 80:20 (black). The 90:10 ratio was excluded in order to retain enough data samples to be able to test model performance. It can be seen that most of the models (ANN, DT, GBDT, KNN, MLP) presented lower RMSE values when the ratio of training set to test set was 70:30. The XGBoost models trained using three allocation methods obtained a similar performance. As a result, the optimal number of iterations for each model can be identified by determining the minimum fitness values based on the best data allocation (the ratio of training set to test set was 70 to 30). The optimal numbers of iterations are: 1400 (ANN), 250 (DT), 1000 (GBDT), 70 (KNN), 350 (MLP), and 800 (XGBoost). Table 3 shows the time consumption of each model and each data allocation method for 2000 iterations. The results indicate that the lowest time consumption among most of the models (ANN, GBDT, KNN and MLP) was obtained by setting the ratio of training set to test set to 70:30. These findings also validate that this ratio of training set to test set is the optimal data allocation used for improving model performance. After determining the optimal number of iterations for each model, all models were retrained to obtain the final hyperparameter values based on the best data allocation. The optimized hyperparameters of each model are summarized in Table 4. These optimized hyperparameters reflect the best configuration found for each model through  
\begin{table}
\begin{tabular}{l l} \hline \hline
**Models** & **Hyperparameters** \\ \hline ANN & n\_layers: [1, 2]; n\_units: [4, 128]; activation function: [’Relu’, 'tanh’, 'logistic’]; \\  & a\_solver: [’Adam’, ’sgd’, ’lbfgs’]; alpha: [\(1\times 10^{-5}\), \(1\times 10^{-1}\)] \\ \hline MLP & n\_layers: [3, 10]; n\_units: [10, 100]; activation function: [’relu’, 'tanh’, 'logistic’, \\  & ‘identity’] a\_solver: [’Adam’, ’sgd’, ’lbfgs’]; alpha: [\(1\times 10^{-5}\), \(1\times 10^{-2}\)]; \\  & batch\_size: [’auto’, 32, 64, 128]; i\_learning rate: [\(1\times 10^{-5}\), \(1\times 10^{-2}\)]; max\_iter: [200, 1000] \\ \hline DT & max\_depth: [2, 32]; min\_sample\_split: [2, 20]; min\_sample\_leaf: [1, 20] \\ \hline GBDT & Loss function: [’square’, ’absolute’, ’huber’, ’quantile’]; n\_estimators: [100, 500]; \\  & max\_depth: [3, 9]; min\_sample\_split: [2, 10]; min\_sample\_leaf: [1, 10]; learning \\  & rate: [0.01, 0.3]; subsample ratio: [0.5, 1.0] \\ \hline KNN & n\_neighbors: [1, 30]; weight function: [’uniform’, ’distance’]; p: [1, 2] \\ \hline XGBoost & n\_estimators: [100, 1000]; max\_depth: [3, 10]; learning\_rate: [0.01, 0.3]; \\  & subsample ratio: [0.5, 1.0]; colsample\_bytree: [0.5, 1.0]; gamma: [0.0, 1.0]; \\  & reg\_alpha: [0.0, 1.0]; reg\_lambda: [0.0, 1.0] \\ \hline \hline \end{tabular}
\end{table}
Table 2: Hyperparameter ranges set in each prediction model.  
the iterative optimization process. As a result, the prediction models with the optimal hyperparameters were used to predict the thermal conductivity of EG-Al2O3 nanofluids using the training and test sets.