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 and birthdate–-these values are given in the PopMember.

Population members

SymbolicRegression.../PopMember.jl.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.../HallOfFame.jl.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

SymbolicRegression.../Dataset.jl.DatasetMethod
Dataset(X::AbstractMatrix{T}, y::AbstractVector{T};
        weights::Union{AbstractVector{T}, Nothing}=nothing,
        varMap::Union{Array{String, 1}, Nothing}=nothing)

Construct a dataset to pass between internal functions.

source