# Code Smell Detection Using Ensemble Machine Learning Algorithms
## 3 Proposed Research Framework
### Proposed Ensemble and Deep Learning Algorithms  
AdaBoost: It was discovered by [PERSON] and [PERSON]. AdaBoost was the first popular boosting method for binary classification. The Boosting method combines a multiple \"weak classifier\" into a single \"strong classifier\" [47].  
Bagging: Bagging, also known as Bootstrap aggregation, is a type of ensemble MLT that makes it easier to improve the MLT performance and accuracy. It reduces the error of a prediction model by applying bias-variance trade-offs to an agreement. Bagging is used in regression and classification models to prevent data from being over-fit [48].  
Max Voting: The Max Voting method is an MLT which uses a set of ensemble methods and produces the outcomes (class) according to the class with the highest possibility. It basically sums the outcomes from each classifier submitted to a voting classifier and forecasts the result class based on the highest number of votes. Generally, a single model is developed which educates on numerous models and guesses outputs based on the collective number of votes for every output class, instead of building distinct single models and judging their performance [49].  
\begin{table}
\begin{tabular}{c c c} \hline \hline
**Dataset Used** & **Set of Metrics** & **Chi-Square FSA’s Extracted Metrics** \\ \hline \multirow{3}{*}{DC} & \multirow{3}{*}{09} & LOCNAMM\_type, LOC\_type, WMCNAMM\_type, \\  & & WMC\_type, RFC\_type, NOMANAMM\_package, \\  & & WOC\_type, CFNNAMM\_type, ATFD\_type \\ \hline \multirow{3}{*}{GC} & \multirow{3}{*}{12} & LOC\_type, LOCNAMM\_type, WMCNAMM\_type, \\  & & WMC\_type, NOMNAMM\_package, RFC\_type, \\  & & CFNAMM\_type, ATFD\_type, NOMANAMM\_type, \\  & & NOM\_type, FANOUT\_type, CBQ\_type \\ \hline \multirow{3}{*}{FE} & \multirow{3}{*}{12} & LOC\_method, NOAV\_method, CYCLO\_method, \\  & & ATFD\_method, ATFD\_type, CINT\_method, \\  & & NOLV\_method, CFNAMM\_method, FPD\_method, \\  & & FANOUT\_method, CBQ\_type, Method \\ \hline \multirow{3}{*}{LM} & \multirow{3}{*}{12} & LOC\_method, CYCLO\_method, NOAV\_method, \\  & & NOLV\_method, CINT\_method, ATFD\_type, \\ \cline{1-1}  & & CFNAMM\_method, ATFD\_method, \\ \cline{1-1}  & & FANOUT\_method, ATLD\_method, \\ \cline{1-1}  & & MAXNESTING\_method, Method \\ \hline \hline \end{tabular}
\end{table}
Table 4: Chi-square FSA’s extracted metrics.  
Gradient boosting: The most effective ensemble MLT is the gradient boosting (GB) algorithm. Bias error and variance error are the two most common forms of mistakes in MLTs. The GB algorithm is a boosting method that may be used to reduce the algorithm's bias inaccuracy. The GB method is employed not just for constant target variables such as regression, but also for categorical target variables such as classifiers. The mean square error (MSE) is the cost function when used as a regression, while the log loss is the cost function when used as a classifier [50].  
**XGBoost**: The XGBoost is also identified as the extreme gradient boosting algorithm. It is a tree-based MLA with better presentation and speediness. XGBoost was created by [PERSON] and is controlled mainly by the DMLC (Distributed Machine Learning Community) group. It has gained popularity while yielding desirable results in structured and tabular data.  
**Artificial neural network (ANN)**: The ANN, also known as a neural network (NN), is a mathematical model that draws on features of biological neural networks, including their structure and functionality. A neural network uses an artificial neural method of computation to process data and is made up of a network of artificial neurons linked to one another [51]. The ANN has three layers: an input layer, a hidden layer, and an output layer., as shown in Figure 2.  
**Convolutional neural network (CNN):** One of the best-known and most frequently utilized deep learning methods is the convolutional neural network (CNN). CNN's key benefit over its forerunners is that it recognizes important elements without human intervention, making it popular [53].