public double score ( Instance inst , int sizeLimit ) { double anomalyScore = 0.0 ; if ( this . internalNode && this . r > sizeLimit ) { if ( inst . value ( this . splitAttribute ) > this . splitValue ) anomalyScore = right . score ( inst , sizeLimit ) ; else anomalyScore = left . score ( inst , sizeLimit ) ; } else { anomalyScore = this . r * Math . pow ( 2.0 , this . depth ) ; } return anomalyScore ; }
If this node is a leaf node or it has a mass profile of less than sizeLimit this returns the anomaly score for the argument instance . Otherwise this node determines which of its subordinate nodes the argument instance belongs to and asks it provide the anomaly score .