CBE: A Complexity-adaptive Boundary-aware Ensemble Method for Imbalanced Data
Organizations: School of Industrial Software, Jiangxi University of Science and Technology, Nanchang 330044, China
Abstract
In many real-world classification tasks, datasets exhibit class imbalance, which can degrade the generalization performance of conventional learning algorithms. Data complexity has recently been recognized as a more objective indicator of learning difficulty than the imbalance ratio alone, because class overlap and complex decision boundaries often impair classifiers more severely than imbalance itself. Samples near the decision boundary are inherently difficult to classify, which has motivated many researchers to focus on such instances to improve classifier performance. However, most under-sampling approaches fail to differentiate their sampling of boundary samples across datasets of varying complexity. To overcome this limitation, we propose a complexity-adaptive boundary-aware ensemble (CBE) framework that links the sampling weight distribution to data complexity and dynamically adjusts the boundary preference of under-sampling accordingly. We also introduce an overall complexity measure that combines metrics at multiple levels and use it to divide imbalanced datasets into three categories. Extensive experiments on 24 benchmark datasets from UCI and KEEL show that the proposed method outperforms many existing methods in terms of F-measure and G-mean on Easy and Median datasets, without degrading performance on hard cases.
Figures & tables
| Category | OCM | |||
|---|---|---|---|---|
| Easy | Low | Low | Low | Low |
| Median | Low/Median | Low/Median | High/Median | Median |
| Hard | High | High | High | High |
| Dataset | OCM | Category | |||
|---|---|---|---|---|---|
| Clear Blob | 0.1 | 0.1 | 0.06 | 0.09 | Easy |
| Moon | 0.31 | 0.23 | 0.38 | 0.28 | Median |
| Spiral | 0.2 | 0.11 | 1.0 | 0.32 | Median |
| Overlap Blob | 0.82 | 0.65 | 1.0 | 0.77 | Hard |
| Dataset | Size | Features | Imbalance Ratio | N1 | N3 | L2 | OCM |
|---|---|---|---|---|---|---|---|
| mfeat-fac | 2000 | 216 | 9.00 | 0.050 | 0.020 | 0.000 | 0.025 |
| mfeat-pix | 2000 | 240 | 9.00 | 0.045 | 0.025 | 0.000 | 0.026 |
| mfeat-kar | 2000 | 64 | 9.00 | 0.070 | 0.050 | 0.010 | 0.048 |
| newthyroid2 | 215 | 5 | 5.14 | 0.171 | 0.029 | 0.029 | 0.072 |
| vowel0 | 988 | 13 | 9.98 | 0.133 | 0.000 | 0.167 | 0.073 |
| vehicle | 845 | 18 | 3.25 | 0.176 | 0.060 | 0.035 | 0.090 |
| Predicted Positive Class | Predicted Negative Class | |
|---|---|---|
| Actual Positive Class | TP(true positive) | FN(false negative) |
| Actual Negative Class | FP(false positive) | TN(true negative) |
| CART | Ada | RF | UAda | URF | BB | BRF | RUSB | EE | CBE | |
|---|---|---|---|---|---|---|---|---|---|---|
| mfeat-fac | 0.064 | 0.540 | 0.245 | 0.036 | 0.064 | 0.169 | 0.106 | 0.016 | 0.105 | 0.169 |
| mfeat-pix | 0.012 | 0.198 | 0.091 | 0.067 | 0.045 | 0.134 | 0.076 | 0.017 | 0.077 | 0.139 |
| mfeat-kar | 0.045 | 0.596 | 0.288 | 0.104 | 0.06 | 0.139 | 0.102 | 0.028 | 0.109 | 0.138 |
| newthyroid2 | 0.000 | 0.003 | 0.034 | 0.001 | 0.033 | 0.081 | 0.051 | 0.004 | 0.019 | 0.026 |
| vowel0 | 0.002 | 0.066 | 0.058 | 0.010 | 0.035 | 0.089 | 0.058 | 0.007 | 0.038 | 0.050 |
| vehicle | 0.001 | 0.094 | 0.052 | 0.059 | 0.042 | 0.099 | 0.068 | 0.010 | 0.064 | 0.071 |
| Easy | mfeat-fac | mfeat-pix | mfeat-kar | newthyroid2 | vowel0 | vehicle | musk2 | ecoli4 | Average |
|---|---|---|---|---|---|---|---|---|---|
| CART | 0.914 0.032 | 0.854 0.040 | 0.764 0.056 | 0.849 0.103 | 0.881 0.081 | 0.846 0.049 | 0.886 0.019 | 0.700 0.202 | 0.8370 |
| Ada | 0.963 0.024 | 0.950 0.021 | 0.843 0.047 | 0.924 0.085 | 0.984 0.025 | 0.949 0.021 | 0.907 0.018 | 0.729 0.252 | 0.9061 |
| RF | 0.955 0.022 | 0.941 0.022 | 0.843 0.050 | 0.945 0.063 | 0.949 0.039 | 0.927 0.029 | 0.916 0.014 | 0.677 0.288 | 0.8942 |
| UAda | 0.886 0.077 | 0.944 0.033 | 0.928 0.069 | 0.843 0.136 | 0.802 0.101 | 0.901 0.037 | 0.871 0.021 | 0.519 0.208 | 0.8367 |
| URF | 0.905 0.045 | 0.926 0.036 | 0.923 0.035 | 0.927 0.073 | 0.801 0.065 | 0.875 0.041 | 0.808 0.030 | 0.603 0.191 | 0.8459 |
| BB | 0.935 0.033 | 0.954 0.025 | 0.942 0.023 | 0.957 0.061 | 0.871 0.049 | 0.900 0.034 | 0.896 0.017 | 0.742 0.172 | 0.8996 |
| F-measure | CART | Ada | RF | UAda | URF | BB | BRF | RUSB | EE | CBE |
|---|---|---|---|---|---|---|---|---|---|---|
| CART | — | 0-1-7 | 0-1-7 | 2-2-4 | 2-1-5 | 0-1-7 | 0-1-7 | 0-4-4 | 0-2-6 | 0-0-8 |
| Ada | 7-1-0 | — | 4-2-2 | 6-1-1 | 6-1-1 | 4-2-2 | 4-2-2 | 6-2-0 | 3-4-1 | 1-2-5 |
| RF | 7-1-0 | 2-2-4 | — | 6-1-1 | 5-2-1 | 4-2-2 | 4-2-2 | 7-1-0 | 5-1-2 | 1-1-6 |
| UAda | 4-2-2 | 1-1-6 | 1-1-6 | — | 3-2-3 | 0-2-6 | 0-2-6 | 4-2-2 | 0-1-7 | 0-0-8 |
| URF | 5-1-2 | 1-1-6 | 1-2-5 | 3-2-3 | — | 0-0-8 | 0-0-8 | 3-4-1 | 0-1-7 | 0-0-8 |
| BB | 7-1-0 | 2-2-4 | 2-2-4 | 6-2-0 | 8-0-0 | — | 0-8-0 | 8-0-0 | 2-4-2 | 0-2-6 |
| Easy | mfeat-fac | mfeat-pix | mfeat-kar | newthyroid2 | vowel0 | vehicle | musk2 | ecoli4 | Average |
|---|---|---|---|---|---|---|---|---|---|
| CART | 0.946 0.027 | 0.914 0.032 | 0.858 0.046 | 0.915 0.071 | 0.937 0.053 | 0.896 0.039 | 0.931 0.014 | 0.834 0.178 | 0.9040 |
| Ada | 0.967 0.021 | 0.951 0.020 | 0.855 0.042 | 0.945 0.070 | 0.985 0.024 | 0.968 0.016 | 0.913 0.017 | 0.779 0.239 | 0.9204 |
| RF | 0.958 0.021 | 0.944 0.022 | 0.855 0.044 | 0.951 0.057 | 0.958 0.035 | 0.954 0.021 | 0.924 0.013 | 0.706 0.277 | 0.9061 |
| UAda | 0.973 0.023 | 0.984 0.011 | 0.975 0.024 | 0.938 0.055 | 0.966 0.025 | 0.964 0.014 | 0.958 0.010 | 0.869 0.160 | 0.9535 |
| URF | 0.977 0.013 | 0.973 0.013 | 0.966 0.016 | 0.980 0.036 | 0.972 0.013 | 0.954 0.016 | 0.939 0.010 | 0.931 0.071 | 0.9613 |
| BB | 0.976 0.017 | 0.973 0.016 | 0.955 0.020 | 0.987 0.033 | 0.979 0.017 | 0.962 0.014 | 0.956 0.008 | 0.932 0.091 | 0.9651 |
| G-mean | CART | Ada | RF | UAda | URF | BB | BRF | RUSB | EE | CBE |
|---|---|---|---|---|---|---|---|---|---|---|
| CART | — | 0-1-7 | 0-1-7 | 0-0-8 | 0-0-8 | 0-0-8 | 0-0-8 | 0-0-8 | 0-0-8 | 0-0-8 |
| Ada | 7-1-0 | — | 5-2-1 | 1-3-4 | 2-0-6 | 1-1-6 | 1-1-6 | 2-1-5 | 1-1-6 | 0-1-7 |
| RF | 7-1-0 | 1-2-5 | — | 0-2-6 | 0-1-7 | 0-0-8 | 0-0-8 | 1-1-6 | 0-0-8 | 0-0-8 |
| UAda | 8-0-0 | 4-3-1 | 6-2-0 | — | 4-2-2 | 2-3-3 | 2-3-3 | 4-3-1 | 0-3-5 | 0-2-6 |
| URF | 8-0-0 | 6-0-2 | 7-1-0 | 2-2-4 | — | 1-3-4 | 1-3-4 | 5-3-0 | 0-2-6 | 0-2-6 |
| BB | 8-0-0 | 6-1-1 | 8-0-0 | 3-3-2 | 4-3-1 | — | 0-8-0 | 6-2-0 | 0-3-5 | 0-2-6 |
Class-Imbalanced Learning
Class-imbalanced learning develops classifiers that recognize rare classes without sacrificing performance on common ones.
See all 260 papers