Packages

c

io.citrine.lolo.trees

InternalModelNode

class InternalModelNode[T <: PredictionResult[Any]] extends ModelNode[T]

Internal node in the decision tree

T

type of the output

Linear Supertypes
ModelNode[T], Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. InternalModelNode
  2. ModelNode
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new InternalModelNode(split: Split, left: ModelNode[T], right: ModelNode[T], outputDimension: Int, trainingWeight: Double)

    split

    to decide which branch to take

    left

    branch node

    right

    branch node

    outputDimension

    dimension of model output, used for Shapley computation 1 for single-task regression, or equal to the number of classification categories.

    trainingWeight

    weight of training data in subtree (i.e. size of unweighted training set)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def getTrainingWeight(): Double

    Weight of training data in subtree, specifically the number of data for unweighted training sets

    Weight of training data in subtree, specifically the number of data for unweighted training sets

    returns

    total weight of training weight in subtree

    Definition Classes
    InternalModelNodeModelNode
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. def shapley(input: Vector[AnyVal], omitFeatures: Set[Int] = Set()): Option[DenseMatrix[Double]]

    Compute Shapley feature attributions for a given input in this node's subtree

    Compute Shapley feature attributions for a given input in this node's subtree

    input

    for which to compute feature attributions.

    returns

    array of vector-valued attributions for each feature One Vector[Double] per feature, each of length equal to the output dimension.

    Definition Classes
    InternalModelNodeModelNode
  17. def shapleyRecurse(input: Vector[AnyVal], omitFeatures: Set[Int], featureWeights: Map[Int, FeatureWeightFactor]): DenseMatrix[Double]

    On the way down: append this node to the set of features that have been encountered in this path through the decision tree unless this feature is in the omitted features list.

    On the way down: append this node to the set of features that have been encountered in this path through the decision tree unless this feature is in the omitted features list.

    On the way up: sum the contributions from the two children of this node. If the feature that this node splits on is in the omitted features list, then multiply the contributions by the share of the training data that went to each child in lieu of including the feature on the way down.

    input

    for which to compute feature attributions.

    featureWeights

    Map from feature index to FeatureWeightFactor, which stores the weight of the child of the split when the feature is known vs unknown

    returns

    matrix of attributions for each feature and output One row per feature, each of length equal to the output dimension. The output dimension is 1 for single-task regression, or equal to the number of classification categories.

    Definition Classes
    InternalModelNodeModelNode
  18. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  19. def toString(): String
    Definition Classes
    AnyRef → Any
  20. def transform(input: Vector[AnyVal]): (T, TreeMeta)

    Just propagate the prediction call through the appropriate child

    Just propagate the prediction call through the appropriate child

    input

    to predict for

    returns

    prediction

    Definition Classes
    InternalModelNodeModelNode
  21. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  22. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  23. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from ModelNode[T]

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped