# Raw Material Flow Rate Measurement on Belt Conveyor System Using Visual Data
## 3 Methodology
### Machine Learning Algorithms  
A large number of machine learning (ML) algorithms have been evaluated to find the best approach. Specifically, as many as nine ML approaches have been tested including decision tree, XGBoos, random forest, bagging regressor, etc. Each is briefly introduced in the following. 1. Decision Tree As evident from the name, decision trees form a tree-like structure for performing regression. The decision tree was proposed by [PERSON] [56] in 1986. In such an algorithm, the dataset is iteratively broken down into smaller chunks while simultaneously building a tree. It contains a root node representing the complete sample and  
Figure 16: Feature selection with recursive feature elimination with cross-validation (RFECV). is further broken down to form further nodes. The inner nodes form data features, and branches represent decision rules. Each data point is passed into the nodes one by one, giving binary answers, which are finally used to give the final prediction. 2. XGBoost The XGBoost Algorithm, given by [PERSON] et al. [57], refers to Extreme Gradient Boosting, which is an effective and efficient version of the gradient boosting algorithm. It can be used for predictive regression modeling. It originates from the decision trees and belongs to the class of ensemble algorithms; in the boosting category, to be precise. This boosting technique creates decision trees in sequential form and adjusts variable weights to increase the model's accuracy produced through predecessors. 3. Random Forest Another ensemble learning technique, proposed by [PERSON] [58], comes under the bootstrapping type. The dataset is sampled randomly over a defined number of iterations and variables in bootstrapping. The results of these splits are then averaged out for a better result. It represents a combination of ensemble techniques with a decision tree to attain varied decisions from data. Then these results are averaged out to compute a new result that defines strong results. 4. Bagging Regressor An ensemble meta-estimator, also proposed by [PERSON] [59]. Bagging Regressor fits the fundamental estimator on randomly taken subsets of data, \(k\) times, and then combines their predictions through aggregation to attain the final prediction. It indicates that it generates multiple versions of the predictor and utilizes these to get accumulated predictors. These multiple versions are defined by making replicas of the learning set and turning them into new sets for learning. The bagging technique is considered useful because the trees all fit on different data to some extent, which induces differences between them, leading to different predictions. Moreover, its effectiveness is also evident from the fact that it has a low correlation between predictions and prediction errors. We have utilized the DecisionTreeRegressor as the base estimator for our model. 5. Gradient Boosting The Gradient Boosting regressor, given by [PERSON] [60], is another tree-based technique that generates an additive model in a stage-wise manner which in turn allows optimization of random differentiable functions of loss. It uses Mean Squared Error (MSE) as a cost function when used as a regressor. At every stage, fitting of a regression tree is done on the negative gradient of the loss function being used. The technique is used to find a non-linear relationship between the model target and features. Besides, it is good at dealing with outliers, missing values, and high cardinality, regardless of any special treatment. 6. Gamma Regressor Gamma regressor proposed by [PERSON] et al. [61] is a generalized linear model coupled with gamma distribution. These models allow error distribution other than the available normal distribution and help build a linear relationship between predictors and response. Gamma regressors are used for the estimation and prediction of the conditional expectation of some target variable. This model is recommended in case the dependent variable has a positive value. 7.