org.jgap.symbolic
Class SymbolicRegression
- java.lang.Object
-
- org.jgap.gp.GPProblem
-
- org.jgap.symbolic.SymbolicRegression
-
public class SymbolicRegression extends GPProblem
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description static classSymbolicRegression.FormulaFitnessFunctionFitness function for evaluating the produced fomulas, represented as GP programs.
-
Field Summary
Fields Modifier and Type Field and Description static intadfAritystatic java.lang.String[]adfFunctionsstatic java.lang.StringadfTypestatic booleanalldifferentVariablesstatic doublealldifferentVariablesPenaltystatic java.util.ArrayList<java.lang.Double>constantsstatic floatcrossoverProbstatic floatdynamizeArityProbstatic longendTimestatic java.lang.StringerrorMethodstatic booleanfoundPerfectstatic doublefunctionProbstatic java.lang.String[]functionsstatic doublehitsCriteriastatic int[]ignoreVariablesstatic doublelowerRangestatic booleanmakeTimeSeriesstatic booleanmakeTimeSeriesWithIndexstatic intmaxCrossoverDepthstatic intmaxInitDepthstatic intmaxNodesstatic intminInitDepthstatic intminNodesstatic doubleminNodesPenaltystatic intmodReplacestatic floatmutationProbstatic doublenewChromsPercentstatic booleannoCommandGeneCloningstatic booleannoTerminalsstatic intnumEvolutionsstatic intnumInputVariablesstatic intnumRowsstatic java.lang.IntegeroutputVariablestatic intpopulationSizestatic java.lang.Stringpresentationstatic intprogramCreationMaxTriesstatic floatreproductionProbstatic intresultPrecisionstatic java.lang.StringreturnTypestatic doublesamplePCTstatic doublescaleErrorstatic booleanshowAllGenerationsstatic booleanshowPopulationstatic booleanshowProgressionstatic booleanshowResultsstatic booleanshowSimiliarstatic java.lang.StringsimiliarSortMethodstatic longstartTimestatic doublestopCriteriaFitnessstatic booleanstrictProgramCreationstatic booleanterminalWholeNumbersstatic java.lang.Double[][]testDatastatic inttournamentSelectorSizestatic doubleupperRangestatic booleanuseADFstatic booleanuseProgramCachestatic doublevalidationPCTstatic java.lang.String[]variableNamesstatic Variable[]variablesstatic booleanverboseOutput
-
Constructor Summary
Constructors Constructor and Description SymbolicRegression(GPConfiguration a_conf)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description static double[]calcAllErrors(double error, double[] errors)static doublecorrelation(java.lang.Double[] y1, double[] y2, int n)Due to lazyness this is borrowed from Weka's weka/core/Utils.java, slightly edited.GPGenotypecreate()This method is used for setting up the commands and terminals that can be used to solve the problem.static java.lang.DoubleevalData(IGPProgram ind, java.lang.Double[] data)static double[]getMinMax(double[] arr)static voidmain(java.lang.String[] args)Starts the example.static voidmyOutputSolution(IGPProgram a_best, int gen)Outputs the best solution until now at standard output.static voidreadFile(java.lang.String file)static java.lang.Double[][]transposeMatrix(java.lang.Double[][] m)static doublevalidateData(IGPProgram ind)-
Methods inherited from class org.jgap.gp.GPProblem
createTree, getGPConfiguration, showTree, showTree
-
-
-
-
Field Detail
-
numInputVariables
public static int numInputVariables
-
variables
public static Variable[] variables
-
variableNames
public static java.lang.String[] variableNames
-
outputVariable
public static java.lang.Integer outputVariable
-
ignoreVariables
public static int[] ignoreVariables
-
constants
public static java.util.ArrayList<java.lang.Double> constants
-
numRows
public static int numRows
-
foundPerfect
public static boolean foundPerfect
-
minInitDepth
public static int minInitDepth
-
maxInitDepth
public static int maxInitDepth
-
populationSize
public static int populationSize
-
maxCrossoverDepth
public static int maxCrossoverDepth
-
programCreationMaxTries
public static int programCreationMaxTries
-
numEvolutions
public static int numEvolutions
-
verboseOutput
public static boolean verboseOutput
-
maxNodes
public static int maxNodes
-
functionProb
public static double functionProb
-
reproductionProb
public static float reproductionProb
-
mutationProb
public static float mutationProb
-
crossoverProb
public static float crossoverProb
-
dynamizeArityProb
public static float dynamizeArityProb
-
newChromsPercent
public static double newChromsPercent
-
tournamentSelectorSize
public static int tournamentSelectorSize
-
noCommandGeneCloning
public static boolean noCommandGeneCloning
-
strictProgramCreation
public static boolean strictProgramCreation
-
useProgramCache
public static boolean useProgramCache
-
lowerRange
public static double lowerRange
-
upperRange
public static double upperRange
-
terminalWholeNumbers
public static boolean terminalWholeNumbers
-
returnType
public static java.lang.String returnType
-
presentation
public static java.lang.String presentation
-
adfArity
public static int adfArity
-
adfType
public static java.lang.String adfType
-
useADF
public static boolean useADF
-
functions
public static java.lang.String[] functions
-
adfFunctions
public static java.lang.String[] adfFunctions
-
scaleError
public static double scaleError
-
startTime
public static long startTime
-
endTime
public static long endTime
-
stopCriteriaFitness
public static double stopCriteriaFitness
-
showPopulation
public static boolean showPopulation
-
showSimiliar
public static boolean showSimiliar
-
similiarSortMethod
public static java.lang.String similiarSortMethod
-
showProgression
public static boolean showProgression
-
showAllGenerations
public static boolean showAllGenerations
-
showResults
public static boolean showResults
-
resultPrecision
public static int resultPrecision
-
samplePCT
public static double samplePCT
-
hitsCriteria
public static double hitsCriteria
-
validationPCT
public static double validationPCT
-
testData
public static java.lang.Double[][] testData
-
modReplace
public static int modReplace
-
makeTimeSeries
public static boolean makeTimeSeries
-
makeTimeSeriesWithIndex
public static boolean makeTimeSeriesWithIndex
-
errorMethod
public static java.lang.String errorMethod
-
noTerminals
public static boolean noTerminals
-
minNodes
public static int minNodes
-
minNodesPenalty
public static double minNodesPenalty
-
alldifferentVariables
public static boolean alldifferentVariables
-
alldifferentVariablesPenalty
public static double alldifferentVariablesPenalty
-
-
Constructor Detail
-
SymbolicRegression
public SymbolicRegression(GPConfiguration a_conf) throws InvalidConfigurationException
- Throws:
InvalidConfigurationException
-
-
Method Detail
-
create
public GPGenotype create() throws InvalidConfigurationException
This method is used for setting up the commands and terminals that can be used to solve the problem.- Specified by:
createin classGPProblem- Returns:
- GPGenotype
- Throws:
InvalidConfigurationException
-
readFile
public static void readFile(java.lang.String file)
-
transposeMatrix
public static java.lang.Double[][] transposeMatrix(java.lang.Double[][] m)
-
main
public static void main(java.lang.String[] args) throws java.lang.ExceptionStarts the example.- Throws:
java.lang.Exception
-
myOutputSolution
public static void myOutputSolution(IGPProgram a_best, int gen)
Outputs the best solution until now at standard output. This is stolen (and somewhat edited) from GPGenotype.outputSolution which used log4j.- Parameters:
a_best- the fittest ProgramChromosome
-
correlation
public static final double correlation(java.lang.Double[] y1, double[] y2, int n)Due to lazyness this is borrowed from Weka's weka/core/Utils.java, slightly edited. [Copyright (C) 1999-2004 University of Waikato, Hamilton, New Zealand] Weka is a great machine learning/data mining system: http://www.cs.waikato.ac.nz/~ml/weka/index.html Returns the correlation coefficient of two double vectors.- Parameters:
y1- Double vector 1y2- double vector 2n- the length of two double vectors- Returns:
- the correlation coefficient
-
validateData
public static double validateData(IGPProgram ind)
-
calcAllErrors
public static double[] calcAllErrors(double error, double[] errors)
-
evalData
public static java.lang.Double evalData(IGPProgram ind, java.lang.Double[] data)
-
getMinMax
public static double[] getMinMax(double[] arr)
-
-
DMelt 3.0 © DataMelt by jWork.ORG