HDFIS-prod and HDFIS-min
Article: G. Xue, J. Wang, K. Zhang and N. R. Pal, "High-dimensional fuzzy inference systems", IEEE Transactions on Systems, Man, and Cybernetics: Systems, vol. 54, no. 1, pp. 507-519, 2024.
Script: examples/reproductions/hdfis_2023.py
Protocol of the Article
Section IV-B of the article. These settings are the defaults of the HDFIS estimators, so the script builds the models without arguments.
| Point | Article | In the script |
|---|---|---|
| Inputs | scaled to \([0, 1]\) | MinMaxScaler fitted on the training part |
| Fuzzy sets | three per feature, centres 0, 0.5 and 1, spreads of 1 | defaults (mf_init="grid", n_mfs=3) |
| Rules | three, one per fuzzy set | default |
| Consequents | start at zero | default |
| Optimizer | Adam, batches of 64, 100 epochs | defaults; learning rate 0.01 |
| HDFIS-min | antecedents fixed, consequents trained | default |
| Split | 70% training, 30% test, ten repetitions | train_test_split(train_size=0.7), ten seeds |
Result
Output of the script, on four threads; the standard deviation is over the ten repetitions. For HDFIS-min the article's value is the one with the conventional membership function and the consequents trained by Adam (Table V).
Tables II and V: mean test accuracy in percent
dataset family article highFIS std
Colon HDFIS-prod 87.89 87.89 6.25
Colon HDFIS-min 87.37 87.89 6.25
Leukemia HDFIS-prod 99.09 97.27 3.02
Leukemia HDFIS-min 99.09 97.27 3.02
Summary of the last model fitted
HDFISMinClassifier
task classification, 2 classes
features 7129 seen in fit, 7129 used by the model
rules 3 (rule base: coco)
fuzzy sets 3 per feature, GaussianMF
firing strength RuleLayer, T-norm MinimumTNorm
defuzzifier SumBasedDefuzzifier
consequents ClassificationConsequentLayer
parameters 42780 trainable (0 antecedent, 42780 consequent)
Training
batch size 64
epochs 100 epochs, learning rate 0.01, training loss 0.5000 -> 0.0321, training accuracy 1.0000
The article reports standard deviations of 7.08 and 7.14 on Colon and of 1.82 on Leukemia. Colon is reproduced exactly. On Leukemia highFIS is 1.8 points below, less than one standard deviation, with 22 test samples per split.
Choice of the Splits
The result depends on the ten random splits. The script starts at seed 1, the first
seed whose ten splits are closest to the article on both datasets, among the seeds 0 to
50. Over those blocks of ten splits Colon goes from 82.63 to 88.95 and Leukemia from
95.45 to 97.73. Changing SEED in the script selects other splits.
Comparison with the Authors' Code
The authors publish their implementation. Run on the same ten splits as highFIS (seeds 0 to 9, not the splits of the script), with the same learning rate, it gives the same test accuracy on every split of Colon and Leukemia for both models, and on nine of ten splits of SRBCT for HDFIS-prod (one test sample of difference on the tenth). The distance from the article on Leukemia is therefore a matter of the splits, not of the implementation.
| Dataset | Model | Authors' code | highFIS |
|---|---|---|---|
| Colon | HDFIS-prod | 86.84 ± 5.88 (learning rate 0.001) | 86.84 ± 5.88 (learning rate 0.001) |
| Leukemia | HDFIS-prod | 95.91 ± 5.55 | 95.91 ± 5.55 |
| Leukemia | HDFIS-min | 95.91 ± 5.55 | 95.91 ± 5.55 |
| SRBCT (83 samples, 2308 genes) | HDFIS-prod | 94.00 ± 4.10 (learning rate 0.001) | 93.60 ± 3.67 (learning rate 0.001) |
| SRBCT | HDFIS-min | 96.80 ± 2.99 (learning rate 0.001) | 96.80 ± 2.99 (learning rate 0.001) |
Differences from the Article
- Learning rate. The article does not state it, and the authors' code uses 0.001. The default of highFIS is 0.01. On SRBCT the two values give 93.6 and 98.0 for HDFIS-prod (the article reports 99.20), on Colon 86.84 and 87.89.
- Precision. The authors' code works in double precision. highFIS works in single precision and computes the product of HDFIS-prod in the logarithmic domain, which gives the same normalized firing strengths.
- Datasets. The article uses fourteen classification datasets and four regression datasets. Colon and Leukemia are the two that OpenML provides with the samples and features of the article and without further dependencies. The copy of Colon on OpenML is already normalized.
- Variants. The article also reports HDFIS-min with the dimension-dependent membership function, and both models with the consequents estimated by least squares. highFIS does not implement these variants.
Reproducibility
The script fixes the seeds, uses deterministic algorithms and four threads, and ends by printing the versions of the libraries and the processor. Another processor or another version of the numerical libraries can change the last digits.
Run It
The data are downloaded from OpenML on the first run. A run takes about four minutes.