HoeffdingTree (3.7)

A Hoeffding tree (VFDT) is an incremental, anytime decision tree induction algorithm that is capable of learning from massive data streams, assuming that the distribution generating examples does not change over time

Hoeffding trees exploit the fact that a small sample can often be enough to choose an optimal splitting attribute.This idea is supported mathematically by the Hoeffding bound, which quantifies the number of observations (in our case, examples) needed to estimate some statistics within a prescribed precision (in our case, the goodness of an attribute).

A theoretically appealing feature of Hoeffding Trees not shared by otherincremental decision tree learners is that it has sound guarantees of performance.

Using the Hoeffding bound one can show that its output is asymptotically nearly identical to that of a non-incremental learner using infinitely many examples.For more information see:

Geoff Hulten, Laurie Spencer, Pedro Domingos: Mining time-changing data streams.

In: ACM SIGKDD Intl.Conf.

on Knowledge Discovery and Data Mining, 97-106, 2001.

(based on WEKA 3.7)

For further options, click the 'More' - button in the dialog.

All weka dialogs have a panel where you can specify classifier-specific parameters.


HoeffdingTree Options

L: The leaf prediction strategy to use. 0 = majority class, 1 = naive Bayes, 2 = naive Bayes adaptive. (default = 2)

S: The splitting criterion to use. 0 = Gini, 1 = Info gain (default = 1)

E: The allowable error in a split decision - values closer to zero will take longer to decide (default = 1e-7)

H: Threshold below which a split will be forced to break ties (default = 0.05)

M: Minimum fraction of weight required down at least two branches for info gain splitting (default = 0.01)

G: Grace period - the number of instances a leaf should observe between split attempts (default = 200)

N: The number of instances (weight) a leaf should observe before allowing naive Bayes to make predictions (NB or NB adaptive only) (default = 0)

P: Print leaf models when using naive Bayes at the leaves.

Select target column
Choose the column that contains the target variable.
Preliminary Attribute Check

The Preliminary Attribute Check tests the underlying classifier against the DataTable specification at the inport of the node. Columns that are compatible with the classifier are marked with a green 'ok'. Columns which are potentially not compatible are assigned a red error message.

Important: If a column is marked as 'incompatible', it does not necessarily mean that the classifier cannot be executed! Sometimes, the error message 'Cannot handle String class' simply means that no nominal values are available (yet). This may change during execution of the predecessor nodes.

Capabilities: [Nominal attributes, Binary attributes, Unary attributes, Empty nominal attributes, Numeric attributes, Date attributes, Missing values, Nominal class, Binary class, Missing class values] Dependencies: [] min # Instance: 0

Command line options

It shows the command line options according to the current classifier configuration and mainly serves to support the node's configuration via flow variables.

Additional Options

Select optional vector column
If the input table contains vector columns (e.g. double vector), the one to use can be selected here. This vector column will be used as attributes only and all other columns, except the target column, will be ignored.
Keep training instances
If checked, all training instances will be kept and stored with the classifier model. It is useful to calculate additional evaluation measures (see Weka Predictor) that make use of class prior probabilities. If no evaluation is performed or those measures are not required, it is advisable to NOT keep the training instances.

Input Ports

Training data

Output Ports

Trained model

Popular Predecessors

  • No recommendations found

Popular Successors

  • No recommendations found


Weka Node View
Each Weka node provides a summary view that provides information about the classification. If the test data contains a class column, an evaluation is generated.


  • No workflows found



You want to see the source code for this node? Click the following button and we’ll use our super-powers to find it for you.