# Assessment of Six Machine Learning Methods for Predicting Gross Primary Productivity in Grassland
## 3 Methods
### Machine Learning Models  
The machine learning models used in this study include two categories: neural network-based models and aggregating learning-based models. Their information is presented in Table 2.  
The training data in this study came from the MOD17A2H dataset. Considering the improvement of training speed and accuracy, a total of 2000 training samples were selected as inputs in this study. They are determined by random sampling throughout the study area, and the spatial distribution is shown in Figure 3.  
In the training process of machine learning models, the setting of parameters is very important, such as the number of neurons per layer, the number of iterations, the number and maximum depth of decision trees, and the number of weak learners. In this study, we made a large number of attempts to train the model under different parameter settings to determine the optimal combination of parameters. The following descriptions of parameters are the best after a large number of attempts.  
For the neural network-based model, we chose multilayer perceptron (MLP). MLP is a common neural network consisting of an input layer, an output layer, and three hidden layers [50]. It is characterized by the ability to effectively learn the nonlinear relationship between predictors and input features, so it is widely used in biomass estimation [51]. In this study, we set the number of neurons per layer to 1800 and the number of iterations to 200.  
Aggregating learning is a popular category of machine learning methods. It combines several weak learners to get a more comprehensive strong supervision effect. For the aggregating learning-based model, we chose random forest (RF), AdaBoost, gradient boosting decision tree (GBDT), XGBoost, and LightGBM.  
\begin{table}
\begin{tabular}{c c c c} \hline
**Category** & **Model** & **Aggregating Strategy** & **Reference** \\ \hline Neural network & Multilayer Perception & - & [50,51] \\ \hline \multirow{6}{*}{Aggregating learning} & Random Forest & Bagging & [52] \\  & Adaboost & Boosting & [53] \\ \cline{1-1}  & Gradient Boosting Decision Tree & Boosting & [54] \\ \cline{1-1}  & XGBoost & Boosting & [55] \\ \cline{1-1}  & LightGBM & Boosting & [56] \\ \hline \end{tabular}
\end{table}
Table 2: Information on the machine learning model used in this paper.  
Figure 2: The flowchart of this research.  
RF is a classic aggregating learning model based on the bagging strategy. It first randomly samples the dataset several times, and each sample set is used for a classification and regression tree (CART). In GPP prediction, the result of RF is a linear combination of all the tree outputs [52]. In this study, we set the number of trees to 1600, the maximum depth to 36, and the variable to split tree nodes to 6.  
Based on the boosting strategy, Adaboost first initializes a weak learner and then updates it according to the training error. After many iterations, several weak learners are obtained and finally combined to form a strong learner [53]. In this study, we set the number of weak learners to 2000.  
GBDT is also based on the boosting strategy. Only CART can be used as a weak learner and the iterative goal is to reduce the fitting error. This is the main difference between GBDT and Adaboost [54; 57]. In this study, we set the number of weak learners to 1000, and the variable to split tree nodes to 6.  
XGBoost is an optimization model for GBDT that uses both first- and second-order information in the loss function [55]. In this study, we set the number of weak learners to 2000, the maximum depth to 9, and the random sampling ratio to 0.8.  
LightGBM is an optimization model of XGBoost that has improved information gain, decision tree construction, and feature parallelism. It uses less computer memory while reducing errors [56]. In this study, we set the number of trees to 6000 and the number of leaf nodes to 110.