oblique.tree (version 1.1.1)

node.impurity: Internal Function to Calculate Impurity of Nodes

Description

Calculates the impurity of a node.

Usage

node.impurity(
	class.probabilities,
	impurity.measure = c("deviance","gini"))

Arguments

class.probabilities
A vector of observed class probabilities.
impurity.measure
Impurity criterion to use.

Value

  • A value for node impurity is returned.

Details

Where $p_i$ are observed class probabilities, ``Gini Impurity'' is calculated as $$i(p) = \sum_{i!=j} p_i p_j = 1-\sum_i p_i^2.$$ The ``deviance'' measure is calculated as $$i(p) = -2 \sum_i p_i \log(p_i)$$ to allow for internal compatibility. Note: $0 \log(0) = 0$.

Examples

Run this code
#A node only has observations of one type
oblique.tree:::node.impurity(
	class.probabilities	= c(1,0,0,0),
	impurity.measure 	= "deviance")

#Another node has equal numbers of observations of each type
oblique.tree:::node.impurity(
	class.probabilities	= c(0.25,0.25,0.25,0.25),
	impurity.measure 	= "deviance")

Run the code above in your browser using DataLab