Skip to content

alexgcsa/EpochX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

EpochX

Source code of the modified EpochX (version 1.4.1) framework for the Automated Multi-Label Classification (Auto-MLC) project. The original code is available at https://www.epochx.org/ and https://github.com/tc33/EpochX.

Main differences to the original version:

  1. It allows the generation of random float numbers (from a range) into the production rules, by using "RANDFLOAT(0.0,1.0)";
  2. It allows the generation of random integer numbers (from a range) into the production rules, by using "RANDINT_TYPE0(1,64)";
  3. It allows the generation of random integer numbers (from a range) into the production rules, restricted by the square root of the number of class labels plus one, by using "RANDINT_TYPE1(1,SQRT(L)+1)";
  4. It allows the generation of random integer numbers (from a range) into the production rules, restricted by the number of class labels divided by two, by using "RANDINT_TYPE2(1,L/2)";
  5. It allows the generation of random integer numbers (from a range) into the production rules, restricted by the minimum value between 100 and two times the number of class labels, by using "RANDINT_TYPE3(2,min(2L;100))";
  6. It allows the generation of random integer numbers (from a range) into the production rules, restricted by the range from 20% to 100% of the number of attributes of the problem, by using "RANDINT_TYPE4((0.2,1.0)*n_attributes)";
  7. It allows the generation of random integer numbers (from a range) into the production rules, restricted by the number of class labels of the problem, by using "RANDINT_TYPE5(1,L)";
  8. It allows the generation of random integer numbers (from a range) into the production rules, restricted by the number of class labels minus one (1), by using "RANDINT_TYPE6(2,L-1)";
  9. Because of legibility issues of the grammar, we automatically add space to separate the produced terminals. Hence, the user that will create the grammar does not need to add " " after each terminal and non-terminal.
  10. Removal of code not related to grammar-based genetic programming (GGP).
  11. GRCandidateProgram: Definition of two methods, named setFitness and getFitnessValue

If you are using this framework, please cite its paper:

=> F. Otero, T. Castle, and C. Johnson. EpochX: genetic programming in java with statistics and event monitoring. In Proceedings of the 14th annual conference companion on Genetic and evolutionary computation (GECCO Companion), ACM, New York, NY, USA, 93-100, 2012. DOI: https://doi.org/10.1145/2330784.2330800.

Releases

No releases published

Packages

No packages published

Languages