Background

Tin Kam Ho proposed the random forests (RF) concept [1] and the Random Subspace algorithm [2] in 1995 and 1998, respectively. Breiman [3] proposed a novel ensemble learning classification, random forests, by combining bagging ensemble learning and Tin Kam Ho’s concept in 2001. The feature of random forests that allows for avoiding over-fitting makes it suitable for use as a data dimension reduction method for processing data with missing values, noise and outliers. Although random forests have been applied to many other fields such as biological prediction [4], fault detection [5], and network attacks [6], studies seeking to improve the algorithm itself are lacking. The RF algorithm still has some shortcomings; for example, it performs poorly for classification on imbalanced data, fails to control the model during specific operations, and is sensitive to parameter adjustment and random data attempts. Usually, there are two ways to improve RF: increase the accuracy of each individual classifier or reduce the correlation between classifiers.

First, it is possible to increase the classification accuracy in minor class samples of RF for imbalanced training sets through data preprocessing. Several types of methods [710] based on both data and algorithms exist for imbalanced data. Chen [11] found that undersampling provides results closer to the original samples than does oversampling for large-scale data. A novel sampling approach [12] based on sub-modularity subset selection was employed to balance the data and select a more representative data subset for predicting local protein properties. Similarly, an algorithm combining RF and a Support Vector Machine (SVM) with stratified sampling [13] yielded a better performance than did other traditional algorithms for imbalanced-text categorization, including RF, SVM, SVM with undersampling and SVM with oversampling. A novel hybrid algorithm [14] using a radial basis function neural network (RBFNN) integrated with RF was proposed to improve the ability to classify the minor class of imbalanced datasets. In addition, imbalanced data for bioinformatics is a well-known problem and widely found in biomedical fields. Applying RF with SMOTE to the CHOM, CHOA and Vero (A) datasets [15] is considered a remarkable improvement that is helpful in the field of functional and structural proteomics as well as in drug discovery. Ali S [16] processed imbalanced breast cancer data using the CSL technique, which imposes a higher cost on misclassified examples and develops an effective Cost-Sensitive Classifier with a GentleBoost Ensemble (Can-CSC-GBE). The Mega-Trend-Diffusion (MTD) technique [17] was developed to obtain the best results on breast and colon cancer datasets by increasing the samples of the minority class when building the prediction model.

Second, it is possible to improve algorithm construction. Because the decision trees in the original algorithm have the same weights, a weighted RF was proposed that used different weights that affected the similarity [18] between trees, out-of-bag error [19], and so on. Weighted RF has been shown to be better than the original RF algorithm [20]. Ma [21] combined Adaboost with RF and adaptive weights to obtain a better performance. The weight of attributes reduces the similarity among trees and improves RF [22]. Moreover, the nearest K-neighbour [23] and pruning mechanism can help achieve a better result when using margin as the evaluation criterion [24].

In this paper, the main work is divided into two parts: first, the CURE-SMOTE algorithm is combined with RF to solve the shortcomings of using SMOTE alone. Compared with results on the original data, random oversampling, SMOTE, Borderline SMOTE1, safe-level-SMOTE, C-SMOTE, and the k-means-SMOTE algorithm, CURE-SMOTE's effectiveness when classifying imbalanced data is verified. Then, to simultaneously optimize feature selection, tree size, and the number of sub-features, we propose a hybrid algorithm that includes a genetic-random forests algorithm (GA-RF), a particle swarm-random forests algorithm (PSO-RF) and an artificial fish swarm-random forests algorithm (AFSA-RF). Simulation experiments show that the hybrid algorithm obtains better features, selects better parameter values and achieves a higher performance than traditional methods.

Methods

Random forests algorithm review

Algorithm principle

RF is a combination of Bagging and Random Subspace, consisting of many binary or multi-way decision trees h 1(x), h 2(x), … h nTree (x), as shown in Fig. 1. The final decision is made by majority voting to aggregate the predictions of all the decision trees. The original dataset T = {(x i1, x i2, …, x iM , y i )} N i = 1 contains N samples, the vector x i1, x i2, …, x iM denotes the M-dimension attributes or features, Y = {y i } N i denotes classification labels, and a sample is deduced as label c by y i  = c.

Fig. 1
figure 1

Random forests algorithm

There are two random procedures in RF. First, training sets are constructed by using a bootstrap [25, 26] mechanism randomly with replacement [Fig. 2 (I)]. Second, random features are selected with non-replacement from the total features when the nodes of the trees are split. The size κ of the feature subset is usually far less than the size of the total features, M. The first step is to select κ features randomly, calculate the information gain of κ split and select the best features. Thus, the size of candidate features becomes M − κ . Then, continue as shown in Fig. 2 (II).

Fig. 2
figure 2

Two random procedures diagram

Classification rules and algorithmic procedure

The best attribute can be computed by three methods: information gain, information gain rate and Gini coefficient, which correspond to ID3, C4.5 [27] and CART [28], respectively. When the attribute value is continuous, the best split point must be selected. We use the CART method in this paper; hence, a smaller Gini coefficient indicates a better classification result. Let P i represent the proportion of sample i in the total sample size. Assume that sample T is divided into k parts after splitting by attribute A.

$$ Gini(T)=1-{\displaystyle \sum_i^c{P}_i^2} $$
(1)
$$ Gini\left( T, A\right)={\displaystyle \sum_{j=1}^k\frac{\left|{T}_j\right|}{\left| T\right|} Gini\left({T}_j\right)} $$
(2)

There are several ways by which the termination criteria for RF can be met. For example, termination occurs when the decision tree reaches maximum depth, the impurity of the end node reaches the threshold, the number of final samples reaches a set point, and the candidate attribute is used up. The RF classification algorithm procedure is shown in Algorithm 1.

figure a

CURE-SMOTE algorithm

Definition and impact of imbalanced data

In recent years, the problem of classifying imbalanced data [29] has attracted increasing attention. Imbalanced data sets generally refer to data that is distributed unevenly among different categories where the data in the smaller category is far less prevalent than data in the larger category. The Imbalance Ratio (IR) is defined as the ratio of the number of minor class samples to the number of major class samples. Therefore, imbalanced data causes the training set for each decision tree to be imbalanced during the first “random” procedure. The classification performance of traditional RF on imbalanced data sets [30] is even worse than that of SVMs [31].

SMOTE algorithm

Several methods exist for processing imbalanced data, including sample-based and algorithmic techniques, the combination of sampling and algorithm techniques, and feature selection. In particular, a type of synthesis resampling technique algorithm called the synthetic minority oversampling technique (SMOTE) [3234], has a positive effect on the imbalanced data problem. The specific idea is implemented as follows: obtain the k -nearest neighbours of sample X in the minor class, select n samples randomly and record them as X i . Finally, the new sample X new is defined by interpolation as follows:

$$ {X}_{new}={X}_{origin}+ rand\times \left({X}_i-{X}_{origin}\right), i=1,2,\dots, n, $$
(3)

where rand is a random number uniformly distributed within the range (0,1), and the ratio for generating new samples approximates [1/IR] − 1.

However, some flaws exist in the SMOTE algorithm. First, the selection of a value for k is not informed by the nearest neighbours selection. Second, it is impossible to completely reflect the distribution of original data because the artificial samples generated by the minor class samples at the edges may lead to problems such as repeatability and noisy, fuzzy boundaries between the positive and negative classes.

Therefore, researchers have sought to improve the SMOTE algorithm. The Borderline–SMOTE1 algorithm [35] causes new samples to be more effective using interpolation along the border areas, but it fails to find all the boundary points. Definitions for this algorithm are shown in Table 1: m is the number of nearest-neighbour samples in the minor class, and k is the number of samples in the major class.

Table 1 Definitions in Borderline-SMOTE 1

Motivated by Borderline–SMOTE 1, safe-level-SMOTE [36] advocates calculating the safe level of minor class samples, but it can easily fall into overfitting. Cluster-SMOTE [37] obtains a satisfactory classification effect for imbalanced datasets by using K-means to find clusters of minor class samples and then applying SMOTE. In addition, spatial structures have been studied such as N-SMOTE [38] and nuclear SMOTE [39]. The authors of [40] proposed an interpolation algorithm based on cluster centres. SMOTE was combined with a fuzzy nearest-neighbour algorithm in [41]. In [42], a preferable classification effect promoted by hierarchical clustering sampling was shown. Recently, a SMOTE noise-filtering algorithm [43] and MDO algorithms with Markov distance [44] have been proposed. In general, many improved versions of the SMOTE algorithm have been proposed, but none of these improvements seem perfect. This paper seeks to solve the shortcomings of SMOTE.

The K-means algorithm is effective only for spherical datasets and its application requires a certain amount of time. The CURE [45] hierarchical clustering algorithm is efficient for large datasets and suitable datasets of any shape dataset. Moreover, it is not sensitive to outlier and can recognize abnormal points. Consequently, CURE is better than the BIRCH, CLARANS and DBSCAN algorithms [46]. In the CURE algorithm, each sample point is assumed to be a cluster. These points are merged using local clustering until the end of the algorithm. Thus, the CURE algorithm is appropriate for distributed extensions. In this paper, inspired by C-SMOTE [40] and the hierarchical clustering sampling adaptive semi-unsupervised weighted oversampling (A-SUWO) [42] algorithms, the novel CURE-SMOTE algorithm is proposed to accommodate a wider range of application scenarios.

