## 5 FFF-SA Algorithm  
The filter methods for feature selection measure one input feature at a time with the target feature. Therefore, there is no interaction between the input features. To overcome this issue, this paper proposed an algorithm called the innovative forward fusion-based for feature selection (I-FFF). This algorithm performs a forward chain feature selection by calculating the input feature importance with the target value using Pearson correlation, Chi\({}^{2}\), and RF. The Pearson method is applied to numerical variables, while the Chi\({}^{2}\) method is applied to categorical variables. The RF method is applied to both numerical and categorical variables. The FFF-SA algorithm is based on three main stages for selecting the best correlation between the input and the target features. The first stage is based on sorting the feature vectors based on their importance and association to the target. The second stage starts by selecting the best \(k\) batch of features and then measures its score during the tuning and validation of data using different modeling approaches of machine learning (ML). The third stage adds a new \(k\) batch of features one at a time until all batches of features are added. After performing the feature selection for all input features of word terms \(w_{t}\) and target features of polarity terms \(p_{t}\), different machine learning models are implemented to predict the labels of the input word terms. In addition, the trained dataset is tuned to maximize the models' performance without overfitting data. The tuning process is based on hyper-parameters that can control the trained dataset. In this modeling stage, eight machine learning algorithms are applied, where some algorithms have unique hyper-parameters while others have similar hyper-parameters. These algorithms are Logistic Regression (LR) [53], Linear Discriminant Analysis (LDA) [54], K-Nearest Neighbor (KNN) [55], Decision Tree (DT) [56], Naive Bayes (NB) [57], Support Vector Machine (SVM) [58], Random Forest (RF) [59], and Gradient Boost (XGB) [60]. The overall FFF-SA algorithm is explained as follows:  
The proposed FFF-SA algorithm starts by defining the full feature set \(FF\), the maximum size of features \(M\), the \(k\) features for each experiment, and the \(n\) number of execution times during the experiment. Each experiment is conducted using the three correlation features, Pearson, Chi\({}^{2}\), and RF features, and by dividing the input features to a different subset of feature vectors and then selecting the subsets that are highly associated or related to the target features. The first correlation feature of Pearson is initialized, where the first \(k\) features is applied on the experiment, and then the eight ML algorithms are used as models to train the selected \(k\) features and then score the accuracy using the testing fold to measure the similarity and correlation between the training and target features. Each time, the first ML algorithm selects the \(k\) features and then registers the score. The next \(Accum_{F}+k\) features are added to the previous features as accumulative features to model and score the accuracy on the accumulative features. The process continues until the \(M\) features are reached, which represents the maximum size of the features. The second ML algorithm repeats the experiments for the \(k\) features and then registers the score at each accumulative feature until all ML algorithms record their accuracy results for the Pearson correlation method. The next experiments are conducted with the Chi\({}^{2}\) and RF correlation methods to score and record the accuracy.