EM (3.7)

Simple EM (expectation maximisation) class. EM assigns a probability distribution to each instance which indicates the probability of it belonging to each of the clusters

EM can decide how many clusters to create by cross validation, or you may specify apriori how many clusters to generate.

The cross validation performed to determine the number of clusters is done in the following steps:1. the number of clusters is set to 1

2. the training set is split randomly into 10 folds.3. EM is performed 10 times using the 10 folds the usual CV way.

4. the loglikelihood is averaged over all 10 results.5.

if loglikelihood has increased the number of clusters is increased by 1 and the program continues at step 2.

The number of folds is fixed to 10, as long as the number of instances in the training set is not smaller 10.

If this is the case the number of folds is set equal to the number of instances.

(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.


EM Options

N: number of clusters. If omitted or -1 specified, then cross validation is used to select the number of clusters.

X: Number of folds to use when cross-validating to find the best number of clusters.

max: Maximum number of clusters to consider during cross-validation. If omitted or -1 specified, then there is no upper limit on the number of clusters.

ll-cv: Minimum improvement in cross-validated log likelihood required to consider increasing the number of clusters. (default 1e-6)

I: max iterations. (default 100)

ll-iter: Minimum improvement in log likelihood required to perform another iteration of the E and M steps. (default 1e-6)

V: verbose.

M: minimum allowable standard deviation for normal density computation (default 1e-6)

O: Display model in old format (good when there are many clusters)

num-slots: Number of execution slots. (default 1 - i.e. no parallelism)

S: Random number seed. (default 100)

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, Missing values, No class] Dependencies: [] min # Instance: 1

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.

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.