Design and analysis of CURE-SMOTE

The general idea of the CURE-SMOTE algorithm is as follows: cluster the samples of the minor class using CURE, remove the noise and outliers from the original samples, and, then, generate artificial samples randomly between representative points and the centre point. The implementation steps of the CURE-SMOTE algorithm are as follows:

  • Step 1. Normalize the dataset, extract the minor class samples, X, and calculate the distance dist among them. Each point is initially considered as a cluster. For each cluster U, Ur and Uc represent the representative set and the centre point, respectively. For two data items p and q, the distance between the two clusters U and V is:

    $$ dist\left( U, V\right)=\underset{p\in Ur, q\in Vr}{ \min } dist\left( p, q\right). $$
    (4)
  • Step 2. Set the clustering number, c, and update the centre and representative points after clustering and merging based on the smallest distance of the two clusters,

$$ U c\leftarrow \frac{\left| U\right|\cdot U c+\left| V\right|\cdot Vc}{\left| U\left|+\right| V\right|} $$
(5)
$$ U r\leftarrow \left\{ p+\alpha \cdot \left( Uc- p\right)\Big| p\in U r\right\}, $$
(6)

where |U| is the number of data items for class U, and the shrinkage factor α is generally 0.5. The class with slowest growth speed is judged to contain abnormal points and will be deleted. If the number of representative points is larger than required, select the data point farthest from the clustering centre as the first representative point. Then, the next representative point is the one farthest from the former. When the number of clustering centres reaches a predefined setting, the algorithm terminates, and clusters containing only a few samples are removed.

  • Step 3. Generate a new sample according to the interpolation formula. \( \overline{X} \) represents the samples after clustering by the CURE algorithm.

    $$ {X}_{n ew}^n=\overline{X}+ rand\left(0,1\right)\times \left( Ur-\overline{X}\right). $$
    (7)
  • Step 4. Calculate IR, and return to Step 3 if IRIR 0.

  • Step 5. Finally, classify the new dataset as \( {X}_{n ew}=\overline{X}\cup \left\{{X}_{n ew}^n\right\} \) and add samples of the major class by RF. The distance is measured using Euclidean distance. For example, the distance between sample X 1 = (X 11, X 12 …, X 1M ) and sample X 2 = (X 21, X 22 …, X 2M ) is \( {d}_{12}=\sqrt{{\displaystyle \sum_{j=1}^M{\left({X}_{1 j}-{X}_{2 j}\right)}^2}} \).

During the clustering process of the CURE-SMOTE algorithm, noisy points must be removed because they are far away from the normal points, and they hinder the merge speed in the corresponding class. When clustering is complete, the clusters containing only a few samples are also deemed to be noisy points. For the sample points after clustering, the interpolation can effectively prevent generalization and preserve the original distribution attributes of the data set. In the interpolation formula, X i is replaced by the representative points; consequently, the samples are generated only between the representative samples and the samples in the original minor class, which effectively avoids the influence of boundary points. The combination of the clustering and merge operations serves to eliminate the noise points at the end of the process and reduce the complexity because there is no need to eliminate the farthest generated artificial samples after the SMOTE algorithm runs. Moreover, all the termination criteria such as reaching the pre-set number of clusters, the number of representative samples, or the distance threshold, avoid setting the k value of the original SMOTE algorithm and, thus, reduce the instability of the proposed algorithm.

Research concerning feature selection and parameter optimization

Classification [47] and feature selection [4850] are widely applied in bioinformatics applications such as gene selection [51, 52] and gene expression [5355]. Chinnaswamy A [56] proposed a hybrid feature selection using correlation coefficients and particle swarm optimization on microarray gene expression data. The goal of feature selection is to choose a feature subset that retains most of the information of the original dataset, especially for high-dimensional data [57]. The authors of [58] showed that machine-learning algorithms achieve better results after feature selection. Kausar N. [59] proposed a scheme-based RF in which useful features were extracted from both the spatial and transform domains for medical image fusion. During the second "random" time of RF, a number of attributes were selected randomly to reduce the correlation between trees, but this operation promotes redundant features that may affect the generalization ability to some degree. Thus, new types of evaluation mechanisms were proposed based on the importance of the attributes [21, 60, 61], using weighted features as well as cost-sensitivity features [62], and so on; however, their calculations are comparatively complicated. Recently, researchers have combined the RF algorithm with intelligent algorithms. Such combinations have achieved good results in a variety of fields. In [5], an improved feature selection method based on GA and RF was proposed for fault detection that significantly reduces the OOB error. The results of [4, 6] indicate that a type of hybrid PSO-RF feature selection algorithm is widely applied in certain fields. However, the works mentioned above do not involve parameter optimization.

