Skip to main content

GepSymRegression

Struct GepSymRegression 

Source
pub struct GepSymRegression<F: FunctionSet> { /* private fields */ }
Expand description

A symbolic-regression BatchFitnessFn for GEP populations.

Holds the target dataset (input rows and expected outputs) and the alphabet to decode against. evaluate_batch pulls the population to host and, in parallel across rows (rayon), decodes each chromosome to an ExpressionTree and scores it by mean squared error. Decoding is deterministic, so the row-parallel order does not affect results.

Implementations§

Source§

impl<F: FunctionSet> GepSymRegression<F>

Source

pub fn new( alphabet: Alphabet<F>, genome_len: usize, inputs: Vec<Vec<f32>>, targets: Vec<f32>, ) -> Self

Builds the fitness function from an alphabet, the genome length, the input rows, and the matching expected outputs.

§Panics

Panics if:

  • inputs is empty — an empty dataset would make MSE 0.0 / 0.0 = NaN fitness (n_points == 0), silently poisoning the population.
  • inputs and targets differ in length.
  • any input row does not have exactly alphabet.n_vars entries — a short row is otherwise silently zero-padded by ExpressionTree::eval (inputs.get(i).unwrap_or(0.0)), so the regression would quietly fit the wrong target.

Trait Implementations§

Source§

impl<B: Backend, F: FunctionSet> BatchFitnessFn<B, Tensor<B, 2, Int>> for GepSymRegression<F>

Source§

fn evaluate_batch( &mut self, population: &Tensor<B, 2, Int>, device: &<B as BackendTypes>::Device, ) -> Tensor<B, 1>

Evaluates every member of population and returns a fitness tensor in the objective’s natural value space (no hand-negation). Read more
Source§

fn sense(&self) -> ObjectiveSense

The optimisation direction of this objective. Read more
Source§

impl<F: Clone + FunctionSet> Clone for GepSymRegression<F>

Source§

fn clone(&self) -> GepSymRegression<F>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<F: Debug + FunctionSet> Debug for GepSymRegression<F>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<F> Freeze for GepSymRegression<F>
where F: Freeze,

§

impl<F> RefUnwindSafe for GepSymRegression<F>
where F: RefUnwindSafe,

§

impl<F> Send for GepSymRegression<F>

§

impl<F> Sync for GepSymRegression<F>

§

impl<F> Unpin for GepSymRegression<F>
where F: Unpin,

§

impl<F> UnsafeUnpin for GepSymRegression<F>
where F: UnsafeUnpin,

§

impl<F> UnwindSafe for GepSymRegression<F>
where F: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Adaptor<()> for T

Source§

fn adapt(&self)

Adapt the type to be passed to a metric.
Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<C> CloneExpand for C
where C: Clone,

Source§

fn __expand_clone_method(&self, _scope: &mut Scope) -> C

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Downcast<T> for T

Source§

fn downcast(&self) -> &T

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoComptime for T

Source§

fn comptime(self) -> Self

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> TuneInputs for T
where T: Clone + Send + Sync + 'static,

Source§

type At<'a> = T

The concrete input type at lifetime 'a.
Source§

impl<T> Upcast<T> for T

Source§

fn upcast(&self) -> Option<&T>

Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more