weka.core.pmml

## Class NormDiscrete

- java.lang.Object
- - weka.core.pmml.Expression
  - - weka.core.pmml.NormDiscrete

- All Implemented Interfaces:
    java.io.Serializable

      public class NormDiscrete
      extends Expression

  Class encapsulating a NormDiscrete Expression. Creates an indicator for a particular discrete value.
  Version:
    $Revision 1.0 $
  Author:
    Mark Hall (mhall{[at]}pentaho{[dot]}com)
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `NormDiscrete(org.w3c.dom.Element normDisc, FieldMetaInfo.Optype opType, java.util.ArrayList<Attribute> fieldDefs)` Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `double` | `getResult(double[] incoming)` Get the result of evaluating the expression.
    `java.lang.String` | `getResultCategorical(double[] incoming)` Always throws an Exception since the result of NormDiscrete must be continuous.
    `void` | `setFieldDefs(java.util.ArrayList<Attribute> fieldDefs)` Set the field definitions for this Expression to use
    `java.lang.String` | `toString(java.lang.String pad)`

    - ### Methods inherited from class weka.core.pmml.Expression

      `getExpression, getExpression, getFieldDef, getFieldDefIndex, getOptype, getResultContinuous, toString`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### NormDiscrete

          public NormDiscrete(org.w3c.dom.Element normDisc,
                              FieldMetaInfo.Optype opType,
                              java.util.ArrayList<Attribute> fieldDefs)
                       throws java.lang.Exception

      Constructor. Reads the field name and field value for this NormDiscrete Expression.
      Parameters:
        `normDisc` - the Element encapsulating this NormDiscrete
        `opType` - the optype for this expression (taken from either the enclosing DefineFunction or DerivedField)
        `fieldDefs` - an ArrayList of Attributes for the fields that this Expression might need to access enclosing DefineFunction or DerivedField)
      Throws:
        `java.lang.Exception` - if there is a problem parsing this Apply Expression

  - ### Method Detail

    - #### setFieldDefs

          public void setFieldDefs(java.util.ArrayList<Attribute> fieldDefs)
                            throws java.lang.Exception

      Set the field definitions for this Expression to use
      Overrides:
        `setFieldDefs` in class `Expression`
      Parameters:
        `fieldDefs` - the field definitions to use
      Throws:
        `java.lang.Exception` - if there is a problem setting the field definitions

    - #### getResult

          public double getResult(double[] incoming)
                           throws java.lang.Exception

      Get the result of evaluating the expression. In the case of a continuous optype, a real number is returned; in the case of a categorical/ordinal optype, the index of the nominal value is returned as a double.
      Specified by:
        `getResult` in class `Expression`
      Parameters:
        `incoming` - the incoming parameter values
      Returns:
        the result of evaluating the expression
      Throws:
        `java.lang.Exception` - if there is a problem computing the result

    - #### getResultCategorical

          public java.lang.String getResultCategorical(double[] incoming)
                                                throws java.lang.Exception

      Always throws an Exception since the result of NormDiscrete must be continuous.
      Specified by:
        `getResultCategorical` in class `Expression`
      Parameters:
        `incoming` - the incoming parameter values
      Returns:
        the result of evaluating the expression
      Throws:
        `java.lang.Exception` - always

    - #### toString

          public java.lang.String toString(java.lang.String pad)

      Overrides:
        `toString` in class `Expression`