kumulant

RegressionSplitNode

Routes by split to either pos (true) or neg (false). The optional carryover holds aggregates that don't structurally belong to either child; the pre-split data frozen at split time, or orphans absorbed from a mixed merge. Never written by the update hot path; never read by findLeaf or predict; included by subtreeAggregate.

Constructors

Link copied to clipboard
constructor(split: Split, pos: RegressionNode, neg: RegressionNode, carryover: SeriesStat<WeightedVarianceResult>? = null)

Properties

Link copied to clipboard

One-shot carry-over aggregate, or null if the split holds no orphan data. Mutated only under the owning RegressionTree's split lock during merges; volatile so concurrent snapshots see a consistent reference.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Predicate routing observations into pos (true) or neg (false).

Functions

Link copied to clipboard
open override fun findLeaf(row: VectorView): RegressionLeafNode

Walk to the leaf this row resolves to.

Link copied to clipboard

Freeze a live tree node into an immutable snapshot. Internal split aggregates are derived from the snapshotted children so the wire format stays stable even though live splits hold no arm.

RegressionSplitNode

constructor(split: Split, pos: RegressionNode, neg: RegressionNode, carryover: SeriesStat<WeightedVarianceResult>? = null)(source)

carryover

One-shot carry-over aggregate, or null if the split holds no orphan data. Mutated only under the owning RegressionTree's split lock during merges; volatile so concurrent snapshots see a consistent reference.

findLeaf

open override fun findLeaf(row: VectorView): RegressionLeafNode(source)

Walk to the leaf this row resolves to.

neg

pos

split

Predicate routing observations into pos (true) or neg (false).