Ristretto is a Java package intended to solve feature selection problems. It is based on ECJ and Java-ML.
Packages 
Package Description
ristretto
The ristretto feature selection package
ristretto.ecjtools
Additional classes to those provided by ECJ
ristretto.jmltools
Additional classes to those provided by net.sf.javaml.tools
ristretto.jmltools.classification
Additional classifiers to those provided by net.sf.javaml.classification
ristretto.jmltools.classification.evaluation
Typical classification performance indexes
ristretto.jmltools.clustering
Additional clusterers to those provided by net.sf.javaml.clustering
ristretto.jmltools.clustering.evaluation
Typical clustering validity indices
ristretto.jmltools.distance
Modified distance metrics to take into account only the selected features
ristretto.problem.fs
Feature selection defaults
ristretto.problem.fs.subset
Feature selection classes to support features subset-based individuals
ristretto.problem.fs.subset.breed
Breeding pipelines for features subset-based individuals
ristretto.problem.fs.subset.supervised
Feature selection supervised problems for features subset-based individuals
ristretto.problem.fs.subset.unsupervised
Feature selection unsupervised problems for features subset-based individuals
ristretto.problem.test.zdt
Test problem for multiobjective algorithms
ristretto.tools
Some tools to make the experimentation easier
tests
Some tests
tests.testCoevolution
Dummy test for ECJ coevolutionary problems
tests.testCVI
Test for separation and compactness CVIs
tests.testDirectLDA
Test for the direct LDA method
tests.testLibSVM
Test the SVM method as a wrapper classifier
tests.testNaiveBayes
Test the Naive Bayes method as a wrapper classifier
tests.testNormalization
Test the normalization of datasets
tests.testSplit
Test the division of datasets