This operator is used to create a classifier. Therefore, the result is a stream of classifiers (this is an own datatype!)

Parameter

  • CLASS: The attribute that should be used as the class (the
  • NOMINALS: For nominal classifiers, this list provides the possible values, because some algorithms have to know them in advance
  • LEARNER: The algorithm that is used to construct the classifier
    • Currently implemented: Weka (which in turn has further algorithms, see above)
  • ALGORITHM: A set of options to set up the algorithm

Example

This example uses the weka-clusterer. The weka-clusterer should use the "simplekmeans" algorithm. the arguments to set up the weka-simplekmeans is "-N 3".

Operator

 

1
2
3
4
5
6
7
8
9
10
learned = CLASSIFICATION_LEARN({
              class='attack',             
              nominals = ['attack'=['back', 'smurf', 'spy']],
              learner = 'weka',
              algorithm =               
                  [
                  'model'='J48'
                  ]                         
               
            }, inputoperator)

 

For weka, there are currently the following algorithms that can be used as the "model". Further details and possible arguments can be  found in the Weka Docs

Classification (nominal values):

  • J48 (an adapted version of C4.5, a decision tree induction)
  • NaiveBayes
  • DecisionTable
  • SMO (Sequential Minimal Optimization)

Regression (continuous values):

  • LINEAR-REGRESSION
  • SIMPLE_LINEAR-REGRESSION
  • LOGISTIC
  • SIMPLE-LOGISTIC
  • GAUSSIAN-PROCESSES
  • SMO-Regression (a regression version of SMO) 
  • MULTILAYER-PERCEPTRON
  • No labels