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