Ristretto is a Java package intended to solve feature selection problems. It is based on ECJ and Java-ML.
It provides an individual representation based on subsets of selected features and specific mutation and crossover operators for this representation. It also provides NSGA-2-based multi-objective algorithms for supervised and unsupervised problems and a lexicographic co-evolutionary many-objective algorithm for supervised problems, able to optimize simultaneously the parameters of a classifier while the most relevant features are also being selected.
Ristretto requires Java SE 7 or above. It also depends on the following Java libraries:
- ECJ (version 24),
- Java-ML,
- Apache Commons Math, and
- LIBSVM, if SVM classifiers are desired
Some tests also make use of gnuplot to show their results graphically and MATLAB to make some statistics.
Ristretto is fully documented in its github-pages. You can also generate its docs from the source code. Simply change directory to the docs
subfolder and type in make
.
The tests
subfolder contains several examples that show the basic usage of Ristretto.
- J. González, J. Ortega, M. Damas, P. Martín-Smith, J. Q. Gan. A new multi-objective wrapper method for feature selection – Accuracy and stability analysis for BCI, Neurocomputing, 333:407-418, 2019. https://doi.org/10.1016/j.neucom.2019.01.017
- J. González, J. Ortega, M. Damas, P. Martín-Smith. Many-Objective Cooperative Co-evolutionary Feature Selection: A Lexicographic Approach. In: I. Rojas, G. Joya, A. Catala (eds) Advances in Computational Intelligence. IWANN 2019. Lecture Notes in Computer Science, vol 11507. Springer, Cham. https://doi.org/10.1007/978-3-030-20518-8_39
- J. González, J. Ortega, J. J. Escobar, M. Damas. A Lexicographic Cooperative Co-Evolutionary Approach for Feature Selection, Neurocomputing, 463:59-76, 2021. https://doi.org/10.1016/j.neucom.2021.08.003
This work was supported by project Energy-aware High Performance Multi-objective Optimization in Heterogeneous Computer Architectures. Applications on Biomedical Engineering (e-hpMOBE), with reference TIN2015-67020-P, funded by the Spanish Ministerio de Economía y Competitividad, and by the European Regional Development Fund (ERDF).
Ristretto © 2015 EFFICOMP.