|
| 1 | +Experiments |
| 2 | +=========== |
| 3 | + |
| 4 | +Baseline |
| 5 | +******** |
| 6 | +For all experiments, we used 5 popular tree-based ensemble methods as baselines. Details on the baselines are listed in the following table: |
| 7 | + |
| 8 | ++------------------+---------------------------------------------------------------+ |
| 9 | +| Name | Introduction | |
| 10 | ++==================+===============================================================+ |
| 11 | +| `Random Forest`_ | An efficient implementation of Random Forest in Scikit-Learn | |
| 12 | ++------------------+---------------------------------------------------------------+ |
| 13 | +| `HGBDT`_ | Histogram-based GBDT in Scikit-Learn | |
| 14 | ++------------------+---------------------------------------------------------------+ |
| 15 | +| `XGBoost EXACT`_ | The vanilla version of XGBoost | |
| 16 | ++------------------+---------------------------------------------------------------+ |
| 17 | +| `XGBoost HIST`_ | The histogram optimized version of XGBoost | |
| 18 | ++------------------+---------------------------------------------------------------+ |
| 19 | +| `LightGBM`_ | Light Gradient Boosting Machine | |
| 20 | ++------------------+---------------------------------------------------------------+ |
| 21 | + |
| 22 | +Environment |
| 23 | +*********** |
| 24 | +For all experiments, we used a single linux server. Details on the specifications are listed in the table below. All processors were used for training and evaluating. |
| 25 | + |
| 26 | ++------------------+-----------------+--------+ |
| 27 | +| OS | CPU | Memory | |
| 28 | ++==================+=================+========+ |
| 29 | +| Ubuntu 18.04 LTS | Xeon E-2288G | 128GB | |
| 30 | ++------------------+-----------------+--------+ |
| 31 | + |
| 32 | +Setting |
| 33 | +******* |
| 34 | +We kept the number of decision trees the same across all baselines, while remaining hyper-parameters were set to their default values. Running scripts on reproducing all experiment results are available, please refer to this `Repo`_. |
| 35 | + |
| 36 | +Dataset |
| 37 | +******* |
| 38 | + |
| 39 | +We have collected a number of datasets for both binary and multi-class classification, as listed in the table below. They were selected based on the following criteria: |
| 40 | + |
| 41 | +- Publicly available and easy to use; |
| 42 | +- Cover different application areas; |
| 43 | +- Reflect high diversity in terms of the number of samples, features, and classes. |
| 44 | + |
| 45 | +As a result, some baselines may fail on datasets with too many samples or features. Such cases are indicated by ``N/A`` in all tables below. |
| 46 | + |
| 47 | ++------------------+------------+-----------+------------+-----------+ |
| 48 | +| Name | # Training | # Testing | # Features | # Classes | |
| 49 | ++==================+============+===========+============+===========+ |
| 50 | +| `ijcnn1`_ | 49,990 | 91,701 | 22 | 2 | |
| 51 | ++------------------+------------+-----------+------------+-----------+ |
| 52 | +| `pendigits`_ | 7,494 | 3,498 | 16 | 10 | |
| 53 | ++------------------+------------+-----------+------------+-----------+ |
| 54 | +| `letter`_ | 15,000 | 5,000 | 16 | 26 | |
| 55 | ++------------------+------------+-----------+------------+-----------+ |
| 56 | +| `connect-4`_ | 67,557 | 20,267 | 126 | 3 | |
| 57 | ++------------------+------------+-----------+------------+-----------+ |
| 58 | +| `sector`_ | 6,412 | 3,207 | 55,197 | 105 | |
| 59 | ++------------------+------------+-----------+------------+-----------+ |
| 60 | +| `covtype`_ | 406,708 | 174,304 | 54 | 7 | |
| 61 | ++------------------+------------+-----------+------------+-----------+ |
| 62 | +| `susy`_ | 4,500,000 | 500,000 | 18 | 2 | |
| 63 | ++------------------+------------+-----------+------------+-----------+ |
| 64 | +| `higgs`_ | 10,500,000 | 500,000 | 28 | 2 | |
| 65 | ++------------------+------------+-----------+------------+-----------+ |
| 66 | +| `usps`_ | 7,291 | 2,007 | 256 | 10 | |
| 67 | ++------------------+------------+-----------+------------+-----------+ |
| 68 | +| `mnist`_ | 60,000 | 10,000 | 784 | 10 | |
| 69 | ++------------------+------------+-----------+------------+-----------+ |
| 70 | +| `fashion mnist`_ | 60,000 | 10,000 | 784 | 10 | |
| 71 | ++------------------+------------+-----------+------------+-----------+ |
| 72 | + |
| 73 | +Classification Accuracy |
| 74 | +*********************** |
| 75 | + |
| 76 | +The table below shows the testing accuracy of each method, with the best result on each dataset **bolded**. Each experiment was conducted over 5 independently trials, and the average result was reported. |
| 77 | + |
| 78 | ++---------------+-------+-------+-----------+-----------+-----------+-------------+ |
| 79 | +| Name | RF | HGBDT | XGB EXACT | XGB HIST | LightGBM | Deep Forest | |
| 80 | ++===============+=======+=======+===========+===========+===========+=============+ |
| 81 | +| ijcnn1 | 98.07 | 98.43 | 98.20 | 98.23 | **98.61** | 98.16 | |
| 82 | ++---------------+-------+-------+-----------+-----------+-----------+-------------+ |
| 83 | +| pendigits | 96.54 | 96.34 | 96.60 | 96.60 | 96.17 | **97.50** | |
| 84 | ++---------------+-------+-------+-----------+-----------+-----------+-------------+ |
| 85 | +| letter | 95.39 | 91.56 | 90.80 | 90.82 | 88.94 | **95.92** | |
| 86 | ++---------------+-------+-------+-----------+-----------+-----------+-------------+ |
| 87 | +| connect-4 | 70.18 | 70.88 | 71.57 | 71.57 | 70.31 | **72.05** | |
| 88 | ++---------------+-------+-------+-----------+-----------+-----------+-------------+ |
| 89 | +| sector | 85.62 | N/A | 66.01 | 65.61 | 63.24 | **86.74** | |
| 90 | ++---------------+-------+-------+-----------+-----------+-----------+-------------+ |
| 91 | +| covtype | 73.73 | 64.22 | 66.15 | 66.70 | 65.00 | **74.27** | |
| 92 | ++---------------+-------+-------+-----------+-----------+-----------+-------------+ |
| 93 | +| susy | 80.19 | 80.31 | 80.32 | **80.35** | 80.33 | 80.18 | |
| 94 | ++---------------+-------+-------+-----------+-----------+-----------+-------------+ |
| 95 | +| higgs | N/A | 74.95 | 75.85 | 76.00 | 74.97 | **76.46** | |
| 96 | ++---------------+-------+-------+-----------+-----------+-----------+-------------+ |
| 97 | +| usps | 93.79 | 94.32 | 93.77 | 93.37 | 93.97 | **94.67** | |
| 98 | ++---------------+-------+-------+-----------+-----------+-----------+-------------+ |
| 99 | +| mnist | 97.20 | 98.35 | 98.07 | 98.14 | **98.42** | 98.11 | |
| 100 | ++---------------+-------+-------+-----------+-----------+-----------+-------------+ |
| 101 | +| fashion mnist | 87.87 | 87.02 | 90.74 | 90.80 | **90.81** | 89.66 | |
| 102 | ++---------------+-------+-------+-----------+-----------+-----------+-------------+ |
| 103 | + |
| 104 | +Runtime |
| 105 | +******* |
| 106 | + |
| 107 | +Runtime in seconds reported in the table below covers both the training stage and evaluating stage. |
| 108 | + |
| 109 | ++---------------+---------+--------+-----------+----------+----------+-------------+ |
| 110 | +| Name | RF | HGBDT | XGB EXACT | XGB HIST | LightGBM | Deep Forest | |
| 111 | ++===============+=========+========+===========+==========+==========+=============+ |
| 112 | +| ijcnn1 | 9.60 | 6.84 | 11.24 | 1.90 | 1.99 | 8.37 | |
| 113 | ++---------------+---------+--------+-----------+----------+----------+-------------+ |
| 114 | +| pendigits | 1.26 | 5.12 | 0.39 | 0.26 | 0.46 | 2.21 | |
| 115 | ++---------------+---------+--------+-----------+----------+----------+-------------+ |
| 116 | +| letter | 0.76 | 1.30 | 0.34 | 0.17 | 0.19 | 2.84 | |
| 117 | ++---------------+---------+--------+-----------+----------+----------+-------------+ |
| 118 | +| connect-4 | 5.17 | 7.54 | 13.26 | 3.19 | 1.12 | 10.73 | |
| 119 | ++---------------+---------+--------+-----------+----------+----------+-------------+ |
| 120 | +| sector | 292.15 | N/A | 632.27 | 593.35 | 18.83 | 521.68 | |
| 121 | ++---------------+---------+--------+-----------+----------+----------+-------------+ |
| 122 | +| covtype | 84.00 | 2.56 | 58.43 | 11.62 | 3.96 | 164.18 | |
| 123 | ++---------------+---------+--------+-----------+----------+----------+-------------+ |
| 124 | +| susy | 1429.85 | 59.09 | 1051.54 | 44.85 | 34.40 | 1866.48 | |
| 125 | ++---------------+---------+--------+-----------+----------+----------+-------------+ |
| 126 | +| higgs | N/A | 523.74 | 7532.70 | 267.64 | 209.65 | 7307.44 | |
| 127 | ++---------------+---------+--------+-----------+----------+----------+-------------+ |
| 128 | +| usps | 9.28 | 8.73 | 9.43 | 5.78 | 9.81 | 6.08 | |
| 129 | ++---------------+---------+--------+-----------+----------+----------+-------------+ |
| 130 | +| mnist | 590.81 | 229.91 | 1156.64 | 762.40 | 233.94 | 599.55 | |
| 131 | ++---------------+---------+--------+-----------+----------+----------+-------------+ |
| 132 | +| fashion mnist | 735.47 | 32.86 | 1403.44 | 2061.80 | 428.37 | 661.05 | |
| 133 | ++---------------+---------+--------+-----------+----------+----------+-------------+ |
| 134 | + |
| 135 | +Some observations are listed as follow: |
| 136 | + |
| 137 | +* Histogram-based GBDT (e.g., :class:`HGBDT`, :class:`XGB HIST`, :class:`LightGBM`) are typically faster mainly because decision tree in GBDT tends to have a much smaller tree depth; |
| 138 | +* With the number of input dimensions increasing (e.g., on mnist and fashion-mnist), random forest and deep forest can be faster. |
| 139 | + |
| 140 | +.. _`Random Forest`: https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html |
| 141 | + |
| 142 | +.. _`HGBDT`: https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.HistGradientBoostingClassifier.html |
| 143 | + |
| 144 | +.. _`XGBoost EXACT`: https://xgboost.readthedocs.io/en/latest/index.html |
| 145 | + |
| 146 | +.. _`XGBoost HIST`: https://xgboost.readthedocs.io/en/latest/index.html |
| 147 | + |
| 148 | +.. _`LightGBM`: https://lightgbm.readthedocs.io/en/latest/ |
| 149 | + |
| 150 | +.. _`Repo`: https://github.com/xuyxu/deep_forest_benchmarks |
| 151 | + |
| 152 | +.. _`ijcnn1`: https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/binary.html#ijcnn1 |
| 153 | + |
| 154 | +.. _`pendigits`: https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/multiclass.html#pendigits |
| 155 | + |
| 156 | +.. _`letter`: https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/multiclass.html#letter |
| 157 | + |
| 158 | +.. _`connect-4`: https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/multiclass.html#connect-4 |
| 159 | + |
| 160 | +.. _`sector`: https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/multiclass.html#sector |
| 161 | + |
| 162 | +.. _`covtype`: https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/multiclass.html#covtype |
| 163 | + |
| 164 | +.. _`susy`: https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/binary.html#SUSY |
| 165 | + |
| 166 | +.. _`higgs`: https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/binary.html#HIGGS |
| 167 | + |
| 168 | +.. _`usps`: https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/multiclass.html#usps |
| 169 | + |
| 170 | +.. _`mnist`: https://keras.io/api/datasets/mnist/ |
| 171 | + |
| 172 | +.. _`fashion mnist`: https://keras.io/api/datasets/fashion_mnist/ |
0 commit comments