Next Article in Journal
Functionality Analysis of Derailment Containment Provisions through Full-Scale Testing—I: Collision Load and Change in the Center of Gravity
Previous Article in Journal
Development of a Finite Element Model of the Cervical Spine and Validation of a Functional Spinal Unit
Previous Article in Special Issue
Hybrid GA-SVM Approach for Postoperative Life Expectancy Prediction in Lung Cancer Patients
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Co-Operative Binary Bat Optimizer with Rough Set Reducts for Text Feature Selection

Centre for Artificial Intelligence Technology, Faculty of Information Science and Technology, Universiti Kebangsaan Malaysia, Bangi 43600, Selangor, Malaysia
*
Author to whom correspondence should be addressed.
Appl. Sci. 2022, 12(21), 11296; https://doi.org/10.3390/app122111296
Submission received: 29 September 2022 / Revised: 24 October 2022 / Accepted: 27 October 2022 / Published: 7 November 2022

Abstract

:
The process of eliminating irrelevant, redundant and noisy features while trying to maintain less information loss is known as a feature selection problem. Given the vast amount of the textual data generated and shared on the internet such as news reports, articles, tweets and product reviews, the need for an effective text-feature selection method becomes increasingly important. Recently, stochastic optimization algorithms have been adopted to tackle this problem. However, the efficiency of these methods is decreased when tackling high-dimensional problems. This decrease could be attributed to premature convergence where the population diversity is not well maintained. As an innovative attempt, a cooperative Binary Bat Algorithm (BBACO) is proposed in this work to select the optimal text feature subset for classification purposes. The proposed BBACO uses a new mechanism to control the population’s diversity during the optimization process and to improve the performance of BBA-based text-feature selection method. This is achieved by dividing the dimension of the problem into several parts and optimizing each of them in a separate sub-population. To evaluate the generality and capability of the proposed method, three classifiers and two standard benchmark datasets in English, two in Malay and one in Arabic were used. The results show that the proposed method steadily improves the classification performance in comparison with other well-known feature selection methods. The improvement is obtained for all of the English, Malay and Arabic datasets which indicates the generality of the proposed method in terms of the dataset language.

1. Introduction

Text classification is the process of automatic grouping of documents into some predefined categories. The idea of text classification is to assign one document to one class (i.e., category), based on its contents. It can provide conceptual views of document collection and has essential applications in the real world. For example, news stories are typically organized by subject categories (topics) or geographical codes; academic papers are often classified by technical domains and sub-domains; even patient reports in health-care organizations are often indexed from multiple aspects, using taxonomies of disease categories, types of surgical procedures, insurance reimbursement codes and so on.
Text Feature Selection (TFS) is an important part of text classification, and much research has been completed on various feature selection methods. A document usually contains hundreds or thousands of distinct words regarded as features. However, many of them may be noisy, less informative or redundant with respect to the class label. This may mislead the classifiers and degrade their performance in general [1,2]. Feature selection (FS) can be thought of as selecting the best words of a document that can help classify that document. Feature selection has been an active research area in pattern recognition, machine learning, statistics and data mining communities. The main idea of feature selection is to choose a subset of the original features by eliminating redundant ones and those with little or no predictive information. Feature selection is an essential process, as it can make or break a classification engine [3]. Feature selection is considered an optimization problem [4,5,6] where the aim is to select the most representative features that give the highest prediction performance. The idea of TFS, in simple words, is to determine the importance of words using a defined measure that can keep informative words, and remove non-informative words, which can then help the text classification engine.
During the past few decades, many feature selection methods have been proposed. On one hand, some of those methods work by ranking features and filtering out the low-ranked ones. Although those methods are fast and independent from any classification algorithm, they ignore the dependencies between features which affect the quality of the selected feature set [7]. On the other hand, population-based meta-heuristic methods such as genetic algorithm (GA), ant colony optimization (ACO), particle swarm optimization (PSO) and Bat algorithm (BA) have attracted a lot of attention [5,7,8,9,10,11,12,13,14,15,16,17,18]. These methods try to gather better solutions by using knowledge from previous steps. Therefore, the focus on search strategies has shifted to meta-heuristic algorithms, which are well suited for searching among a large number of possibilities for solutions. Most of these methods utilizes a classification method to evaluate the feature set, resulting in higher classification accuracy. However, the main drawback of these methods is that they are dependent on the utilized classification algorithm, and this makes the resulted feature sets biased to the choice of classifier [19].
The Bat algorithm (BA) is a meta-heuristic method proposed by [20] and based on the fascinating capability of micro-bats to find their prey and discriminate different types of insects even in complete darkness. The algorithm is formulated to imitate the ability of bats in finding their prey. The main advantage of the BA is that it combines the benefits of population-based and single-based algorithms to improve the quality of convergence [21]. BA and its variants have been successfully applied to solve many problems such as optimization, classification, feature selection, image processing and scheduling [8,21,22,23,24,25,26]. For more details about the Bat algorithm and the binary version of it, the reader may refer to [20,27], respectively.
As mentioned above, BA was successfully applied to many application domains including FS. However, one of the limitations with many meta-heuristic algorithms, including BA, is their deficient performance with high-dimensional problems. This problem is most likely to appear as the search space is not effectively explored due to losing population diversity during the search process [28]. Many methods were proposed in the literature to control population diversity including cooperative algorithms [29,30]. However, for high-dimensional problems, co-evolutionary algorithms are preferred as they can divide the dimension of the solution into multiple parts, and optimize each part separately [31,32]. Moreover, as the text data are represented as a sequence of terms where each term is considered as one feature, this aggravates the problem of high dimensionality. The coevolutionary strategy was successfully employed in several evolutionary computations, such as job-shop scheduling [33], path-planning problem [34], supply chain-gap analysis [35], flow-shop scheduling problem [36], large-scale optimization [37], hierarchized Steiner tree problems [38] and sensor ontology meta-matching [39]. However, the majority of these applications are continuous problems. Applying this technique to a discrete problem such as text feature selection is still challenging and needs to be further studied.
In this paper, a cooperative coevolutionary BBA is proposed and evaluated as a TFS method, that provides the following contributions:
  • Controlling the population diversity during the search process using the multi-population BBA;
  • Handling the high dimensionality of the feature space by using the divide and conquer strategy;
  • Initializing a diverse population using the modified Latin Hypercube Sampling (LHS) initialization method;
  • Better evaluation of the solutions using the adapted Rough Set (RS)-based fitness function that is independent of any classification method.
The rest of this paper is organized as follows: Section 2 provides a summary of the related work. Then, the details of the proposed algorithm are given in Section 3, followed by the experimental setup in Section 4. After that, the discussion and analysis of the experimental results are shown in Section 5. Finally, the work is concluded in Section 6 of this paper.

2. Related Work

The simplest definition of a coevolutionary algorithm is that it is an evolutionary algorithm (or a collection of evolutionary algorithms) in which the fitness of an individual depends on the relationship between that individual and other individuals [40]. Such a definition immediately imbues these algorithms with a variety of views differing from those of more traditional evolutionary algorithms. Therefore, the interaction between individuals of different populations is the key to the success of coevolutionary techniques.
In the literature, coevolution is often divided into two classes: cooperative and competitive, regarding the type of interaction employed. In cooperative coevolution, each population evolves individuals representing a component of the final solution. Thus, a full candidate solution is obtained by joining an individual chosen from each population. In this way, increases in a collaborative fitness value are shared among individuals of all the populations of the algorithm. In competitive coevolution, the individuals of each population compete with each other. This competition is usually represented by a decrease in the fitness value of an individual when the fitness value of its antagonist increases [41].
Additionally, coevolution is a research field that has recently started to grow. Some research efforts have been applied to tackle the question about how to select the members of each population that will be used to evaluate the fitness function. One way is to evaluate an individual against every single collaborator in the other population. Although it could be a better way to select the collaborators, it would consume a very high number of evaluations in the computation of the fitness function. To reduce this number, there are other options, such as the use of just a random individual or the use of the best individual from the previous generation [42].
The coevolutionary technique was successfully utilized in literature with different domains. In an early work, the authors of [43] presented the cooperative particle swarm optimizer and applied their method to several benchmark optimization problems. The authors of [44] proposed an approach based on coevolutionary particle swarm optimization to solve constrained optimization problems formulated as min–max problems. Another study [45] proposed a cooperative coevolution framework in order to optimize large scale non-separable problems. The authors of [46] adapted a competitive and cooperative coevolutionary approach for a multi-objective particle swarm optimization algorithm design, which appeared to solve complex optimization problems by explicitly modelling the coevolution of competing and cooperating species. In another work, the authors of [47] proposed a cooperative coevolving particle swarm optimization algorithm in an attempt to address the issue of scaling-up particle swarm optimization algorithms in solving large-scale optimization problems.
Later, the authors of [48] proposed a direction vector-based coevolutionary multi-objective optimization algorithm, that introduced the decomposition idea from multi-objective evolutionary algorithms to coevolutionary algorithms. The authors of [49] proposed an adaptive coevolutionary algorithm based on genotypic diversity measure. In another study [50] a coevolutionary improved multi-ant colony optimization algorithm was proposed for ship multi and branch-pipe route design. The author of [51] proposed a cooperative coevolutionary artificial bee colony algorithm that has two sub-swarms, with each addressing a sub-problem. The sub-problems were a charge scheduling problem in a hybrid flow-shop, and a cast scheduling problem in parallel machines.
Later, the authors of [52] proposed a multi-objective cooperative coevolutionary algorithm to optimize the reconstruction term, the sparsity term and the total variation regularization term, simultaneously, for Hyperspectral Sparse Unmixing. In [53] the authors proposed a parallel multi-objective cooperative coevolutionary variant of the Speed-constrained Multi-objective Particle Swarm Optimization algorithm. In [54], the authors proposed a two-layer distributed cooperative coevolution architecture with adaptive computing resource allocation for large-scale optimization. In another study, [55], the authors proposed an approach utilizing a Cooperative Co-evolutionary Differential Evolution algorithm to optimize high-dimensional ANNs.
In a recent study [56], the authors proposed a hybrid cooperative coevolution algorithm for the minimization of fuzzy makespan. In [57], the authors developed a cooperative coevolution algorithm for seru production with minimizing makespan by solving the seru formation and seru scheduling simultaneously. In another study [58] the authors proposed a multi-population coevolution-based multi-objective particle swarm optimization algorithm to realize the rapid search for the globally optimal solution to solve the problem of Weapon–Target Assignment. In addition to these studies, the authors of [59] proposed a cooperative coevolution hyper-heuristic framework to solve workflow scheduling problem with an objective of minimizing the completed time of workflow.
For feature selection problems, a few studies in the literature have utilized the cooperative coevolutionary algorithm. In two early works, refs. [60,61], the authors performed instance and feature selection by creating three populations in different sizes. The first population performed feature selection, while the second population performed instance selection and the third population was for both feature and instance selection. The authors of [62] presented a hybrid learning algorithm based on a cooperative coevolutionary algorithm (Co-CEA) with dual populations for designing the radial basis-function neural network (RBFNN) models with an explicit feature selection. In this algorithm, the first sub-population used binary encoding masks for feature selection, and the second sub-population tended to yield the optimal RBFNN structure.
Another study presented a cooperative coevolution framework to render the feature selection process embedded into the classification model construction within the genetic-based machine learning paradigm [42]. Their approach had two coevolving populations cooperate with each other regarding the fitness evaluation. The first population corresponded to the selected feature subsets and the second population was for rule sets of classifier. Later, the authors of [63] proposed an attribute equilibrium dominance reduction accelerator (DCCAEDR) based on the distributed coevolutionary cloud model. The framework of N-populations distributed coevolutionary MapReduce model is designed to divide the entire population into N sub-populations, sharing the rewards of different sub-populations’ solutions under a MapReduce cloud mechanism. After that, a CCFS algorithm was proposed that divided vertically (on features) the dataset by random manner and utilized the fundamental concepts of cooperation coevolution in order to search the solution space via Binary Gravitational Search Algorithm (BGSA) [28]. Another study utilized a genetic algorithm for the coevolution of meteorological data for attribute reduction [64]. In this work, the evolutionary population was divided into two sub-populations; one for elite individuals to assist crossover operations to increase the convergence speed of the algorithm, and the other for balancing the population diversity in the evolutionary process by introducing a random population.
It is noticed that in most of the mentioned studies [42,60,61,62,64], the authors have attempted to solve the feature selection problem as a multi-objective problem by creating two or more populations, where each of them optimizes one objective. However, those methods are not applicable for single objective problems and they do not solve the high dimensionality of the feature space. In the work of Ding et al. [63], the focus was to distribute the optimization process on multiple machines in order to reduce the computational time. However, the requirement of their model, such as the hardware (e.g., multiple PC machines), the mechanism of distribution of the dataset, the means of communication between different machines, and the way of forming the complete solution, was not always available. In the work of the authors of [28] the dimension of the full solution was divided into smaller subsets where each of them is optimized in a separate population. Although their method was effective with high dimensional feature selection problem, there were multiple aspects that needed further improvement. For example, the method might have a better parameter tuning in order to improve its performance. In addition, the solutions in the different sub-populations need to be combined with each other in each generation in order to be evaluated, which is computationally expensive and reduces the chance of each solution to be optimized separately from the other sub-populations.