Three main parameters influence the efficiency and performance of RF: nTree—the size of the tree, MinLeaf—the minimum sample number of leaf nodes, and κ —the attribute subset size. Previous studies have shown that the classification performance of RF is less sensitive to MinLeaf [63]. A larger nTree increases the number of trees in the classifier, helps ensure the diversity of individual classifiers and, thus, improves performance. However, a larger nTree also increases the time cost and may lead to less interpretable results, while a small nTree results in increased classification errors and poor performance. Usually, κ is far less than the number of total attributes [64]. When all the similar attributes are used for splitting the tree nodes in the Bagging algorithm, the effect of the tree model worsens due to the higher similarity degree among trees [65]; when κ is smaller, the stronger effects of randomness lower the classification accuracy. The hyper parameter κ behaves differently for different issues [66]; hence, an appropriate value can cause the algorithm to have excellent performance for a specific problem. Breiman pointed out that selecting the proper κ value has a great influence on the performance of the algorithm [3] and suggested that the value should be 1, \( \sqrt{M} \), \( \frac{1}{2}\sqrt{M} \), \( 2\sqrt{M} \) and ⌊ log2(M) + 1⌋. Generally, κ is fixed as \( \left\lfloor \sqrt{M}\right\rfloor \), but that value does not guarantee obtaining the best classifier. Therefore, the authors of [67] suggested that the minimum OOB error be used to obtain the approximate value to overcome the shortcomings of the orthogonal validation method. Moreover, OOB data has been used to estimate the optimal training sample proportion to construct the Bagging classifier [68]. To sum up, it is difficult for traditional parameter values to achieve an optimal performance. In terms of the search for the optimal parameter, typical approaches have incorporated exhaustive search, grid search, and orthogonal selection, but these methods have a high time complexity.

Review of intelligent algorithms

Because intelligent algorithms are superior for solving NP-hard problems and for optimizing parameters, they have been the subject of many relevant and successful studies [6972].

The main idea behind the genetic algorithm (GA) is to encode unknown variables into chromosomes and change the objective function into fitness functions. The fitness value drives the main operations—selection, crossover and mutation—to search for the best potential individuals iteratively. Eventually the algorithm converges, and the optimal or a suboptimal solution of the problem is obtained. GA has the advantage of searching in parallel, and it is suitable for a variety of complex scenarios.

The particle swarm optimization (PSO) algorithm is theoretically simpler and more efficient than the GA [73]. The main idea behind PSO is to simulate the predation behaviour of birds. Each particle represents a candidate solution and has a position, speed and a fitness value. Historical information on the optimal solution instructs the particle to fly toward a better position.

The artificial fish swarm algorithm (AFSA) [74] is a novel algorithm with high potential. The main idea behind AFSA is to imitate the way that fish prey, swarm, follow and adopt random behaviours. The candidate solution is translated into the individual positions of the fish, while the objective function is converted to food concentration.

Diagrams for GA, PSO and AFSA are shown in Fig. 3.

Fig. 3
figure 3

Diagrams of GA, PSO, and AFSA

There is little research on optimizing the hyper parameter κ of random forests. In [67], the size of the decision tree is fixed at 500, but this approach achieves the optimal parameter on only half the dataset. Worse, it requires considerable time and is suitable for single parameter optimization only. This paper proposes combining a new hybrid algorithm for feature selection and parameter optimization with RF is proposed based on [46].

The proposed hybrid algorithm for feature selection and parameter optimization

We propose the hybrid GA-RF, PSO-RF or AFSA-RF algorithm for feature selection, parameter optimization and classification. The algorithm seeks to remove redundant features and attain the optimal feature subset and, finally, to explore the relation between performance and nTree, as well as the hyper parameter κ.

Generally, p -fold cross validation is used to traverse the parameter and to estimate the algorithm in the experiment, but time complexity is high. In this paper, OOB error replaces the cross-validation algorithm for binary classification, while the full misclassification error is used for multi-classification. Hence, the time complexity is reduced to 1/p. During the process, cross validation is required for classification.

Objective function:

$$ f\left( nTre{e}^{*},{\kappa}^{*},\left\{ Attribut{e}_i\Big| i=1,2\dots, M\right\}\right)= \arg \min \left(\operatorname{avg} OOB\ error\right) $$
(8)

Studies have shown that the larger nTree is, the more stable the classification accuracy will be. We set nTree and κ in the range [0, 500] and [1, M], respectively, by considering both the time and space complexities.

Optimization variables: nTree, κ, {Attribute i |i = 1, 2 …, M}

Binary encoding involves two tangent points and three steps. Let nTree and κ be numbers in the binary system. A value of 0 in {Attribute i |i = 1, 2 …, M} represents an unselected feature in the corresponding position, while a 1 represents the selected features. The constraint condition is \( \kappa \le {\displaystyle \sum_{i=1}^M Attribut{e}_i} \).

Then, an nTree is generated randomly between [0, 500]. Because 29 = 512, a 9-bit length ensures a full set of variables. The bits used for κ and the bits used for the attributes are different for different data sets. The bits of κ are the binary representation of M, while the number of bits of the attributes are M (Fig. 4). The initialization continues until a valid variable is generated.

Fig. 4
figure 4

Binary coding

The diagram for a hybrid algorithm based on RF and an artificial algorithm for feature selection and parameter optimization is shown in Fig. 5.

Fig. 5
figure 5

The diagram of a hybrid algorithm based on RF and an artificial algorithm

Hybrid GA-RF

  • Step 1. Initialize the population: Perform binary encoding. The population size is set to popsize, the max iteration time is set to maxgen, the crossover probability is P c , and the mutation probability is P m .

  • Step 2. Combine the GA with RF classification and calculate the fitness function, F = max(1/f), gen = 1.

  • Step 3. Perform the selection operation with the roulette method: the probability of selecting an individual is dependent on the proportion of the overall fitness value that the individual represents:

    $$ {p}_i={F}_i/{\displaystyle \sum_{i=1}^{p opsize}{F}_i}. $$
    (9)
  • Step 4. Conduct the crossover operation with the single-point method: two selected individuals cross at a random position with different values. The offspring generation will be regenerated until it turns out to be legal. The process is shown in Fig. 6.

    Fig. 6
    figure 6

    Crossover operation

  • Step 5. Mutation operation: select an individual and a position j randomly to mutate by switching 0 and 1. When a feasible solution is achieved, calculate the fitness value and update the optimal solution. The mutation operation is shown in Fig. 7

    Fig. 7
    figure 7

    Mutation operation

  • Step 6. When gen > maxgen, the algorithm will terminate; otherwise, return to Step 3.

