class ModelLeaf[T] extends ModelNode[PredictionResult[T]]
- Alphabetic
- By Inheritance
- ModelLeaf
- ModelNode
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ModelLeaf(model: Model[PredictionResult[T]], depth: Int, trainingWeight: Double)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getTrainingWeight(): Double
Weight of training data in subtree, specifically the number of data for unweighted training sets
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- 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.
- def shapleyRecurse(input: Vector[AnyVal], omitFeatures: Set[Int], featureWeights: Map[Int, FeatureWeightFactor]): DenseMatrix[Double]
Compute the contribution to SHAP in the leaf based on the features that were encountered between the root node and this leaf.
Compute the contribution to SHAP in the leaf based on the features that were encountered between the root node and this leaf. Note that the order of these features does *not* matter.
The contributions are based on a tricky combinatorial factor that can be computed using dynamic programming. For details of this procedure, see FeaturePowerSetTerms.
- 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.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def transform(input: Vector[AnyVal]): (PredictionResult[T], TreeMeta)
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()