3. The Proposed Algorithm

In this work, the cooperative and coevolution mechanisms are utilized with the binary bat algorithm. A combination of these two approaches (which we call BBACO) is proposed for the text feature selection problem. Figure 1 shows the main stages of the proposed method that are explained in the following subsections.

3.1. Initialization Stage

This stage contains three steps, i.e., (i) BBACO parameter initialization that is based on the parameter tuning of the Taguchi method, (ii) sub-population initialization using a modified LHS method and (iii) solutions’ evaluation to choose the best candidate solution in each sub-population based on the dependency measurement using rough set theory (RST) [65]. Algorithm 1 shows the pseudocode for the initialization stage.
Algorithm 1. Pseudocode of the initialization stage.
 Initialization
//Step 1: BBACO parameter initialization
Initialize SubPop-no, SubPop-size, Evaluate-fullSol-rate
//Step 2: Sub-population initialization
Size-PartialSolution = F/SubPop-no, where F total represents number of features
Remainder = F%SubPop-no
Foreach Sub-Population (i), where i represent the index from 0 to SubPop-no
 Ifi <= Reminder
  Size-PartialSolution(i) = Size-PartialSolution + 1
 Else
  Size-PartialSolution(i) = Size-PartialSolution
  For1 to SubPop-size
  Generate initial solution using modified LHS method
  Initialize loudness (A), pulse rate (r), minimum frequency (Fmin), velocity (v),
   maximum frequency (Fmax);
//Step 3: Solution evaluation
Evaluate each solution in each sub-population using rough-set based objective function
Assign the best solution into  x b e s t i
Combine all  x b e s t i  into  x b e s t
Save  x b e s t  in memory
In Step 1, SubPop-no refers to the number of sub-populations, SubPop-size refers to the number of candidate solutions in each sub-population, and Evaluate-fullSol-rate refers to the number of generations reproduced before evaluating the full dimension solutions (referred to as FullSolution), are initialized. In this work, a Taguchi method [66] was used to identify the best values of the parameters for the BBACO algorithm. Three levels were considered for each factor as shown in Table 1. The BBACO algorithm runs three times for each factor at each level, and the average Signal-to-Noise (SN) ratio plot for each level of the factors is shown in Figure 2. The level with the maximum SN ratio is the optimum parameter determined by the Taguchi method. According to Figure 2, the optimum value for SubPop-size is set to 100, the Evaluate-fullSol-rate is set to 10, and the SubPop-no is set to 15 as shown in Table 1.
In Step 2, the candidate solutions of each sub-population are initialized using a modified LHS method. Note that the candidate solution in each sub-population that contains subset of features is referred to as PartialSolution, while FullSolution refers to a candidate solution with a full dimension where its length is equal to the total number of features. The size of PartialSolution (Size-PartialSolution) is determined based on the number of features and the number of sub-populations as in the following equations:
Size-PartialSolution = F/SubPop-no
Remainder = F % SubPop-no
where F is the total number of features, and Remainder is the number of sub-populations that will be assigned extra one feature. For example, if F is 20, and SubPop-no is 3, thus the Size-PartialSolution and Remainder are:
Size-PartialSolution = 20/3 = 6
Remainder = 20%3 = 2
Based on the value of the Remainder, the size of two out of three sub-populations will contain one extra feature. Thus, seven features are yielded for sub-population #1 to #2 (i.e., Size-PartialSolution +1 = 6 + 1 = 7). The remaining one sub-population remains with six features. Figure 4 shows how the full dimension of features, FullSolution (i.e., 20 features) is divided and assigned into three sub-populations where the first two sub-populations consist seven features, and the third sub-population consists of six features. Note that the letters in Figure 3 represent the features where the arrows represent the movement of features to the sub-populations and # is number (#2 equals to number 2).
In Step 3, each candidate solution in all sub-populations is evaluated based on the adapted dependency degree measure using rough set theory. For example, in Figure 4 the selected features are a and d. Thus, the quality of the PartialSolution is calculated based on the dependency degree between feature a and d using the adapted rough set theory (RST). In the adapted RST, the features are represented by their presence or absence in the document. In this way, the candidate solutions could be compared with the instances (i.e., documents) to define the lower and upper approximations. However, it was found that there is no instance that can have the same pattern of the solution in order to be added to a lower approximation due to the high dimensionality of the feature space. To handle this limitation, the similarity between each instance and the candidate solution is calculated using cosine similarity measure as in the following equation. The similarity threshold (δ = 0.70) is defined based on the preliminary experiments:
  c o s ( d i , c s ) = k = 1 n d i k · c s k k = 1 n ( d i k ) 2 · k = 1 n ( c s k ) 2
where di is the document number i; cs is the candidate solution, d i k . c s k is the dot product between di and cs; k is the index of the term and n is the number of the selected terms in the candidate solution. After calculating cosine similarity, if its value is equal or greater than δ the document is added to the lower approximation, otherwise, it is not added.
The best PartialSolution from each sub-population is assigned to x b e s t i , and is concatenated as follows:
x b e s t = c o n c a t e n a t e ( x b e s t 1   ,   x b e s t 2   ,   x b e s t 3   ,       ,   x b e s t s u b P o p n o )

Modified LHS: Initial Population Generation

Latin Hypercube Sampling (LHS) is a statistical method developed by the author of [67] and used for sampling by ensuring that all portions of the continuous variable were sampled. LHS was used as an initialization method by the authors of [68], where the solutions were represented using real values as the problem was continuous. For initializing the candidate solutions of BBACO, the LHS method was modified to be applicable to the problems with binary representation. The modified LHS works as follows:
  • Divide the length of the solution into equal segments, where the length of the solution is equal to the number of features. The following equation is used to determine the number of segments in each solution:
    s n = F n random ( 1 , m )
    m = F n   if F n n 2 n 2   if F n > n 2
    where sn refers to the number of segments; F is the number of features and n is the number of solutions in the population. F n provides the number of segments that guarantees using each feature only one time in one solution. The parameter m is the upper band of the random number, and it ensures that the number of the selected features does not exceed half of the features. It should be noted that m is defined one time at the beginning of the initialization process. The reason behind using two different ways to calculate m (depending on the size of features and population) is to make the method more suitable with datasets of a different size;
  • Calculate the length of the segments (sl) for each solution as follows:
    s l = F s n
Then, one feature is selected randomly from each segment. The steps of the modified LHS are shown in Algorithm 2.
Algorithm 2. The modified LHS initialization method steps.
Modified LHS initialization method
  • Calculate m, where m is the maximum number of the features that can be selected
      For 1 to number of solutions
  • Calculate the number of segments (sn)
  • Calculate the length of segment (sl)
  • Randomly choose one feature in each segment.
  • Check if this is the final solution:
       If yes: go to solutions’ evaluation.
       Otherwise: go to 2

3.2. Improvement Stage

This stage contains two steps, i.e., (i) local search (random walk) and (ii) global search (random fly). The local search is applied on each x b e s t i (best PartialSolution of each sub-population i), while the global search is applied on all PartialSolutions in all sub-populations with the aim of reproduction. In step i, a local PartialSolution is generated based on the best PartialSolution in each sub-population if the condition of local search (i.e., r i > r a n d [ 0 , 1 ] , where r i is the pulse rate of the best PartialSolution in sub-population #i) is met. The pseudocode in Algorithm 3 shows the steps of local search.
Algorithm 3. Pseudocode of the local search.
Local search (random walk)
  For each x b e s t i
   If (ri > rand [0, 1])
x n e w i = x o l d i + ϵ A g ¯ S ( x n e w i ) = 1 1 + e x n e w x n e w i = { 1         i f   S ( x n e w i ) > σ [ 0 , 1 ] 0                                             o t h e r w i s e
In Algorithm 3, ri is the pulse rate of the best PartialSolution in sub-population #i, rand, ϵ , and σ are random numbers between 0 and 1, x n e w i is the generated PartialSolution near x b e s t i (i.e., 15 local PartialSolutions are generated as the number of sub-populations is 15), A g ¯ is the average loudness of all PartialSolutions at the generation g, and S ( x n e w i ) is the sigmoid function that used to restrict the values of x n e w i into 0 or 1.
Step 2 generates new PartialSolutions for the next generation. First, the frequency of each PartialSolution in each sub-population is updated. Then, the PartialSolution’s velocity is updated based on the new value of frequency; the best PartialSolution in the corresponding sub-population, and the position (i.e., the PartialSolution itself). After that, the original velocity and the current position are used to generate a new position (i.e., PartialSolution). These operations are shown in the pseudocode of global search in Algorithm 4.
Algorithm 4. Pseudocode of the global search.
Global search (random fly)
For each PartialSolution(pSol) in each sub-population (i)
f i s o l = f m i n + ( f m a x f m i n ) β [ 0 , 1 ] v i g ( p S o l ) = v i g 1 ( p S o l ) + ( x i g 1 ( p S o l ) x b e s t i ) f i p S o l x i g ( p S o l ) = x i g 1 ( p S o l ) + v i g ( p S o l ) S ( x i g ( p S o l ) ) = 1 1 + e x i g ( p S o l ) x i g ( p S o l ) = { 1         i f   S ( x i g ( p S o l ) ) > σ 0                                     o t h e r w i s e if ( A i p S o l r a n d o m [ 0 , 1 ] &   f i t ( x i g ( p S o l ) ) f i t   ( x i g 1 ( s p S o l o l ) ) Accept the new PartialSolution r i g + 1 = r i 0 [ 1 e x p ( γ g ) ] A i g + 1 = α A i g           where   α = γ = 0.9
As shown in Algorithm 4, the frequency of each PartialSolution is updated as in the second line in the pseudocode where f i p S o l is the new frequency of the PartialSolution in sub-population i, f m i n is the minimum frequency, f m a x is the maximum frequency and β is a random number between 0 and 1. Then, the velocity is updated as in the third line in the pseudocode, where v i g ( p S o l ) is the velocity of the PartialSolution in generation g and sub-population i,  v i g 1 ( p S o l ) is the velocity of the PartialSolution in the previous generation and x b e s t i is the best PartialSolution in sub-population i. After that, a new position (i.e., PartialSolution) is generated as in the fourth and fifth lines in the pseudocode, based on the PartialSolution in the previous generation and the velocity. It could be noted that for the position, the sigmoid function is used to restrict the new values into 0 or 1. The last part of this step is to update the PartialSolutions in the sub-population. If the condition of accepting PartialSolution is met (i.e., loudness (Ai) is less than random number from 0 to 1, and the new PartialSolution is better than the previous one based on the adapted dependency measure of rough set theory, which was utilized as fitness function), then, the PartialSolution is accepted and the pulse rate and loudness are updated.

3.3. Cooperative Stage: FullSolutions Evaluation

This stage takes place after every 10 generations (i.e., Evaluate-fullSol-rate = 10, as explained in Section 3.1) of the algorithm. The parameter Evaluate-fullSol-rate determines which generations of the PartialSolutions in different sub-populations will be concatenated and evaluated as FullSolutions. The purpose of this stage is to cooperate between all sub-populations. The cooperation is achieved by concatenating the PartialSolution in hand (e.g., a PartialSolution in sub-population #1) with the best PartialSolutions of other sub-populations (e.g., sub-population #2 to #15) in generation g, so that the whole sub-populations cooperate with each other to evaluate the PartialSolutions. If the condition of evaluating FullSolution is met (i.e., generation % Evaluate-fullSol-rate = 0), then the PartialSolutions are evaluated by following the pseudocode in Algorithm 5, as shown in Figure 5.
Algorithm 5. Pseudocode of the cooperative stage.
Cooperative stage
 if (generation % 10 == 0)
  for each sub-population (i)
   for each PartialSolution
    concatenate with the best solutions of other sub-populations
    evaluate FullSolution
    update the fitness of the PartialSolution
     update the best PartialSolution x b e s t i
As an example for the cooperative stage, suppose that there are three sub-populations, each with three PartialSolutions. Each PartialSolution in sub-population #1 focuses on the best PartialSolutions in sub-populations #2 and #3. Then, the FullSolution with the full dimension (i.e., length = 20) is evaluated using RST-based fitness function. The quality of the PartialSolution is updated based on the new evaluation. The same steps explained in this subsection, are repeated for the PartialSolutions of the other sub-populations. The last step in this stage is to update the best PartialSolution of each sub-population depending on the new fitness values of the PartialSolutions.

3.4. Selection of FinalSolution

This stage takes place when the stopping criteria (i.e., Iter-no >100), is met. In this stage, the saved FullSolutions after each generation are evaluated and the best one is selected as a final solution. As mentioned in the previous sections, after each generation, the best PartialSolutions of all sub-populations are concatenated and saved in the memory. The importance of this stage is due to the nature of the saved FullSolutions as they consist of several parts from several sub-populations. Although each part of these FullSolutions was evaluated and selected as the best PartialSolution within its sub-population in a certain generation, the FullSolution was not evaluated as one set of features. Therefore, to ensure that the final solution is the best one obtained by the algorithm, the saved FullSolutions are evaluated and the best FullSolution is selected as the final solution. Algorithm 6 shows the steps of selecting the final solution.
Algorithm 6. Steps of selection of the final solution.
Selection of final solution
 If (iter-no >100)
   For i = 1 to 100
     Evaluate the saved FullSolution #i
   Select the best FullSolution as the final solution

4. Experimental Setup

This section presents the experimental setup where the BBACO as a text feature selection optimizer is tested on two standard corpora of English text datasets, two Malay datasets, and one Arabic corpus. The pre-processing process, classifier and evaluation metrics used are also presented.

4.1. Pre-Processing

The pre-processing tasks are employed before the BBACO is tested on the text feature selection problem that involve normalization, tokenization, stop words removal and removal of the less frequent words. The normalization process removes non-letters and punctuation marks. Then, the capital letters are converted to small letters. In the tokenization process, the documents are divided into terms. The stop words (words without discriminative meaning) are then removed. Next, the words that rarely appear in the whole corpus are removed as they seem not to be significant to the classification process.

4.2. The Dataset

Three standard datasets including two English corpora namely Reuters-21578 and WebKB, two Malay corpora namely Mix-DS and Harian-Metro and one Arabic corpus namely, Al-Jazeera news are used in order to assess the performance of the proposed approach.

4.2.1. Reuters-21578 Dataset

This dataset contains 21,578 text files, which were collected from the Reuters newswire. These files were non-uniformly divided into 135 classes. This work utilizes the top 10 classes namely earn, acquisition, trade, ship, grain, crude, interest, money-fx, corn and wheat, which contain 4808 documents.

4.2.2. WebKB Dataset

This dataset is a collection of web pages from four different college websites, contains 8282 web pages assigned to 7 classes. In this work, only four classes are used as in the literature, which contains 2803 documents. The utilized classes are student, faculty, course and project.

4.2.3. Mix-DS

This dataset was manually collected from several websites. The total number of documents in this dataset is 12,269, distributed unevenly among 6 categories. Table 2 shows the number of documents in each class and the websites where the documents were collected.

4.2.4. Harian Metro Dataset

The Harian Metro dataset has been collected from the Harian Metro website, and it consists of 7920 documents, distributed evenly (720 documents) among 11 categories namely; Sukan, Bisnes, Pendidikan, Teknologi, Hiburan, Dekotaman, Global, Vroom, Sihat, Sanati and Addin.

4.2.5. Al-Jazeera News Dataset

This dataset consists of 1500 text documents distributed equally among five categories (Economy, Science, Politics, Sport, and Art) and each category has 300 text documents. This dataset was collected from the Al-Jazeera news channel website (www.aljazeera.net) (accessed on 26 March 2022).
In this work, three classification algorithms are used in the experiments, which are Support Vector Machine (SVM), Naïve Bayes (NB) and K-Nearest Neighbor (KNN).

4.3. Evaluation Metric

In this work, the proposed methods are evaluated internally and externally. The internal evaluation concerns itself with the evaluation of the feature selection method, such as the quality and diversity of the population. On the other hand, the external evaluation evaluates the resulting feature set when utilizing it for classification. Although multiple evaluation metrics are utilized for evaluation, the computational cost is not considered as it is one time cost. Thus, the evaluation focuses on the quality of the resulted feature set and the classification results.

4.3.1. Internal Evaluation Metric

For the internal evaluation of the text-feature selection method presented in this work, different evaluation metrics will be used. These metrics are:

Solution Quality

This is also called the fitness value or the objective value of the solution. This value is calculated using the adapted dependency degree measure of RST and the number of features. The following equation is used to evaluate each candidate solution:
Fitness(xi) = p × dep(xi) + (1 − p) × (1/size(xi))
where xi is the feature subset found by solution i. Fitness is calculated based on both the dependency measure of rough set theory (dep(xi)), and the length of the feature subset (size(xi)). p is a parameter that controls the relative weight of dependency value and feature subset length, where p ∈ [0, 1]. This formula denotes that the dependency value and feature subset size have a different effect on the evaluation. In this study, the dependency value is considered to be more important than the subset length, so p is set to 0.8, as in [69,70].

Size of the Selected Feature Set

This metric evaluated the reduction ability of the text-feature selection method. A good method should be able to produce a high-quality feature set with a smaller number of features. The number of features in the resulting feature set is compared with the original number of features before the feature selection process to evaluate the reduction rate.

Reduction Rate

This metric is also used to evaluate the reduction ability of the TFS method in percentage. The reduction rate is calculated based on the number of original features and the number of selected features as:
R e d u c t i o n   r a t e   ( % ) = 100 × # o r i g i n a l   f e a t u r e s # s e l e c t e d   f e a t u r e s   # o r i g i n a l   f e a t u r e s

Diversity during the Search Process

The population’s diversity of different generations in the algorithm (i.e., generations 1, 20, 50, 80 and 100) is measured graphically to evaluate the exploration ability of the algorithm during the search process and its ability to maintain the population’s diversity to later generations.

Convergence Behavior

The convergence of the population is shown graphically to evaluate the ability of the method to keep improving the population and avoid premature convergence. The convergence of the whole population is shown in average, and the convergence of five randomly selected solutions is also shown to show their improvement progress during the search process.

Statistical Tests

The significance test (the t-test: two-sample assuming unequal variances) is conducted as a statistical analysis to compare the algorithms. The t-test is a statistical check of two population means. The t-test was successfully used for comparing two groups of results over multiple datasets for its simplicity, safety and robust results [71]. To perform the t-test, the t State and t Critical two tail values are calculated by Microsoft Excel software. The first group of results is considered significantly higher than the second group if the t State value is greater than the t Critical two tail. The second group of results is considered significantly higher than the first group if the t State value is less than -t Critical two tail. The difference between the two groups’ results is considered not significant if the t State value is in the interval [−t Critical two tail, t Critical two tail].
In this work, the t-test is used for internal evaluation to measure the diversity and quality of the population. The population diversity is measured using the standard deviation values of 32 populations generated. The t-test is also used to measure the average quality of the population. The population’s quality is also measured using Best Relative Error (BRE), Average Relative Error (ARE) and Worst Relative Error (WRE) of the populations, where lesser values represent a better quality of the population.

4.3.2. External Evaluation Metric

The external evaluation concerns the classification performance by employing the selected feature set. The classification performance is measured by multiple evaluation criteria, which are discussed in the following subsections.

Classification Performance

To evaluate the classification performance using the selected feature sets, two widely used performance measures are used namely Micro Average Fl and Macro Average F1. The Macro Average F1 measure depends on precision (P), recall (R) and F-measure, which are calculated for each class as follows:
P = a/(a + b)
P = a/(a + b)
F 1 = 2 p × r p + r
where a is the number of documents correctly classified; b is the number of documents incorrectly classified and c is the number of documents in the class. Macro Average F1 is calculated as below:
F 1 m a c r o = 1 m i = 1 m F 1 ( c i )
where m is the number of classes and F1(ci) is the F1 measure for the ith class.
Micro Average F1 is calculated globally based on the global precision and recall. Calculations for precision and recall for micro averaging as given by [72] are shown below:
P μ = i = 1 m a i i = 1 m ( a i + b i ) R μ = i = 1 m a i i = 1 m ( a i + c i )
where a, b, c, m are the same variables used in the previous equations of precision (P) and recall (R), and μ indicates Micro Averaging. Micro Average F1 is calculated as follows:
F 1 M i c r o = 2 × p μ × R μ p μ × R μ  

Statistical Test

The t-test is conducted as a statistical analysis to compare two groups of classification results. If the difference in the results is above a certain value, this indicates that the text-feature selection method is significantly efficient.

5. Results and Discussion

In this work, the performance of the proposed approach is measured based on the internal and external evaluation metrics as discussed in Section 4.3.

5.1. Internal Evaluation

The performance of the BBACO is compared to BBALHS in terms of population diversity, convergence behavior and the solution quality. Note that BBALHS is a binary Bat algorithm that is modelled based on one population, contrary to the BBACO where it is modelled as a multi-population binary Bat algorithm. In addition, please note that the modified LHS is used to generate initial population(s) for both BBALHS and BBACO.

5.1.1. Population Diversity

Population diversity is represented in the form of a distribution of solutions during the optimization process (i.e., at the 1st, 20th, 50th, 80th and 100th generations). Figure 6 and Figure 7 show the distribution of the solutions for the Reuters and WebKB datasets, respectively. It can be seen that the diversity of the population is well controlled by the BBACO in comparison to BBALHS where poor diversity can be noted after the first quarter of the search process, contrary with the BBACO where the solutions in the population are fairly distributed across the feature space.

5.1.2. Convergence Behavior

A comparison between the results achieved by BBACO and BBALHS is depicted in graphical form to show the convergence behavior as shown in Figure 8 and Figure 9 on the Reuters and WebKB datasets, respectively.
It can be noted that the population of BBACO converged slower than the population of BBALHS due to controlling diversity during the search process. However, the average quality of the solutions at the end of the optimization in BBACO is higher than in BBALHS. From the results of the convergence, it is clear that in BBALHS, the population converge faster and stagnate in the first third of the search process, while in BBACO the convergence is slower and the stagnation occurs by the last third of the search process. As a conclusion, BBALHS initialization could be the best choice if the purpose was improving the whole population within a small number of generations, while BBACO is better if the purpose is controlling the diversity and obtaining a better final solution. Figure 10 and Figure 11 compare the convergence of five randomly selected solutions using BBALHS and BBACO in Reuters and WebKB datasets, respectively.

5.1.3. Statistical Test

The t-test is conducted for multiple groups of results to compare BBALHS and BBACO in terms of the population’s diversity and quality in different generations. The population’s diversity is measured using standard deviation, which is greater for more diverse populations. Moreover, the population’s quality is measured by the average quality of its solutions and the relative errors as shown in the following subsections.

Standard Deviation

The quality dispersion of the solutions in the population is measured on the basis of the standard deviation (SD), which is higher for more diverse distributions and lower for less diverse distributions. SD is calculated as in the equation below. Consequently, the SD of the population in certain generations (1, 20, 50, 80, 100) is calculated and recorded for 32 different runs in BBALHS and BBACO for each dataset. Table 3 shows the results of the t-test which is conducted between the results obtained using BBALHS and BBACO to investigate whether or not they are statistically different:
S D = i = 1 n ( f i t n e s s i f i t n e s s ¯ ) 2 n    
where SD stands for standard deviation; n is the population size; fitnessi is the fitness of solution i; f i t n e s s ¯ is the average fitness of the initial population.
Table 3 shows that the SD of the population in the selected generations for both datasets using BBACO is significantly higher than the SD when BBALHS is used. Additionally, it could be stated that when using the t-test, the first group of results is significantly higher than the second group of results when t State is greater than t Critical two-tail. On the other hand, if t State is less than −t Critical two-tail, this means that the results in the second group are significantly higher than the results in the first group. Meanwhile, if t State is within the interval [−t Critical two-tail, t Critical two-tail], the difference is not considered to be significant.
The results in Table 3 show that t State is higher than t Critical two-tail in all the selected generations. The value of t State is higher than t Critical two-tail in all generations. The results of the t-test indicate that the population diversity which is expressed by standard deviation, is higher in BBACO during the search process. This reveals the ability of BBACO to control the population’s diversity during the search process.

Population Quality

In order to measure the population quality, the average quality of the solutions will be used. This measure was utilized by the authors of [73] to measure the population quality. It is defined as the average quality of solutions in the population, as given in the following equation:
p o p u l a t i o n   q u a l i t y   ( % ) = ( 1   f i t n e s s ¯ b e s t k n o w n b e s t k n o w n )
where f i t n e s s ¯ is the average quality (i.e., dependency value; fitness) of solutions in the population; b e s t k n o w n is the best-known quality that the solution could reach.
The population quality in certain generations (1, 20, 50, 80, 100) is calculated and recorded for 32 different runs in BBALHS and BBACO for each dataset. Table 4 shows the results of the t-test which is conducted for average population quality that are obtained using BBALHS and BBACO on the Reuters and WebKB datasets.
Table 4 shows that the average population quality in the early stages of the search process (i.e., generation 1 and 20) is significantly better with BBALHS in both datasets. By the second half of the search process (i.e., generation 50) the average population quality with BBACO improved and statistically outperformed the quality with BBALHS, in the Reuters dataset. In WebKB, the average population quality obtained by BBACO statistically outperformed the quality obtained by BBALHS by the last quarter of the search process (i.e., generation 80). In both datasets, the quality of the population in the end of search process is statistically better with BBACO than BBALHS.
From the results of the statistical test, it is clear that the population with BBACO improves more slowly than that of BBALHS. However, the population with BBACO converges with better quality than that of BBALHS. The reason behind the slow improvement of the population with BBACO is the controlling of diversity by the cooperative coevolving strategy. In this way, the algorithm is allowed to continue exploring a wider range of the search space, which significantly improves the final solution.

Relative Errors

The relative errors include Best Relative Error (BRE), Worst Relative Error (WRE) and Average Relative Error (ARE). BRE, WRE and ARE can be used to measure how far the distance between the best and worst solutions and the average quality of the population from the best-known quality that could be achieved by the solution. Whenever the error rate of a solution decreases, the solution becomes closer to the optimum solution. BRE, WRE and ARE have been used to compare BBACO with BBALHS in certain generations (i.e., 1, 20, 50, 80, 100). The t-tests of BRE in the selected generations with BBALHS and BBACO are shown in Table 5.
Observing the values of t State and t Critical two-tail in Table 5, it is clear that the BRE of the populations of BBACO are significantly higher in the beginning of the search process, in both datasets. By the end of the first half (i.e., generation 50), the difference between BRE in the two groups of results reveals no significance in both of the datasets. By the later generations of the search process (i.e., generations 80 and 100), the BRE with BBACO reduced and became significantly less than that of BBALHS in both datasets. The results of the statistical test for BRE indicate that in the beginning of the search process, the best solution in BBALHS outperforms that of BBACO. Then, with the progress of the search process, the best solution of BBACO improves until it outperforms that of BBALHS. This shows that BBACO is less subjected to stagnation than BBALHS. The t-test of ARE in the selected generations with BBALHS and BBACO are shown in Table 6.
As shown in Table 6, the ARE of BBACO population is significantly higher than that of BBALHS at the beginning of the search process in both datasets. In later generations (i.e., generations 20 and 50), the ARE of the population of BBACO keeps reducing but the difference with the other group (i.e., ARE of the population of BBALHS) is not statistically significant, in the Reuters dataset. By the last quarter of the search process (i.e., generations 80 and 100), the ARE of the population of BBACO became statistically lower than that of BBALHS, in the Reuters dataset. In the WebKB dataset, the ARE of BBACO was significantly higher than that of BBALHS within the first half of the search process. Later, the ARE of the BBACO population keeps reducing, but the difference with the other group is not significant. The results of ARE are consistent with those of BRE, as the population in BBACO improves slower than that of BBALHS because of controlling diversity. The T-test of WRE in the selected generations with BBALHS and BBACO is shown in Table 7.
The results in Table 7 indicate that WRE is significantly higher in the populations of BBACO until the end of the search process in the Reuters dataset. In the WebKB dataset, WRE remains significantly higher with BBACO than BBALHS within the first quarter of the search process. Then, the difference of WRE between both populations of BBACO and BBALHS became not significant until later generations. By the end of the search process, WRE of the BBACO population became significantly higher than that of BBALHS population. The reason behind that is that the populations of BBACO are more diverse, and thus, the solutions are more distributed in the search space until the later generations. In contrast, the solutions of BBALHS population in the later generations are found to be closer to each other. In this way, the quality of the worst solution with BBALHS remains better than the one with BBACO in Reuters dataset.

The Quality and Reduction Rate of the Selected Feature Set

This subsection compares BBACO and BBALHS in terms of the quality of the final solution (i.e., the resultant feature set), the size of the selected feature set and the reduction rate. Table 8 and Table 9 compare the two methods based on the mentioned metrics in the Reuters and WebKB datasets, respectively.
Table 8 and Table 9 clearly show that BBACO improves the quality and the reduction rate of the selected feature set compared with the BBALHS results. The improvement is likely attributed to the ability of BBACO to combine the advantages of dividing the solutions into smaller parts and to maintain the populations’ diversity. Dividing the solution into smaller solutions allows BBACO to better optimize the solution components (i.e., parts) resulting in a better final solution. The cooperative coevolving strategy in BBACO directs the algorithm to better convergence.

5.2. External Evaluation

This section compares the classification results obtained by the feature sets generated by BBACO and BBALHS for the Reuters and WebKB datasets. In order to compare the classification performance using BBA-based methods, the classification is also conducted using Chi-Square (CHI), Information Gain (IG) and Gini Index (GI) feature-selection methods, which were successfully used in the literature for TFS [74,75,76]. Micro Average F1 and Macro Average F1 are used as performance measures for text classification. Some of the best classification results are shown in Table 10 comparing BBACO with BBALHS, CHI, IG and GI.
Table 10 shows the classification results of the Reuters and WebKB datasets using three classifiers (i.e., NB, SVM and KNN) in Micro Average F1 and Macro Average F1. The results clearly show the improvement in the classification performance with all classifiers when using BBA-based TFS methods. In addition, BBACO improves the classification performance over BBALHS as a result of the improved feature sets selected by BBACO. Table 11, Table 12, Table 13 and Table 14 show the classification results in terms of Precision, Recall and F-measure for the Reuters and WebKB datasets using BBALHS and BBACO, respectively.
Table 13 and Table 14 clearly show the improvement in the classification results when using BBACO as a TFS method. Comparing the classification results achieved by BBACO with those of BBALHS (i.e., Table 11 and Table 12), it is found that the average F is improved with the three classifiers in both datasets. From the experimental results, it is shown that dividing the solutions into smaller ones and optimizing each part then improved the resulting final solution, controlled the population’s diversity and improved the classification performance as a result of the improved selected feature set. In order to test if the performance of BBACO is significantly better than that of BBALHS, the t-test needs to be applied to their classification results. The results of the statistical test are presented in Table 15.
As shown in Table 15, the value of t State is less than -t critical two-tail in all cases. These results indicate that the second group of the classification results is significantly higher than the first group (i.e., the classification results obtained by using the selected feature set by BBALHS). The reason behind that is attributed to the cooperative coevolving strategy that is utilized in BBACO, which improves the performance of the text-feature selection method by dividing the solution into smaller ones with a smaller dimension than the original full solution. This way, optimizing each part separately improves the performance and controls the diversity of the population.

5.3. Results on Non-English Datasets

This section investigates the ability of the proposed text-feature selection method to be generalized for different languages. Therefore, the two variants of the proposed text-feature selection method i.e., BBALHS and BBACO, are tested on two Malay and one Arabic datasets. The quality of the selected feature sets, the number of the selected features and reduction rate are reported in this section. Furthermore, the classification results utilizing three classifiers (i.e., NB, SVM and KNN) are reported and discussed.

5.3.1. Results of Malay Datasets

The classification results of Malay datasets utilizing three classifiers and the two versions of the proposed method are reported in this subsection. The results are also compared with the classification results using no feature selection method and using Chi-Square feature selection method. Chi-Square is a well-known method that has been successfully utilized for feature selection [9,74,77]. Firstly, the characteristics of the resulting feature sets by BBALHS and BBACO are displayed in Table 16 and Table 17 for Mix-DS and Harian Metro dataset, respectively. Then, the classification results are reported in Table 18.
Table 16 and Table 17 compare the performance of BBALHS and BBACO in terms of quality, number of selected features and reduction rate. The tables show that both methods are able to reduce the dimensionality of the feature space efficiently. In addition, it is clear that BBACO outperforms BBALHS in terms of the quality of the feature set and the reduction rate. Table 18 reports the classification results using the selected feature sets by BBACO compared with the selected sets by Chi-square, BBALHS and with the original feature set. The impact of using an efficient feature selection method is clear, which is consistent with what has been concluded in the literature. It is clear how Chi-square has improved the classification results over the original dataset. However, the classification performance with BBALHS and BBACO is clearly improved over Chi-square. The results demonstrate the ability of BBA-based methods to select discriminative feature sets. Furthermore, using a coevolutionary technique has clearly improved the performance of the TFS method, which has been reflected in the improved classification results. Table 19 and Table 20 show the classification results in terms of precision, recall and F-measure for Mix-DS and Harian Metro dataset, respectively.

5.3.2. Results of Arabic Dataset

The classification results of the Arabic dataset utilizing three classifiers are reported in this subsection. The quality of the selected feature sets, the number of the selected features and reduction rate are also reported in Table 21.
Table 21 compares the performance of BBALHS and BBACO in terms of quality, number of selected features and reduction rate. It is noticeable that both methods were efficient in reducing the feature set. It is also clear that BBACO outperforms BBALHS with all classes, which indicates the efficiency of the proposed coevolutionary technique.
The classification results in terms of average precision, average recall and Macro average F1 are reported and compared with the state-of-the-art results in Table 22. The state-of-the-art studies in the TFS field utilized different datasets, classifiers and evaluation measures. However, the experimental setting such as the utilized database, classifiers and evaluation metrics should be same in order to reach fair comparison. Thus, few studies are comparable with the proposed method for using the same experimental setting. The methods used for comparison are:
  • Binary Particle Swarm Optimization with k-nearest neighbor (BPSO-KNN) [78];
  • Enhanced Genetic Algorithm (EGA) [69];
  • Category relevant feature measure (CRFM) [79].
The authors of [78] combined Binary PSO and k-nearest neighbor to select a feature set for Arabic text classification. They used three Arabic datasets and three classifiers to evaluate the performance of their method. A feature selection method based on Enhanced Genetic Algorithm (EGA) was proposed in the study by [69]. Their method was evaluated using three Arabic datasets and two classification algorithms namely NB and AC. The same datasets and classification algorithms were used in the study of [79] which proposed three enhanced feature selection methods. However, the results of CRFM have been used in the comparison as it performs better than the other two methods. In the current study, the classification was performed using NB and SVM that where successfully utilized in previous studies for text classification [69,78,79,80].
Table 22. Classification results of BBAR, BBALHS, and BBACO on Al-Jazeera news dataset compared with state-of-the-art results.
Table 22. Classification results of BBAR, BBALHS, and BBACO on Al-Jazeera news dataset compared with state-of-the-art results.
MetricClassifierBPSO-KNNEGACRFMBBALHSBBACO
Macro Average precisionNB85.769188.7791.3491.64
SVM93.7--90.8692.22
Macro Average RecallNB84.3490.6688.3390.4291.09
SVM92.98--91.5892.88
Macro Average F1NB84.6390.8388.5590.7391.24
SVM93.12--91.0792.42
Table 22 reports the classification results of the two variants of BBA-based TFS methods compared with three state-of-the-art results. Based on Table 22, it is obvious that the results of NB with BBAco outperform the results of all other methods. On the other hand, the results of SVM with BPSO-KNN outperform the results of the other methods. However, unlike BPSO-KNN, the proposed BBA-based methods likely perform above 90% with both utilized classifiers. Hence, it is clear that the proposed BBA-based TFS methods are efficient with the Arabic dataset. Table 23 shows the classification results of the Al-Jazeera news dataset with BBALHS and BBAco in terms of precision, recall and F-measure.
Table 23 shows that the average precision, recall and F-measure with BBACO are clearly higher than those of BBALHS in terms of average precision, recall and F-measure in all cases. These results demonstrate the efficiency of the proposed TFS method with the Arabic dataset. This successfully shows that the proposed BBA-based text-feature selection method is applicable with the Arabic language.
In order to test whether the improvement of BBACO over BBALHS is significant or not, the statistical test (i.e., the t-test) is performed to the classification results of both methods. The statistical test compares the results of BBALHS with those of BBACO using NB and SVM classifiers. The t-test is conducted for the results of BBALHS vs. BBACO, to test whether the difference is significant or not. The results of the t-test are reported in Table 24.
As shown in Table 24, the value of t State is less than -t Critical two-tail with both classifiers. These results indicate that the second group of classification results (i.e., the classification results obtained using the selected feature set by BBACO) is significantly higher than the first group (i.e., the classification results obtained using the selected feature set by BBALHS). These results demonstrate the efficiency of BBACO to improve the resulting feature set, and therefore improve the classification performance by utilizing the coevolutionary technique as explained above in order to generating a better feature set.
Observing the results of the five utilized datasets in this study, namely Reuters, WebKB, Mix-DS, Harian Metro dataset and Aljazeera news dataset, it is noticed that the proposed text-feature selection method has a similar effect to all datasets, regardless of the language. The reason behind that is mostly attributed to the nature of BBA-based TFS methods, which depend on the mathematical calculations and do not consider the semantic attributes. Therefore, the performance of the proposed methods is independent from the dataset language.

6. Conclusions

Feature selection is a crucial step in text classification in order to overcome the high dimensionality of the feature space and improve the classification accuracy. Thus, many feature selection methods have been proposed in the literature. Those methods could be ranking methods, which rank the features and select the top ranked ones, or meta-heuristic-based methods that work as a wrapper around certain classification algorithms. However, the ranking methods ignore the correlation between features, while the wrappers are classifier-dependent. To overcome those limitations, this paper introduced the cooperative binary Bat algorithm (BBACO) and investigated its performance for the text feature selection. The quality of the final solution and the number of selected features are also compared with those of BBALHS; in order to test the impact of cooperative BBA.
The text classification was performed on two slandered English datasets, namely Reuters and WebKB, to evaluate the discriminative ability of the produced feature set using BBACO. The best classification results obtained with BBACO were 94% and 92.8% in terms of Micro Average for the Reuters and WebKB datasets, respectively. In comparison, the best results obtained by the other methods were 90.5% and 89.3% for the Reuters and WebKB datasets, respectively, and those results were obtained by IG. The text classification was also performed for two Malay and one Arabic datasets. The statistical test demonstrated that the improvement of the classification performance was significant. The experimental results in this work have shown the ability of the proposed method to improve the final solution, control the population’s diversity and improve the text classification accuracy. In addition, the proposed method was approved to be general in terms of dataset language.
For future work, the proposed coevolutionary method could be tested on a different population-based meta-heuristic algorithms to evaluate its performance. Additionally, the proposed coevolutionary method could be adapted to different high dimensional optimization problems. Moreover, designing a feature selection method based on parallel BBA could also be a better option for very high-dimensional datasets.

Author Contributions

Conceptualization, S.A.; Funding acquisition, N.O. and S.A.; Investigation, A.A.; Project administration, N.O.; Resources, A.A.-S.; Software, A.A. and A.A.-S.; Supervision, N.O. and S.A.; Writing—original draft, A.A.; Writing—review & editing, N.O. and S.A. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the grant FRGS/1/2020/ICT02/UKM/02/6 and TAP-K007009.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not Applicable, the study does not report any data.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Deng, X.; Li, Y.; Weng, J.; Zhang, J. Feature selection for text classification: A review. Multimed. Tools Appl. 2018, 78, 3797–3816. [Google Scholar] [CrossRef]
  2. Namous, F.; Faris, H.; Heidari, A.A.; Khalafat, M.; Alkhawaldeh, R.S.; Ghatasheh, N. Evolutionary and swarm-based feature selection for imbalanced data classification. In Evolutionary Machine Learning Techniques; Springer: Berlin/Heidelberg, Germany, 2020; pp. 231–250. [Google Scholar]
  3. Pervaiz, U.; Khawaldeh, S.; Aleef, T.A.; Minh, V.H.; Hagos, Y.B. Activity monitoring and meal tracking for cardiac rehabilitation patients. Int. J. Med. Eng. Inform. 2018, 10, 252–264. [Google Scholar] [CrossRef]
  4. Elminaam, D.S.A.; Nabil, A.; Ibraheem, S.A.; Houssein, E.H. An Efficient Marine Predators Algorithm for Feature Selection. IEEE Access 2021, 9, 60136–60153. [Google Scholar] [CrossRef]
  5. Abdel-Basset, M.; El-Shahat, D.; El-Henawy, I.; de Albuquerque, V.H.C.; Mirjalili, S. A new fusion of grey wolf optimizer algorithm with a two-phase mutation for feature selection. Expert Syst. Appl. 2020, 139, 112824. [Google Scholar] [CrossRef]
  6. Qaraad, M.; Amjad, S.; Hussein, N.K.; Elhosseini, M.A. Large scale salp-based grey wolf optimization for feature selection and global optimization. Neural Comput. Appl. 2022, 34, 8989–9014. [Google Scholar] [CrossRef]
  7. Labani, M.; Moradi, P.; Jalili, M. A multi-objective genetic algorithm for text feature selection using the relative discriminative criterion. Expert Syst. Appl. 2020, 149, 113276. [Google Scholar] [CrossRef]
  8. Al-Dyani, W.Z.; Ahmad, F.K.; Kamaruddin, S.S. Binary Bat Algorithm for text feature selection in news events detection model using Markov clustering. Cogent Eng. 2021, 9, 2010923. [Google Scholar] [CrossRef]
  9. BinSaeedan, W.; Alramlawi, S. CS-BPSO: Hybrid feature selection based on chi-square and binary PSO algorithm for Arabic email authorship analysis. Knowl.-Based Syst. 2021, 227, 107224. [Google Scholar] [CrossRef]
  10. Feng, J.; Kuang, H.; Zhang, L. EBBA: An Enhanced Binary Bat Algorithm Integrated with Chaos Theory and Lévy Flight for Feature Selection. Future Internet 2022, 14, 178. [Google Scholar] [CrossRef]
  11. Hashemi, A.; Joodaki, M.; Joodaki, N.Z.; Dowlatshahi, M.B. Ant colony optimization equipped with an ensemble of heuristics through multi-criteria decision making: A case study in ensemble feature selection. Appl. Soft Comput. 2022, 124, 109046. [Google Scholar] [CrossRef]
  12. Ibrahim, A.M.; Tawhid, M.A. A new hybrid binary algorithm of bat algorithm and differential evolution for feature selection and classification. In Applications of bat Algorithm and Its Variants; Springer: Berlin/Heidelberg, Germany, 2021; pp. 1–18. [Google Scholar]
  13. Li, A.-D.; Xue, B.; Zhang, M. Improved binary particle swarm optimization for feature selection with new initialization and search space reduction strategies. Appl. Soft Comput. 2021, 106, 107302. [Google Scholar] [CrossRef]
  14. Ma, W.; Zhou, X.; Zhu, H.; Li, L.; Jiao, L. A two-stage hybrid ant colony optimization for high-dimensional feature selection. Pattern Recognit. 2021, 116, 107933. [Google Scholar] [CrossRef]
  15. Paul, D.; Jain, A.; Saha, S.; Mathew, J. Multi-objective PSO based online feature selection for multi-label classification. Knowl.-Based Syst. 2021, 222, 106966. [Google Scholar] [CrossRef]
  16. Tripathi, D.; Reddy, B.R.; Reddy, Y.P.; Shukla, A.K.; Kumar, R.K.; Sharma, N.K. BAT algorithm based feature selection: Application in credit scoring. J. Intell. Fuzzy Syst. 2021, 41, 5561–5570. [Google Scholar] [CrossRef]
  17. Xue, Y.; Zhu, H.; Liang, J.; Słowik, A. Adaptive crossover operator based multi-objective binary genetic algorithm for feature selection in classification. Knowl.-Based Syst. 2021, 227, 107218. [Google Scholar] [CrossRef]
  18. Yasaswini, V.; Baskaran, S. An Optimization of Feature Selection for Classification Using Modified Bat Algorithm. In Advanced Computing and Intelligent Technologies; Springer: Berlin/Heidelberg, Germany, 2022; pp. 389–399. [Google Scholar]
  19. Alim, A.; Naseem, I.; Togneri, R.; Bennamoun, M. The most discriminant subbands for face recognition: A novel information-theoretic framework. Int. J. Wavelets Multiresolution Inf. Process 2018, 16, 1850040. [Google Scholar] [CrossRef]
  20. Yang, X.-S. A new metaheuristic bat-inspired algorithm. In Nature Inspired Cooperative Strategies for Optimization (NICSO 2010); Springer: Berlin/Heidelberg, Germany, 2010; pp. 65–74. [Google Scholar]
  21. Al-Betar, M.A.; Alomari, O.A.; Abu-Romman, S.M. A TRIZ-inspired bat algorithm for gene selection in cancer classification. Genomics 2019, 112, 114–126. [Google Scholar] [CrossRef]
  22. Alsalibi, B.; Abualigah, L.; Khader, A.T. A novel bat algorithm with dynamic membrane structure for optimization problems. Appl. Intell. 2020, 51, 1992–2017. [Google Scholar] [CrossRef]
  23. Devi, D.R.; Sasikala, S. Online Feature Selection (OFS) with Accelerated Bat Algorithm (ABA) and Ensemble Incremental Deep Multiple Layer Perceptron (EIDMLP) for big data streams. J. Big Data 2019, 6, 103. [Google Scholar] [CrossRef] [Green Version]
  24. Dhal, K.G.; Das, S. Local search-based dynamically adapted bat algorithm in image enhancement domain. Int. J. Comput. Sci. Math. 2020, 11, 1–28. [Google Scholar] [CrossRef]
  25. Gupta, D.; Arora, J.; Agrawal, U.; Khanna, A.; de Albuquerque, V.H.C. Optimized Binary Bat algorithm for classification of white blood cells. Measurement 2019, 143, 180–190. [Google Scholar] [CrossRef]
  26. Lu, Y.; Jiang, T. Bi-Population Based Discrete Bat Algorithm for the Low-Carbon Job Shop Scheduling Problem. IEEE Access 2019, 7, 14513–14522. [Google Scholar] [CrossRef]
  27. Nakamura RY, M.; Pereira LA, M.; Rodrigues, D.; Costa KA, P.; Papa, J.P.; Yang, X.S. Binary bat algorithm for feature selection. In Swarm Intelligence and Bio-Inspired Computation; Elsevier: Amsterdam, The Netherlands, 2013; pp. 225–237. [Google Scholar]
  28. Ebrahimpour, M.K.; Nezamabadi-Pour, H.; Eftekhari, M. CCFS: A cooperating coevolution technique for large scale feature selection on microarray datasets. Comput. Biol. Chem. 2018, 73, 171–178. [Google Scholar] [CrossRef]
  29. Elaziz, M.A.; Ewees, A.A.; Neggaz, N.; Ibrahim, R.A.; Al-Qaness, M.A.; Lu, S. Cooperative meta-heuristic algorithms for global optimization problems. Expert Syst. Appl. 2021, 176, 114788. [Google Scholar] [CrossRef]
  30. Karmakar, K.; Das, R.K.; Khatua, S. An ACO-based multi-objective optimization for cooperating VM placement in cloud data center. J. Supercomput. 2021, 78, 3093–3121. [Google Scholar] [CrossRef]
  31. Li, H.; He, F.; Chen, Y.; Pan, Y. MLFS-CCDE: Multi-objective large-scale feature selection by cooperative coevolutionary differential evolution. Memetic Comput. 2021, 13, 1–18. [Google Scholar] [CrossRef]
  32. Rashid, A.N.M.B.; Ahmed, M.; Sikos, L.F.; Haskell-Dowland, P. Cooperative co-evolution for feature selection in Big Data with random feature grouping. J. Big Data 2020, 7, 107. [Google Scholar] [CrossRef]
  33. Valenzuela-Alcaraz, V.M.; Cosío-León, M.; Romero-Ocaño, A.D.; Brizuela, C.A. A cooperative coevolutionary algorithm approach to the no-wait job shop scheduling problem. Expert Syst. Appl. 2022, 194, 116498. [Google Scholar] [CrossRef]
  34. Jarray, R.; Al-Dhaifallah, M.; Rezk, H.; Bouallègue, S. Parallel Cooperative Coevolutionary Grey Wolf Optimizer for Path Planning Problem of Unmanned Aerial Vehicles. Sensors 2022, 22, 1826. [Google Scholar] [CrossRef]
  35. Jafarian, A.; Rabiee, M.; Tavana, M. A novel multi-objective co-evolutionary approach for supply chain gap analysis with consideration of uncertainties. Int. J. Prod. Econ. 2020, 228, 107852. [Google Scholar] [CrossRef]
  36. Zhang, G.; Liu, B.; Wang, L.; Yu, D.; Xing, K. Distributed Co-Evolutionary Memetic Algorithm for Distributed Hybrid Differentiation Flowshop Scheduling Problem. IEEE Trans. Evol. Comput. 2022, 26, 1043–1057. [Google Scholar] [CrossRef]
  37. Peng, X.; Jin, Y.; Wang, H. Multimodal Optimization Enhanced Cooperative Coevolution for Large-Scale Optimization. IEEE Trans. Cybern. 2018, 49, 3507–3520. [Google Scholar] [CrossRef]
  38. Camacho-Vallejo, J.-F.; Garcia-Reyes, C. Co-evolutionary algorithms to solve hierarchized Steiner tree problems in telecommunication networks. Appl. Soft Comput. 2019, 84, 105718. [Google Scholar] [CrossRef]
  39. Xue, X.; Pan, J.-S. A Compact Co-Evolutionary Algorithm for sensor ontology meta-matching. Knowl. Inf. Syst. 2017, 56, 335–353. [Google Scholar] [CrossRef]
  40. Akinola, A. Implicit Multi-Objective Coevolutionary Algorithm; University of Guelph: Guelph, ON, Canada, 2019. [Google Scholar]
  41. Costa, V.; Lourenço, N.; Machado, P. Coevolution of generative adversarial networks. In Proceedings of the International Conference on the Applications of Evolutionary Computation (Part of EvoStar), Leipzig, Germany, 24–26 April 2019; Springer: Berlin/Heidelberg, Germany, 2019. [Google Scholar]
  42. Wen, Y.; Xu, H. A cooperative coevolution-based pittsburgh learning classifier system embedded with memetic feature selection. In Proceedings of the 2011 IEEE Congress of Evolutionary Computation (CEC), New Orleans, LA, USA, 5–8 June 2011; IEEE: Piscataway, NJ, USA, 2011. [Google Scholar]
  43. Bergh, F.V.D.; Engelbrecht, A. A Cooperative Approach to Particle Swarm Optimization. IEEE Trans. Evol. Comput. 2004, 8, 225–239. [Google Scholar] [CrossRef]
  44. Krohling, R.A.; Coelho, L.D.S. Coevolutionary Particle Swarm Optimization Using Gaussian Distribution for Solving Constrained Optimization Problems. IEEE Trans. Syst. Man Cybern. Part B 2006, 36, 1407–1416. [Google Scholar] [CrossRef]
  45. Yang, Z.; Tang, K.; Yao, X. Large scale evolutionary optimization using cooperative coevolution. Inf. Sci. 2008, 178, 2985–2999. [Google Scholar] [CrossRef] [Green Version]
  46. Goh, C.; Tan, K.; Liu, D.; Chiam, S. A competitive and cooperative co-evolutionary approach to multi-objective particle swarm optimization algorithm design. Eur. J. Oper. Res. 2010, 202, 42–54. [Google Scholar] [CrossRef]
  47. Li, X.; Yao, X. Cooperatively Coevolving Particle Swarms for Large Scale Optimization. IEEE Trans. Evol. Comput. 2011, 16, 210–224. [Google Scholar] [CrossRef]
  48. Jiao, L.; Wang, H.; Shang, R.; Liu, F. A co-evolutionary multi-objective optimization algorithm based on direction vectors. Inf. Sci. 2013, 228, 90–112. [Google Scholar] [CrossRef]
  49. Wang, M.; Wang, X.; Wang, Y.; Wei, Z. An Adaptive Co-evolutionary Algorithm Based on Genotypic Diversity Measure. In Proceedings of the 2014 Tenth International Conference on Computational Intelligence and Security, Kunming, China, 15–16 November 2014; IEEE: Piscataway, NJ, USA, 2014. [Google Scholar]
  50. Jiang, W.-Y.; Lin, Y.; Chen, M.; Yu, Y.-Y. A co-evolutionary improved multi-ant colony optimization for ship multiple and branch pipe route design. Ocean Eng. 2015, 102, 63–70. [Google Scholar] [CrossRef]
  51. Pan, Q.-K. An effective co-evolutionary artificial bee colony algorithm for steelmaking-continuous casting scheduling. Eur. J. Oper. Res. 2016, 250, 702–714. [Google Scholar] [CrossRef]
  52. Gong, M.; Li, H.; Luo, E.; Liu, J.; Liu, J. A Multiobjective Cooperative Coevolutionary Algorithm for Hyperspectral Sparse Unmixing. IEEE Trans. Evol. Comput. 2016, 21, 234–248. [Google Scholar] [CrossRef]
  53. Atashpendar, A.; Dorronsoro, B.; Danoy, G.; Bouvry, P. A scalable parallel cooperative coevolutionary PSO algorithm for multi-objective optimization. J. Parallel Distrib. Comput. 2018, 112, 111–125. [Google Scholar] [CrossRef]
  54. Jia, Y.-H.; Chen, W.-N.; Gu, T.; Zhang, H.; Yuan, H.-Q.; Kwong, S.; Zhang, J. Distributed Cooperative Co-Evolution With Adaptive Computing Resource Allocation for Large Scale Optimization. IEEE Trans. Evol. Comput. 2018, 23, 188–202. [Google Scholar] [CrossRef]
  55. Yaman, A.; Mocanu, D.C.; Iacca, G.; Fletcher, G.; Pechenizkiy, M. Limited evaluation cooperative co-evolutionary differential evolution for large-scale neuroevolution. In Proceedings of the Genetic and Evolutionary Computation Conference, Kyoto, Japan, 15–19 July 2018; pp. 569–576. [Google Scholar] [CrossRef] [Green Version]
  56. Sun, L.; Lin, L.; Gen, M.; Li, H. A Hybrid Cooperative Coevolution Algorithm for Fuzzy Flexible Job Shop Scheduling. IEEE Trans. Fuzzy Syst. 2019, 27, 1008–1022. [Google Scholar] [CrossRef]
  57. Sun, W.; Wu, Y.; Lou, Q.; Yu, Y. A Cooperative Coevolution Algorithm for the Seru Production With Minimizing Makespan. IEEE Access 2019, 7, 5662–5670. [Google Scholar] [CrossRef]
  58. Fu, G.; Wang, C.; Zhang, D.; Zhao, J.; Wang, H. A Multiobjective Particle Swarm Optimization Algorithm Based on Multipopulation Coevolution for Weapon-Target Assignment. Math. Probl. Eng. 2019, 2019, 1424590. [Google Scholar] [CrossRef]
  59. Xiao, Q.-Z.; Zhong, J.; Feng, L.; Luo, L.; Lv, J. A Cooperative Coevolution Hyper-Heuristic Framework for Workflow Scheduling Problem. IEEE Trans. Serv. Comput. 2019, 15, 150–163. [Google Scholar] [CrossRef]
  60. Derrac, J.; García, S.; Herrera, F. IFS-CoCo: Instance and feature selection based on cooperative coevolution with nearest neighbor rule. Pattern Recognit. 2010, 43, 2082–2105. [Google Scholar] [CrossRef]
  61. Derrac, J.; García, S.; Herrera, F. A first study on the use of coevolutionary algorithms for instance and feature selection. In Proceedings of the International Conference on Hybrid Artificial Intelligence Systems, Salamanca, Spain, 10–12 June 2009; Springer: Berlin/Heidelberg, Germany, 2009. [Google Scholar]
  62. Tian, J.; Li, M.; Chen, F. Dual-population based coevolutionary algorithm for designing RBFNN with feature selection. Expert Syst. Appl. 2010, 37, 6904–6918. [Google Scholar] [CrossRef]
  63. Ding, W.-P.; Lin, C.-T.; Prasad, M.; Chen, S.-B.; Guan, Z.-J. Attribute Equilibrium Dominance Reduction Accelerator (DCCAEDR) Based on Distributed Coevolutionary Cloud and Its Application in Medical Records. IEEE Trans. Syst. Man Cybern. Syst. 2015, 46, 384–400. [Google Scholar] [CrossRef]
  64. Cheng, Y.; Zheng, Z.; Wang, J.; Yang, L.; Wan, S. Attribute Reduction Based on Genetic Algorithm for the Coevolution of Meteorological Data in the Industrial Internet of Things. Wirel. Commun. Mob. Comput. 2019, 2019, 3525347. [Google Scholar] [CrossRef]
  65. Pawlak, Z. Rough sets. Int. J. Comput. Inf. Sci. 1982, 11, 341–356. [Google Scholar] [CrossRef]
  66. Taguchi, G. System of Experimental Design; Engineering Methods to Optimize Quality and Minimize Costs. 1987. Available online: https://openlibrary.org/books/OL14475330M/System_of_experimental_design (accessed on 25 October 2022).
  67. Conover, W. On a Better Method of Selecting Values of Input Variables for Computer Codes. 1975. Unpublished Manuscript. Available online: https://www.tandfonline.com/doi/abs/10.1080/00401706.2000.10485979 (accessed on 25 October 2022).
  68. Hamdan, M.; Qudah, O. The initialization of evolutionary multi-objective optimization algorithms. In Proceedings of the International Conference in Swarm Intelligence, Beijing, China, 25–28 June 2015; Springer: Berlin/Heidelberg, Germany, 2015. [Google Scholar]
  69. Ghareb, A.S.; Abu Bakar, A.; Hamdan, A.R. Hybrid feature selection based on enhanced genetic algorithm for text categorization. Expert Syst. Appl. 2016, 49, 31–47. [Google Scholar] [CrossRef]
  70. Aghdam, M.H.; Heidari, S. Feature Selection Using Particle Swarm Optimization in Text Categorization. J. Artif. Intell. Soft Comput. Res. 2015, 5, 231–238. [Google Scholar] [CrossRef] [Green Version]
  71. Abdul-Rahman, S.; Bakar, A.A.; Mohamed-Hussein, Z.-A. An Improved Particle Swarm Optimization via Velocity-Based Reinitialization for Feature Selection. In Proceedings of the International Conference on Soft Computing in Data Science, Putrajaya, Malaysia, 2–3 September 2015; Springer: Berlin/Heidelberg, Germany, 2015. [Google Scholar]
  72. Rehman, A.; Javed, K.; Babri, H.A. Feature selection based on a normalized difference measure for text classification. Inf. Process. Manag. 2017, 53, 473–489. [Google Scholar] [CrossRef]
  73. Paul, P.V.; Dhavachelvan, P.; Baskaran, R. A novel population initialization technique for genetic algorithm. In Proceedings of the 2013 International Conference on Circuits, Power and Computing Technologies (ICCPCT), Nagercoil, India, 20–21 March 2013; IEEE: Piscataway, NJ, USA, 2013. [Google Scholar]
  74. Zhai, Y.; Song, W.; Liu, X.; Liu, L.; Zhao, X. A chi-square statistics based feature selection method in text classification. In Proceedings of the 2018 IEEE 9th International Conference on Software Engineering and Service Science (ICSESS), Beijing, China, 23–25 November 2018; IEEE: Piscataway, NJ, USA, 2018. [Google Scholar]
  75. Ahmad, I.S.; Abu Bakar, A.; Yaakub, M.R. A review of feature selection in sentiment analysis using information gain and domain specific ontology. Int. J. Adv. Comput. Res. 2019, 9, 283–292. [Google Scholar] [CrossRef]
  76. Algehyne, E.A.; Jibril, M.L.; Algehainy, N.A.; Alamri, O.A.; Alzahrani, A.K. Fuzzy Neural Network Expert System with an Improved Gini Index Random Forest-Based Feature Importance Measure Algorithm for Early Diagnosis of Breast Cancer in Saudi Arabia. Big Data Cogn. Comput. 2022, 6, 13. [Google Scholar] [CrossRef]
  77. Thaseen, I.S.; Kumar, C.A.; Ahmad, A. Integrated Intrusion Detection Model Using Chi-Square Feature Selection and Ensemble of Classifiers. Arab. J. Sci. Eng. 2018, 44, 3357–3368. [Google Scholar] [CrossRef]
  78. Chantar, H.K.; Corne, D.W. Feature subset selection for Arabic document categorization using BPSO-KNN. In Proceedings of the 2011 Third World Congress on Nature and Biologically Inspired Computing, Salamanca, Spain, 19–21 October 2011; IEEE: Piscataway, NJ, USA, 2011. [Google Scholar]
  79. Ghareb, A.S.; Abu Bakar, A.; Al-Radaideh, Q.A.; Hamdan, A.R. Enhanced Filter Feature Selection Methods for Arabic Text Categorization. Int. J. Inf. Retr. Res. 2018, 8, 1–24. [Google Scholar] [CrossRef]
  80. Adel, A.; Omar, N.; Abdullah, S.; Al-Shabi, A. Feature Selection Method Based on Statistics of Compound Words for Arabic Text Classification. Int. Arab J. Inf. Technol. 2019, 16, 178–185. [Google Scholar]
Figure 1. Flowchart of BBACO.
Figure 1. Flowchart of BBACO.
Applsci 12 11296 g001
Figure 2. Graphical results of the Taguchi method for BBACO algorithm.
Figure 2. Graphical results of the Taguchi method for BBACO algorithm.
Applsci 12 11296 g002
Figure 3. Subsets of features into sub-populations assignment.
Figure 3. Subsets of features into sub-populations assignment.
Applsci 12 11296 g003
Figure 4. A sample PartialSolution from sub-population #1.
Figure 4. A sample PartialSolution from sub-population #1.
Applsci 12 11296 g004
Figure 5. PartialSolutions evaluation of all sub-population as FullSolutions.
Figure 5. PartialSolutions evaluation of all sub-population as FullSolutions.
Applsci 12 11296 g005
Figure 6. Diversity of solutions in (a) first generation, (b) generation 20, (c) generation 50, (d) generation 80 and (e) generation 100, using BBALHS (left) and BBACO (right) for Reuters dataset.
Figure 6. Diversity of solutions in (a) first generation, (b) generation 20, (c) generation 50, (d) generation 80 and (e) generation 100, using BBALHS (left) and BBACO (right) for Reuters dataset.
Applsci 12 11296 g006
Figure 7. Diversity of solutions in (a) first generation, (b) generation 20, (c) generation 50, (d) generation 80 and (e) generation 100, using BBALHS (left) and BBACO (right) for WebKB dataset.
Figure 7. Diversity of solutions in (a) first generation, (b) generation 20, (c) generation 50, (d) generation 80 and (e) generation 100, using BBALHS (left) and BBACO (right) for WebKB dataset.
Applsci 12 11296 g007
Figure 8. Convergence behavior of the population using BBALHS and BBACO for Reuters dataset.
Figure 8. Convergence behavior of the population using BBALHS and BBACO for Reuters dataset.
Applsci 12 11296 g008
Figure 9. Convergence behavior of the population using BBALHS and BBACO for WebKB dataset.
Figure 9. Convergence behavior of the population using BBALHS and BBACO for WebKB dataset.
Applsci 12 11296 g009
Figure 10. Convergence behavior of 5 solutions using BBACO for Reuters dataset.
Figure 10. Convergence behavior of 5 solutions using BBACO for Reuters dataset.
Applsci 12 11296 g010
Figure 11. Convergence behavior of 5 solutions using BBACO for WebKB dataset.
Figure 11. Convergence behavior of 5 solutions using BBACO for WebKB dataset.
Applsci 12 11296 g011
Table 1. The BBACO algorithm parameter levels for the Taguchi method.
Table 1. The BBACO algorithm parameter levels for the Taguchi method.
ParameterDefinitionLevel
123
SubPop-sizeThe sub-population size50100150
SubPop-noThe number of sub-populations101520
Evaluate-fulSol-rateThe number of reproduced generations before evaluating the full dimension solutions (referred to as FullSolution)102030
Table 2. Number of collected documents from each website for the classes of Mix-DS.
Table 2. Number of collected documents from each website for the classes of Mix-DS.
SukanBisnesPendidikanSains-TeknologiHiburanPolitikTotal
utusan online170238300220103001958
mstar33921000453307935
astroawani96960969696480
bharian527129225027251896
Total41851636325316568612112,269
Table 3. The t-test of standard deviation of population in different generations using BBACO and BBALHS.
Table 3. The t-test of standard deviation of population in different generations using BBACO and BBALHS.
DatasetReutersWebKB
MethodBBACOBBALHSBBACOBBALHS
generation 1
Mean0.160.140.140.13
p-Value0.130.360.740.29
t State3.754.38
t Critical two-tail2.002.01
generation 20
Mean0.150.120.140.13
p-Value0.580.160.360.12
t State13.961.94
t Critical two-tail2.032.01
generation 50
Mean0.140.080.110.09
p-Value0.120.180.530.13
t State7.933.61
t Critical two-tail2.012.00
generation 80
Mean0.120.060.090.08
p-Value0.200.290.180.08
t State15.672.98
t Critical two-tail2.012.00
generation 100
Mean0.100.050.070.06
p-Value0.170.130.090.07
t State11.722.24
t Critical two-tail2.012.02
Table 4. The t-test of population quality in different generations using BBACO and BBALHS.
Table 4. The t-test of population quality in different generations using BBACO and BBALHS.
DatasetReutersWebKB
MethodBBACOBBALHSBBACOBBALHS
generation 1
Mean37.2844.6632.0845.86
p-Value0.390.350.260.31
t State−7.60−18.59
t Critical two-tail2.022.00
generation 20
Mean52.3355.3656.4864.28
p-Value0.320.160.130.36
t State−3.26−7.38
t Critical two-tail2.042.04
generation 50
Mean60.2357.5464.1570.78
p-Value0.640.060.190.15
t State2.14−8.38
t Critical two-tail2.002.04
generation 80
Mean72.9870.8373.0971.47
p-Value0.430.130.160.29
t State3.482.58
t Critical two-tail2.032.03
generation 100
Mean73.9871.1674.2772.79
p-Value0.510.290.220.18
t State2.792.82
t Critical two-tail2.002.01
Table 5. The t-test of BRE in different generations using BBACO and BBALHS.
Table 5. The t-test of BRE in different generations using BBACO and BBALHS.
DatasetReutersWebKB
MethodBBACOBBALHSBBACOBBALHS
generation 1
Mean35.8331.9647.1634.30
p-Value0.630.390.080.15
t State2.1118.56
t Critical two-tail2.032.03
generation 20
Mean24.0320.5023.7523.50
p-Value0.790.380.130.15
t State3.140.21
t Critical two-tail2.032.01
generation 50
Mean20.4220.0021.8623.37
p-Value0.720.250.420.27
t State0.45−1.04
t Critical two-tail2.032.00
generation 80
Mean14.8018.5018.9821.50
p-Value0.540.290.360.16
t State−7.24−3.22
t Critical two-tail2.012.04
generation 100
Mean14.6018.5015.8921.00
p-Value0.840.270.450.19
t State−4.57−7.05
t Critical two-tail2.022.03
Table 6. The t-test of ARE in different generations using BBACO and BBALHS.
Table 6. The t-test of ARE in different generations using BBACO and BBALHS.
DatasetReutersWebKB
MethodBBACOBBALHSBBACOBBALHS
generation 1
Mean90.8586.9090.7286.78
p-Value0.140.380.400.16
t State7.453.50
t Critical two-tail2.002.02
generation 20
Mean87.9186.2588.0085.24
p-Value0.180.210.320.06
t State1.882.51
t Critical two-tail2.032.00
generation 50
Mean84.7385.6184.0081.65
p-Value0.090.190.100.13
t State−0.901.86
t Critical two-tail2.002.00
generation 80
Mean78.0768.9575.1279.15
p-Value0.170.320.070.16
t State6.88−2.00
t Critical two-tail2.022.00
generation 100
Mean74.5262.9570.8577.64
p-Value0.240.140.210.08
t State5.64−2.84
t Critical two-tail2.002.02
Table 7. The t-test of WRE in different generations using BBACO and BBALHS.
Table 7. The t-test of WRE in different generations using BBACO and BBALHS.
DatasetReutersWebKB
MethodBBACOBBALHSBBACOBBALHS
generation 1
Mean90.8586.9090.7286.78
p-Value0.140.380.400.16
t State7.453.50
t Critical two-tail2.002.02
generation 20
Mean87.9186.2588.0085.24
p-Value0.180.210.320.06
t State1.882.51
t Critical two-tail2.032.00
generation 50
Mean84.7385.6184.0081.65
p-Value0.090.190.100.13
t State−0.901.86
t Critical two-tail2.002.00
generation 80
Mean78.0768.9575.1279.15
p-Value0.170.320.070.16
t State6.88−2.00
t Critical two-tail2.022.00
generation 100
Mean74.5262.9570.8577.64
p-Value0.240.140.210.08
t State5.64−2.84
t Critical two-tail2.002.02
Table 8. Quality of the final solution, number of features and reduction rate of BBACO in the Reuters dataset.
Table 8. Quality of the final solution, number of features and reduction rate of BBACO in the Reuters dataset.
Class NameQuality of Final Solution # of the Selected Features Reduction Rate (%)
Earn0.8730782.87
Acquisition0.8839484.76
Trade0.9010389.24
Ship0.885684.09
Grain0.732682.31
Crude0.7513185.11
Interest0.834588.64
Money-fx0.767887.62
Corn0.748988.35
Wheat0.7915781.06
Table 9. Quality of the final solution, number of features and reduction rate of BBACO in WebKB dataset.
Table 9. Quality of the final solution, number of features and reduction rate of BBACO in WebKB dataset.
Class NameQuality of Final Solution # of the Selected Features Reduction Rate (%)
Student0.8122690.23
Faculty0.8717993.39
Course0.7410594.41
Project0.7110393.51
Table 10. Classification results using the feature sets generated by BBALHS and BBACO.
Table 10. Classification results using the feature sets generated by BBALHS and BBACO.
DatasetMetricClassifierCHIIGGIBBALHSBBACO
ReutersMicro average F1NB88.8090.8090.5092.7893.76
SVM86.7089.4089.8092.5594.08
KNN86.3089.9090.3092.6393.17
Macro average F1NB79.5078.5077.2089.8790.03
SVM81.7077.2075.9088.7690.05
KNN66.6068.3069.1088.0489.49
WebKBMicro average F1NB79.5078.2077.5091.7992.72
SVM88.3089.3089.1091.6492.84
KNN65.3066.7065.7090.9492.06
Macro average F1NB78.2076.9075.9089.8291.67
SVM87.0087.9087.8089.3790.51
KNN60.7062.5061.4088.0390.87
Table 11. Precision (P), Recall (R) and F-measure (F) of each class in the Reuters dataset using the BBALHS.
Table 11. Precision (P), Recall (R) and F-measure (F) of each class in the Reuters dataset using the BBALHS.
ClassNBSVMKNN
PRFPRFPRF
Earn99.1898.6098.8998.0995.3596.7094.0292.2593.13
Acquisition93.1698.6095.8085.9596.7891.0490.5482.6886.43
Trade96.3691.9894.1297.0587.9792.2987.1792.0489.54
Ship97.5678.4386.9696.7675.2984.6982.2588.3985.21
Grain91.9671.5380.4794.2078.1485.4281.0289.0384.84
Crude81.7094.5887.6787.7682.4185.0097.7991.1994.37
Interest95.0894.7994.9396.4688.0292.0582.3287.1284.65
Money-fx97.3779.2087.3591.1081.9986.3189.2098.6793.70
Corn89.6382.5985.9790.1586.2388.1587.8778.3582.84
Wheat88.7684.5086.5888.6383.3985.9389.6782.1285.73
Average93.0887.4889.8792.6185.5688.7688.1888.1888.04
Table 12. Precision (P), Recall (R) and F-measure (F) of each class in the WebKB dataset using BBALHS.
Table 12. Precision (P), Recall (R) and F-measure (F) of each class in the WebKB dataset using BBALHS.
ClassNBSVMKNN
PRFPRFPRF
Project96.9785.6990.9883.9197.7590.3088.6897.3892.83
Course92.1886.1489.0691.5683.6687.4390.2184.9387.49
Faculty84.8591.1687.8988.9882.5185.6285.9676.4480.92
Student89.4893.3391.3698.4290.1994.1398.1184.6290.87
Average90.8789.0889.8290.7288.5389.3790.7485.8488.03
Table 13. Precision (P), Recall (R) and F-measure (F) of each class in the Reuters dataset using BBACO.
Table 13. Precision (P), Recall (R) and F-measure (F) of each class in the Reuters dataset using BBACO.
ClassNBSVMKNN
PRFPRFPRF
Earn94.3192.6693.4896.5491.4193.9091.7493.9492.83
Acquisition90.8797.2593.9589.1798.3693.5491.7796.5694.10
Trade94.2291.1892.6896.0691.2893.6194.5988.9191.66
Ship97.5678.4386.9693.6277.3984.7395.3770.5581.10
Grain94.9277.7885.5093.7382.6487.8489.1376.4782.32
Crude96.4992.1294.2595.1691.5793.3393.9995.5494.76
Interest93.2989.8791.5591.5388.8790.1893.2993.8693.57
Money-fx93.8090.8192.2892.0787.6989.8395.6292.4994.03
Corn90.3179.5284.5790.6482.5986.4386.8982.9884.89
Wheat82.8787.4585.1088.2685.9887.1186.9784.3585.64
Average92.8687.7190.0392.6887.7890.0591.9487.5689.49
Table 14. Precision (P), Recall (R) and F-measure (F) of each class in the WebKB dataset using BBACO.
Table 14. Precision (P), Recall (R) and F-measure (F) of each class in the WebKB dataset using BBACO.
ClassNBSVMKNN
PRFPRFPRF
Project95.8892.2994.0596.6791.5794.0591.7693.3592.55
Course87.7293.5790.5597.1889.3393.0993.5586.7490.02
Faculty88.6179.8984.0281.1388.2284.5385.5792.1788.75
Student97.6998.4298.0586.8594.2090.3890.7993.5892.16
Average92.4891.0491.6790.4690.8390.5190.4291.4690.87
Table 15. The t-test of classification results of BBACO vs. BBALHS methods.
Table 15. The t-test of classification results of BBACO vs. BBALHS methods.
DatasetReutersWebKB
MethodBBALHSBBACOBBALHSBBACO
NBNB
Mean92.2593.4191.3592.22
p-Value0.080.180.490.33
t State−8.23−5.83
t Critical two-tail2.022.00
KNNKNN
Mean92.1793.0990.5991.88
p-Value0.100.590.620.99
t State−6.37−9.74
t Critical two-tail2.002.02
SVMSVM
Mean91.8393.6791.2092.14
p-Value0.560.590.420.98
t State−16.54−7.41
t Critical two-tail2.002.03
Table 16. Characteristics of the selected feature sets in Mix-DS, where Q indicates the quality of feature set, #F indicates to number of features, R indicates reduction rate (%).
Table 16. Characteristics of the selected feature sets in Mix-DS, where Q indicates the quality of feature set, #F indicates to number of features, R indicates reduction rate (%).
ClassQ-BBALHSQ-BBACO#F#F-BBALHS#F-BBACOR-BBALHSR-BBACO
Bisnes0.550.6347851058101477.8978.81
Hiburan0.560.6010,3571468132885.8387.18
Pendidikan0.630.71221256442874.5080.65
Politik0.540.54153434132577.7778.81
Sains-Teknologi0.590.65302378475174.0775.16
Sukan0.610.678320112794686.4588.63
Table 17. Characteristics of the selected feature sets in Harian Metro dataset, where Q indicates the quality of feature set, #F indicates to number of features, R indicates reduction rate (%).
Table 17. Characteristics of the selected feature sets in Harian Metro dataset, where Q indicates the quality of feature set, #F indicates to number of features, R indicates reduction rate (%).
ClassQ-BBALHSQ-BBACO#F#F-BBALHS#F-BBACOR-BBALHSR-BBACO
Addin0.4160.483392531525691.9793.48
Bisnes0.5360.547256433518486.9392.82
Dekotaman0.5640.58339635831489.4690.75
Global0.6670.638205225923787.3888.45
Hiburan0.6450.651294735633087.9288.80
Pendidikan0.6550.685328436530388.8990.77
Santai0.5170.592394042840289.1489.80
Sihat0.6620.688394338237490.3190.51
Sukan0.4060.489204136332782.2183.98
Teknologi0.5370.669281820119492.8793.12
Vroom0.6160.668315036234288.5189.14
Table 18. Classification results achieved by using the original dataset, the feature sets selected by Chi-square, BBALHS and BBACO.
Table 18. Classification results achieved by using the original dataset, the feature sets selected by Chi-square, BBALHS and BBACO.
DatasetMetricClassifierNo FSChi-SquareBBALHSBBACO
Mix-DSMicro average F1NB76.3284.3288.5089.34
SVM76.0184.688.0488.72
KNN75.9484.0787.7788.24
Macro average F1NB73.4083.5886.6188.42
SVM74.7282.1586.9887.38
KNN73.3582.4286.3587.47
Harian-Metro datasetMicro average F1NB68.2078.9482.3883.56
SVM67.3879.1982.1683.71
KNN66.7778.5181.6483.18
Macro average F1NB67.4976.0981.1083.61
SVM66.2977.1380.8682.16
KNN66.0275.8480.5581.98
Table 19. Classification results of Mix-DS using NB, SVM and KNN classifiers in terms of precision (P), recall (R) and F-measure (F).
Table 19. Classification results of Mix-DS using NB, SVM and KNN classifiers in terms of precision (P), recall (R) and F-measure (F).
ClassNB-No FSSVM-No FSKNN-No FSNB-Chi-SquareSVM-Chi-SquareKNN-Chi-Square
PRFPRFPRFPRFPRFPRF
Bisnes0.930.790.850.910.800.850.930.780.850.930.910.920.910.890.900.950.930.94
Hiburan0.810.990.890.820.930.870.590.830.690.880.960.920.970.960.960.830.860.84
Pendidikan0.930.430.590.870.490.620.860.560.680.590.820.690.640.750.690.760.870.81
Politik0.940.540.680.940.620.750.830.640.720.890.830.860.810.730.770.830.960.89
Sains-Teknologi0.650.410.500.590.430.500.670.690.680.640.650.640.620.640.630.730.480.58
Sukan0.990.820.900.960.840.890.850.730.780.980.980.980.970.980.980.820.930.87
Average0.870.660.730.850.680.750.790.710.730.820.860.840.820.830.820.820.840.82
ClassNB-BBALHSSVM-BBALHSKNN-BBALHSNB-BBACOSVM-BBACOKNN-BBACO
PRFPRFPRFPRFPRFPRF
Bisnes0.990.890.940.990.890.930.880.930.900.980.930.950.960.940.950.890.890.89
Hiburan0.770.990.860.730.940.820.740.890.810.920.890.900.930.890.910.890.860.88
Pendidikan0.940.730.820.960.750.840.790.920.850.780.910.840.770.900.830.800.880.83
Politik0.990.820.900.990.800.890.850.950.890.860.960.910.830.960.890.900.810.85
Sains-Teknologi0.810.770.790.760.930.840.830.720.770.830.700.760.820.660.730.780.880.83
Sukan0.940.850.890.940.860.900.950.970.960.940.950.950.930.950.940.970.970.97
Average0.910.840.870.890.860.870.840.890.860.880.890.880.870.880.870.870.880.87
Table 20. Classification results of Harian Metro dataset using NB, SVM and KNN classifiers in terms of precision (P), recall (R) and F-measure (F).
Table 20. Classification results of Harian Metro dataset using NB, SVM and KNN classifiers in terms of precision (P), recall (R) and F-measure (F).
ClassNB-No FSSVM-No FSKNN-No FSNB-Chi-SquareSVM-Chi-SquareKNN- Chi-Square
PRFPRFPRFPRFPRFPRF
Addin0.930.570.700.800.570.660.450.690.550.980.730.840.710.960.820.940.760.84
Bisnes0.620.760.690.800.550.650.860.500.630.680.780.730.880.650.750.840.640.73
Dekotaman0.880.510.640.770.530.620.930.530.680.980.680.800.650.880.750.660.730.70
Global0.930.500.650.650.640.640.950.520.670.810.740.770.730.810.770.870.660.75
Hiburan0.910.500.640.760.520.620.930.510.660.900.690.780.900.580.700.690.850.76
Pendidikan0.860.600.710.740.660.690.880.630.730.650.730.690.760.650.700.780.690.73
Santai0.810.510.630.560.550.550.860.540.660.750.860.800.660.710.680.620.820.71
Sihat0.870.570.690.540.790.640.420.790.540.740.620.680.750.870.810.870.760.81
Sukan0.590.980.740.660.910.770.590.970.730.560.720.630.970.760.850.740.990.85
Teknologi0.780.640.700.850.580.690.780.660.710.980.680.810.910.730.810.880.690.77
Vroom0.630.630.630.890.630.740.910.550.690.980.760.850.930.770.840.860.590.70
Average 0.800.620.670.730.630.660.780.630.660.820.730.760.800.760.770.800.740.76
ClassNB-BBALHSSVM-BBALHSKNN-BBALHSNB-BBACOSVM-BBACOKNN-BBACO
PRFPRFPRFPRFPRFPRF
Addin0.840.770.800.770.860.810.820.760.790.710.950.810.900.820.860.860.840.85
Bisnes0.770.940.850.870.770.820.850.760.800.890.730.800.820.780.800.840.790.82
Dekotaman0.920.760.830.910.810.860.940.810.870.890.920.900.750.860.800.830.870.85
Global0.780.880.820.720.860.780.750.850.800.850.710.770.840.770.800.790.840.81
Hiburan0.730.790.760.830.730.780.710.800.760.870.920.890.770.890.830.860.820.84
Pendidikan0.840.890.860.840.780.810.880.890.880.810.850.830.750.870.810.880.770.82
Santai0.710.770.740.740.810.780.710.850.770.930.770.840.890.760.820.820.790.80
Sihat0.870.790.830.820.790.810.760.760.760.760.870.810.880.920.900.810.810.81
Sukan0.790.830.810.890.740.810.740.880.810.890.920.900.900.740.810.880.740.80
Teknologi0.880.730.800.840.790.820.830.790.810.840.780.810.830.800.810.880.810.84
Vroom0.840.790.810.910.760.830.880.760.810.780.850.810.720.890.800.840.730.78
Average 0.820.810.810.830.790.810.810.810.810.840.840.840.820.830.820.840.800.82
Table 21. Characteristics of the selected feature sets in Al-Jazeera news dataset, where Q indicates the quality of feature set, #F indicates number of features, R indicates reduction rate (%).
Table 21. Characteristics of the selected feature sets in Al-Jazeera news dataset, where Q indicates the quality of feature set, #F indicates number of features, R indicates reduction rate (%).
ClassQ-BBALHSQ-BBACO#F#F-BBALHS#F-BBACOR-BBALHSR-BBACO
Economy0.540.61154153739765.1574.24
Politics0.590.64142734315275.9689.35
Sport0.620.68187429419984.3189.38
Science0.630.68150523517684.3988.31
Art0.660.71169354426767.8784.23
Table 23. Classification results of Al-Jazeera news dataset using NB and SVM in terms of precision (P), recall (R) and F-measure (F).
Table 23. Classification results of Al-Jazeera news dataset using NB and SVM in terms of precision (P), recall (R) and F-measure (F).
ClassNB-BBALHSSVM-BBALHSNB-BBACOSVM-BBACO
PRFPRFPRFPRF
Economy94.8583.6588.9091.1395.2093.1289.0491.5190.2694.1799.5996.80
Politics92.2897.3294.7385.2597.5590.9986.9297.8592.0688.5097.6392.84
Sport91.1085.5588.2493.8785.9889.7597.5588.9093.0292.6683.9888.11
Science90.9489.1190.0286.3087.5086.9091.0586.7288.8386.4490.5088.42
Art87.5196.4691.7797.7391.6994.6193.6290.4692.0199.3492.6995.90
Average91.3490.4290.7390.8691.5891.0791.6491.0991.2492.2292.8892.42
Table 24. The t-test of classification results of BBALHS vs. BBACO methods.
Table 24. The t-test of classification results of BBALHS vs. BBACO methods.
BBALHSBBACO
NB
Mean90.7891.23
p-Value0.200.96
t Stat−6.89
t Critical two-tail2.00
SVM
Mean91.1192.52
p-Value0.070.46
t Stat−23.04
t Critical two-tail2.00
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Adel, A.; Omar, N.; Abdullah, S.; Al-Shabi, A. Co-Operative Binary Bat Optimizer with Rough Set Reducts for Text Feature Selection. Appl. Sci. 2022, 12, 11296. https://doi.org/10.3390/app122111296

AMA Style

Adel A, Omar N, Abdullah S, Al-Shabi A. Co-Operative Binary Bat Optimizer with Rough Set Reducts for Text Feature Selection. Applied Sciences. 2022; 12(21):11296. https://doi.org/10.3390/app122111296

Chicago/Turabian Style

Adel, Aisha, Nazlia Omar, Salwani Abdullah, and Adel Al-Shabi. 2022. "Co-Operative Binary Bat Optimizer with Rough Set Reducts for Text Feature Selection" Applied Sciences 12, no. 21: 11296. https://doi.org/10.3390/app122111296

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop