Types

Equations

Equations are specified as binary trees with the Node type. Operators defined in Base are re-defined for Node types, so that one can use, e.g., t=Node(1) * 3f0 to create a tree.

Population

Groups of equations are given as a population, which is an array of trees tagged with score, loss, and birthdate–-these values are given in the PopMember.

Population members

SymbolicRegression.PopMemberModule.PopMemberMethod
PopMember(t::Node, score::T, loss::T)

Create a population member with a birth date at the current time.

Arguments

  • t::Node: The tree for the population member.
  • score::T: The score (normalized to a baseline, and offset by a complexity penalty)
  • loss::T: The raw loss to assign.
source
SymbolicRegression.PopMemberModule.PopMemberMethod
PopMember(dataset::Dataset{T}, baseline::T,
          t::Node, options::Options)

Create a population member with a birth date at the current time. Automatically compute the score for this tree.

Arguments

  • dataset::Dataset{T}: The dataset to evaluate the tree on.
  • baseline::T: The baseline loss.
  • t::Node: The tree for the population member.
  • options::Options: What options to use.
source

Hall of Fame

SymbolicRegression.HallOfFameModule.HallOfFameMethod
HallOfFame(options::Options)

Create empty HallOfFame. The HallOfFame stores a list of PopMember objects in .members, which is enumerated by size (i.e., .members[1] is the constant solution). .exists is used to determine whether the particular member has been instantiated or not.

source

Dataset