Hybrid PSO-RF

  • Step 1. Initialize the population. The population size is set to popsize, the max iteration time is set to maxgen, the position of the binary particle is X k  = {Z k,1, Z k,2, …}, k = 1, 2, … popsize, the velocity is V, the learning factors are c 1, c 2, and the weight is w.

  • Step 2. Combine the PSO with RF classification and calculate the fitness function F = max(1/f), gen = 1.

  • Step 3. Update the velocities V k + 1 and positions X k + 1 of particles. Let P k be the optimal position of an individual particle, Pg k be the optimal position of all particles, and rand be a random number uniformly distributed in the range (0,1):

    $$ {V}^{k+1}= w{V}^k+{c}_1{r}_1\left({P}^k-{X}^k\right)+{c}_2{r}_2\left( P{g}^k-{X}^k\right),{r}_1,{r}_2\in \left[0,1\right] $$
    (10)
    $$ sigmoid\left({V}^{k+1}\right)=\frac{1}{1+{e}^{-{V}^{k+1}}} $$
    (11)
    $$ {Z}_{k+1, j}=\left\{\begin{array}{c}\hfill 0,\hfill \\ {}\hfill 1,\hfill \end{array}\right.\kern2em \begin{array}{c}\hfill rand> sigmoid\left({V}^{k+1}\right)\hfill \\ {}\hfill rand\le sigmoid\left({V}^{k+1}\right)\hfill \end{array}\kern2em rand\sim U\left(0,1\right). $$
    (12)
  • Step 4. If gen > maxgen, the algorithm will terminate; otherwise, return to Step 3.

Hybrid AFSA-RF

  • Step 1. Initialize the population. The population size is set to popsize, the maximum number of iterations is set to maxgen, the fish positions are X k  = {Z k,1, Z k,2, …}, k = 1, 2, … popsize, the visual distance is visual, the crowding degree factor is delta, and the maximum number of behaviours to try is try_number.

  • Step 2. Combine with RF classification and calculate the food concentration F = max(1/f);

  • Step 3. Swarm and follow at the same time.

    1. a)

      Swarm behaviour: The current state of a fish is X i , the number of partners in view is nf, and the centre position is X c . When \( \frac{F_c}{nf}> delta\cdot Fitnes{s}_i \), move to the centre position according to the following formula; otherwise, conduct the prey behaviour.

      $$ {Z}_{k+1, i}=\left\{\begin{array}{l}\begin{array}{cc}\hfill {Z}_{k, i}\hfill & \hfill {Z}_{k, i}={Z}_{c, i}\hfill \end{array}\\ {}\begin{array}{cc}\hfill 0\hfill & \hfill {Z}_{k, i}\ne {Z}_{c, i}, rand>0.5\hfill \end{array}\\ {}\begin{array}{cc}\hfill 1\hfill & \hfill {Z}_{k, i}\ne {Z}_{c, i}, rand\le 0.5\hfill \end{array}\end{array}\right.. $$
      (13)
    2. b)

      Follow behaviour: Find the fish X max with the maximum food concentration value, F max. If \( \frac{F_{\max }}{nf}> delta\cdot {F}_i \), move to X max and calculate the food concentration value. Then, update the food concentration value by comparing it with the value of the swarm behaviour; otherwise, conduct the prey behaviour.

      $$ {Z}_{k+1, i}=\left\{\begin{array}{l}\begin{array}{cc}\hfill {Z}_{k, i}\hfill & \hfill {Z}_{k, i}={Z}_{\max, i}\hfill \end{array}\\ {}\begin{array}{cc}\hfill 0\hfill & \hfill {Z}_{k, i}\ne {Z}_{\max, i}, rand>0.5\hfill \end{array}\\ {}\begin{array}{cc}\hfill 1\hfill & \hfill {Z}_{k, i}\ne {Z}_{\max, i}, rand\le 0.5\hfill \end{array}\end{array}\right.. $$
      (14)
    3. c)

      Prey behaviour: The current state is X k  = {Z k,i }, and the random selection state is X j  = {Z j,i } around the vision range with d ij  = visual . When F k  > F j ,restart to generate the next state, X k + 1, and calculate the food concentration until try_number is reached; otherwise, terminate the prey behaviour according to the following function:

      $$ {Z}_{k+1, i}=\left\{\begin{array}{l}\begin{array}{cc}\hfill {Z}_{k, i}\hfill & \hfill {Z}_{k, i}={Z}_{j, i}\hfill \end{array}\\ {}\begin{array}{cc}\hfill 0\hfill & \hfill {Z}_{k, i}\ne {Z}_{j, i}, rand>0.5\hfill \end{array}\\ {}\begin{array}{cc}\hfill 1\hfill & \hfill {Z}_{k, i}\ne {Z}_{j, i}, rand\le 0.5\hfill \end{array}\end{array}\right.. $$
      (15)
  • Step 4. Update the state of the optimal fish. When gen > maxgen, the algorithm will terminate; otherwise, return to Step 3.

Results and discussion

The experiments in this paper are divided into two parts. Experiment 1 explores the validity of the CURE-SMOTE algorithm. Experiment 2 investigates the effectiveness of the hybrid algorithm.

Performance evaluation criteria

Referring to the evaluation used in [75], the measures of the quality of binary classification are built using a confusion matrix, where TP and FN are the numbers of correctly and incorrectly classified compounds of the actual positive class, respectively. Similarly, TN and FP denote the numbers of correctly and incorrectly classified compounds of the actual negative class.

The measures accuracy, sensitivity, specificity and precision are defined as follows.

$$ Accurcacy=\left( TP+ TN\right)/\left( TP+ TN+ FP+ FN\right)=\left( TP+ TN\right)/ N $$
(16)
$$ Sensitivity\ \mathrm{or}\ Recall= T P/\left( TP+ FN\right) $$
(17)
$$ Specificity= T N/\left( FP+ TN\right) $$
(18)
$$ Precision= T P/\left( TP+ FP\right) $$
(19)

The classifiers may have a high overall accuracy with 100% accuracy in the majority class while achieving only a 0–10% accuracy in the minority class because the overall accuracy is biased towards the majority class. Hence, the accuracy measure is not a proper evaluation metric for the imbalanced class problem. Instead, we suggest using F-value, Geometric Mean (G-mean) and AUC for imbalanced data evaluations.

The F-value measure is defined following [26]. A larger F-value indicates a better classifier. F-value is a performance metric that links both precision and recall:

$$ F=\frac{2}{1/ Precision+1/ Recall}. $$
(20)

The G-mean [76] attempts to maximize the accuracy across the two classes with a good balance and is defined as follows. Only when both sensitivity and specificity are high can the G-mean attain its maximum, which indicates a better classifier:

$$ G- mean=\sqrt{Sensitivity\cdotp Specificity}. $$
(21)

AUC is the area under the receiver operating characteristics (ROC) curve. AUC has been shown to be a reliable performance measure for imbalanced and cost-sensitive problems. An AUC–based permutation variable is presented in [77]; this approach is more efficient than the approach based on the OOB error.

The training set is obtained by using the bootstrap method. Because of repeated extraction, it contains only 63% of the original data; the 37% of the data that never appear are called "out-of- -bag" (OOB) data [78]. OOB estimation is an unbiased estimate of the RF algorithm and can be used to measure the classifier's generalization ability. A smaller OOB error indicates a better classification performance. OOB error is defined as follows:

$$ O O B\ erro r={\displaystyle \sum_i^{nTree} O O B\ erro{r}_i}/ nTree. $$
(22)

Margin is a new evaluation criterion that has been applied to the classification of remote sensing data [79]. The larger the margin is, the higher the classifier's credibility is:

$$ margin={\displaystyle \sum_i^{n Tree} margi{n}_i}/ nTree. $$
(23)

Experiment 1 and parameter settings

The experiments were implemented using Matlab 2012a on a workstation with a 64-bit operating system, 2 GB of RAM and a 2.53 GHz CPU. Artificial Data Circle and UCI imbalanced datasets were selected for the experiments. More detailed information about five datasets is listed in Table 2. To simulate the actual situation appropriately and preserve the degree of imbalance of the original data, the training set and testing set were divided using stratified random sampling at a ratio of 3:1, except for SPECT. The SPECT.test dataset incorporates 187 samples, and the proportions of the classes labelled 1 and 0 are 84:103, respectively. The tree size is 100 and the depth is 20.

Table 2 Dataset

To verify the effectiveness of the CURE-SMOTE algorithm it was compared with the original data, random oversampling, SMOTE, Borderline-SMOTE1, safe-level SMOTE, C-SMOTE (using mean value as the centre) and k-means-SMOTE (shown in Table 3) algorithms. To evaluate the performance of the different algorithms, F-value, G-mean, AUC and OOB error are used as performance measures. The results of each experiment were averaged over 100 runs to eliminate random effects.

Table 3 Comparison of algorithms and references

To facilitate the comparisons, m and k were set to 20 and 5, respectively, in SMOTE, Borderline-SMOTE1 and safe-level-SMOTE. The number of clusters in C-SMOTE and k-means-SMOTE were set to five. Following the suggested setting for the CURE algorithm, the cluster results are better when the constriction factor is in the range [0.2, 0.7] and when the number of representative points is greater than 10. Thus, the constriction factor was set to 0.5 and the number of representative points was set to 15. The number of clusters was set to two in the circle, while the others were all five. Samples were removed when the number of representative points did not increase for ten iterations or when the sample size of the cluster class was less than 1/(10c) of the total sample size when clustering was complete. In the experiments in this paper, IR 0 was fixed at 0.7. The CURE-SMOTE algorithm diagram is depicted in Fig. 8.

Fig. 8
figure 8

CURE-SMOTE algorithm diagram

Results and discussion of CURE - SMOTE algorithm

Figure 9 shows the results of the original data, random sampling, SMOTE sampling, Borderline-SMOTE1 sampling, safe-level SMOTE sampling, C-SMOTE sampling, K-means SMOTE sampling and CURE-SMOTE sampling, as well as the CURE clustering result. The black circles and the red star represent the major class sample and minor class sample, respectively, in the original data, and the blue squares represent the artificial samples generated by different methods. Figure 10 shows the CURE clustering results of the minor class sample. The clustering centre is two, the stars show the centres, and the blue diamonds indicate the representative points.

Fig. 9
figure 9

Artificial samples generated by different methods

Fig. 10
figure 10

The CURE clustering result

Figure 9 shows that a large number of data are obtained repeatedly by random sampling, and some data are not selected at all. The SMOTE algorithm also produces repeated data and generates mixed data in other classes as well as noise. Borderline-SMOTE1 picks out the boundary point of minor class by calculating and comparing the samples of the major class around the minor class; consequently, the generated data are concentrated primarily at the edges of the class. Safe-level SMOTE follows the original distribution, but still generates repeated points and distinguishes the boundary incorrectly. Although C-SMOTE can erase the noise, the generated data are too close to the centre to accurately identify other centres. K-means-SMOTE can identify the area of the small class and slightly improves on the SMOTE effect. The proposed CURE-SMOTE algorithm generates data both near the centre and the representative points; overall, it follows the original distribution. Moreover, the representative points help to avoid noise being treated as a constraining boundary during the generating process. Detailed results are listed in Table 4.

Table 4 The classification results of different sampling algorithms

In conclusion, the classification results of the CURE-SMOTE algorithm as measured by the F-value, G-means, and AUC are substantially enhanced, whereas the results using SMOTE alone are not particularly stable. Meanwhile, Borderline-SMOTE1, C-SMOTE, and the k-means-SMOTE algorithm are even worse than random sampling on some datasets. Thus, the CURE-SMOTE algorithm combined with RF has a substantial effect on classification.

Experiment 2 and parameter settings

In this section, to test the effectiveness of the hybrid algorithm for feature selection and parameter optimization, we selected the representative binary classification and multi-classification imbalanced datasets shown in Table 5. These data are randomly stratified by sampling them into four parts with a training set to testing set ratio of 3:1. In this procedure, 4-fold stratified cross validation is used for classification. The parameter settings are listed in Table 6. The depth is set to 20 for experiment 2.

Table 5 Dataset
Table 6 Parameter settings

Results and discussion of the hybrid algorithm

According to the proposed settings in previous works, the parameters for all of the methods were set as follows: nTree = 100, κ =1, \( \left\lfloor \sqrt{M}\right\rfloor \), ⌊ log2(M) + 1⌋ and M. Accuracy, OOB error and margin were selected as the evaluation criteria. The detailed results are listed in Table 7 and Table 8. GA-RF, PSO-RF and AFSA-RF represent the hybrid algorithm.

Table 7 The binary classification results
Table 8 The multi-classification results

From the Connectionist Bench results, we find that the AFSA-RF achieves the minimum OOB error and the maximum margin. The best parameter combination is (151,4), and κ is the same as the traditional value, \( \left\lfloor \sqrt{M}\right\rfloor \). The features selected by AFSA-RF were [1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1], meaning that the 7th and 10th features were removed. PSO-RF obtained the best F-value, G-mean and AUC. On the wine dataset, PSO-RF achieved the minimum OOB error and the maximum G-mean and AUC scores. The best parameter combination is (354,1), and κ is the same as the traditional value, 1. There are 15 features selected in total. Moreover, GA-RF achieved the best F-value and AFSA-RF achieved the best margin. For Ionosphere, we find that GA-RF achieved the best OOB error, F-value and margin. The best parameter combination is (339,9), but the value of κ is considerably different from the classic value. There are 29 total features selected. The best G-mean and AUC scores were obtained by AFSA-RF. For breast-cancer-wisconsin, we GA-RF achieved the best performance for OOB error and margin. The best parameter combination is (319,3), and κ is the same as the traditional value, \( \left\lfloor \sqrt{M}\right\rfloor \). There are nine features selected in total. PSO-RF achieved the maximum F-value, G-mean and AUC.

The multi-classification results show that the hybrid GA-RF, PSO-RF and AFSA-RF almost always discover better features and select better parameter values than the traditional value. There, are some differences between the best κ and the traditional value. The more features there are originally, the greater the number of redundant features that are removed.

Figure 11 demonstrates that, overall, the OOB error values for all the hybrid algorithms are lower than the traditional value with fixed parameters for the six datasets. Although the traditional value is reasonable for some datasets, it fails to achieve good performance over the entire problem set. In conclusion, the hybrid algorithm effectively eliminates redundant features and obtains a suitable combination of parameters. Therefore, it enhances the classification performance of RF on imbalanced high-dimensional data.

Fig. 11
figure 11

Comparison of OOB errors among different methods and datasets

Conclusions

To improve the performance of the random forests algorithm, the CURE-SMOTE algorithm is proposed for imbalanced data classification. The experiments show that the proposed algorithm effectively resolves the shortcomings of the original SMOTE algorithm for typical datasets and that various adaptive clustering techniques can be added to further improve the algorithm. We plan to continue to study the influence of feature selection and parameter settings on RF. The proposed hybrids of RF with intelligent algorithms are used to optimize RF for feature selection and parameter optimization. Simulation results show that the hybrid algorithms achieve the minimum OOB error, the best generalization ability and that their F-value, G-mean and AUC scores are generally better than those obtained using traditional values. The hybrid algorithm provides new effective guidance for feature selection and parameter optimization. The time and data dimensions of the experiments can be increased to further verify the algorithm’s effectiveness.