Package opennlp.tools.ml.model

## Class AbstractModel

- java.lang.Object
- - opennlp.tools.ml.model.AbstractModel

- All Implemented Interfaces:
    `MaxentModel`
  Direct Known Subclasses:
    `GISModel`, `NaiveBayesModel`, `PerceptronModel`, `QNModel`

      public abstract class AbstractModel
      extends Object
      implements MaxentModel

  A basic `MaxentModel` implementation.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `AbstractModel.ModelType` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `AbstractModel​(Context[] params, String[] predLabels, String[] outcomeNames)` | Initializes an `AbstractModel`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `equals​(Object obj)` |
    `String` | `getAllOutcomes​(double[] ocs)` | Retrieves a string matching all the outcome names with all the probabilities produced by the `MaxentModel.eval(String[])` method.
    `String` | `getBestOutcome​(double[] ocs)` | Return the name of the outcome corresponding to the highest likelihood in the parameter ocs.
    `Object[]` | `getDataStructures()` | Provides the fundamental data structures which encode the maxent model information.
    `int` | `getIndex​(String outcome)` | Retrieves the index associated with the String name of the given outcome.
    `AbstractModel.ModelType` | `getModelType()` |
    `int` | `getNumOutcomes()` |
    `String` | `getOutcome​(int i)` | Retrieves the String name of the outcome associated with the index `i`.
    `int` | `hashCode()` |

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

      `getClass, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface opennlp.tools.ml.model.MaxentModel

      `eval, eval, eval`

- - ### Constructor Detail

    - #### AbstractModel

          public AbstractModel​(Context[] params,
                               String[] predLabels,
                               String[] outcomeNames)

      Initializes an `AbstractModel`.
      Parameters:
        `params` - The `parameters` to set.
        `predLabels` - The predicted labels.
        `outcomeNames` - The names of the outcomes.

  - ### Method Detail

    - #### getBestOutcome

          public final String getBestOutcome​(double[] ocs)

      Return the name of the outcome corresponding to the highest likelihood in the parameter ocs.
      Specified by:
        `getBestOutcome` in interface `MaxentModel`
      Parameters:
        `ocs` - A double[] as returned by the eval(String[] context) method.
      Returns:
        The name of the most likely outcome.

    - #### getModelType

          public AbstractModel.ModelType getModelType()

      Returns:
        Retrieves the `AbstractModel.ModelType`.

    - #### getAllOutcomes

          public final String getAllOutcomes​(double[] ocs)

      Retrieves a string matching all the outcome names with all the probabilities produced by the `MaxentModel.eval(String[])` method.
      Specified by:
        `getAllOutcomes` in interface `MaxentModel`
      Parameters:
        `ocs` - A `double[]` as returned by the `MaxentModel.eval(String[])` method.
      Returns:
        String containing outcome names paired with the normalized probability (contained in the `double[] ocs`) for each one.

    - #### getOutcome

          public final String getOutcome​(int i)

      Description copied from interface: `MaxentModel`
      Retrieves the String name of the outcome associated with the index `i`.
      Specified by:
        `getOutcome` in interface `MaxentModel`
      Parameters:
        `i` - An outcome id.
      Returns:
        Retrieves the name of the outcome associated with that id.

    - #### getIndex

          public int getIndex​(String outcome)

      Description copied from interface: `MaxentModel`
      Retrieves the index associated with the String name of the given outcome.
      Specified by:
        `getIndex` in interface `MaxentModel`
      Parameters:
        `outcome` - The String name of the outcome for which the index is desired.
      Returns:
        Retrieves the index if the given `outcome` label exists for this model, `-1` if it does not.

    - #### getNumOutcomes

          public int getNumOutcomes()

      Specified by:
        `getNumOutcomes` in interface `MaxentModel`
      Returns:
        Retrieves the number of outcomes for this model.

    - #### getDataStructures

          public final Object[] getDataStructures()

      Provides the fundamental data structures which encode the maxent model information. Note: This method will usually only be needed by `GIS model writers`.

      The following values are held in the Object array which is returned by this method:

      - index 0: `Context` array containing the model parameters.
      - index 1: `Map` containing the mapping of model predicates to unique integers.
      - index 2: `String` array containing the names of the outcomes, stored in the index of the array which represents their unique ids in the model.
      Returns:
        An `Object` array with the values as described above.

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### equals

          public boolean equals​(Object obj)

      Overrides:
        `equals` in class `Object`