Class GISModel

  • All Implemented Interfaces:
    MaxentModel

    public final class GISModel
    extends AbstractModel
    A maximum entropy model which has been trained using the Generalized Iterative Scaling procedure (implemented in GIS.java).
    • Constructor Summary

      Constructors 
      Constructor Description
      GISModel​(Context[] params, java.lang.String[] predLabels, java.lang.String[] outcomeNames)
      Creates a new model with the specified parameters, outcome names, and predicate/feature labels.
      GISModel​(Context[] params, java.lang.String[] predLabels, java.lang.String[] outcomeNames, Prior prior)
      Creates a new model with the specified parameters, outcome names, and predicate/feature labels.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static double[] eval​(int[] context, double[] prior, EvalParameters model)
      Use this model to evaluate a context and return an array of the likelihood of each outcome given the specified context and the specified parameters.
      double[] eval​(java.lang.String[] context)
      Use this model to evaluate a context and return an array of the likelihood of each outcome given that context.
      double[] eval​(java.lang.String[] context, double[] outsums)
      Evaluates a context.
      double[] eval​(java.lang.String[] context, float[] values)
      Evaluates a contexts with the specified context values.
      double[] eval​(java.lang.String[] context, float[] values, double[] outsums)
      Use this model to evaluate a context and return an array of the likelihood of each outcome given that context.
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • GISModel

        public GISModel​(Context[] params,
                        java.lang.String[] predLabels,
                        java.lang.String[] outcomeNames)
        Creates a new model with the specified parameters, outcome names, and predicate/feature labels.
        Parameters:
        params - The parameters of the model.
        predLabels - The names of the predicates used in this model.
        outcomeNames - The names of the outcomes this model predicts.
      • GISModel

        public GISModel​(Context[] params,
                        java.lang.String[] predLabels,
                        java.lang.String[] outcomeNames,
                        Prior prior)
        Creates a new model with the specified parameters, outcome names, and predicate/feature labels.
        Parameters:
        params - The parameters of the model.
        predLabels - The names of the predicates used in this model.
        outcomeNames - The names of the outcomes this model predicts.
        prior - The prior to be used with this model.
    • Method Detail

      • eval

        public final double[] eval​(java.lang.String[] context)
        Use this model to evaluate a context and return an array of the likelihood of each outcome given that context.
        Parameters:
        context - The names of the predicates which have been observed at the present decision point.
        Returns:
        The normalized probabilities for the outcomes given the context. The indexes of the double[] are the outcome ids, and the actual string representation of the outcomes can be obtained from the method getOutcome(int i).
      • eval

        public final double[] eval​(java.lang.String[] context,
                                   float[] values)
        Description copied from interface: MaxentModel
        Evaluates a contexts with the specified context values.
        Parameters:
        context - A list of String names of the contextual predicates which are to be evaluated together.
        values - The values associated with each context.
        Returns:
        an array of the probabilities for each of the different outcomes, all of which sum to 1.
      • eval

        public final double[] eval​(java.lang.String[] context,
                                   double[] outsums)
        Description copied from interface: MaxentModel
        Evaluates a context.
        Parameters:
        context - A list of String names of the contextual predicates which are to be evaluated together.
        outsums - An array which is populated with the probabilities for each of the different outcomes, all of which sum to 1.
        Returns:
        an array of the probabilities for each of the different outcomes, all of which sum to 1.
      • eval

        public final double[] eval​(java.lang.String[] context,
                                   float[] values,
                                   double[] outsums)
        Use this model to evaluate a context and return an array of the likelihood of each outcome given that context.
        Parameters:
        context - The names of the predicates which have been observed at the present decision point.
        outsums - This is where the distribution is stored.
        Returns:
        The normalized probabilities for the outcomes given the context. The indexes of the double[] are the outcome ids, and the actual string representation of the outcomes can be obtained from the method getOutcome(int i).
      • eval

        public static double[] eval​(int[] context,
                                    double[] prior,
                                    EvalParameters model)
        Use this model to evaluate a context and return an array of the likelihood of each outcome given the specified context and the specified parameters.
        Parameters:
        context - The integer values of the predicates which have been observed at the present decision point.
        prior - The prior distribution for the specified context.
        model - The set of parametes used in this computation.
        Returns:
        The normalized probabilities for the outcomes given the context. The indexes of the double[] are the outcome ids, and the actual string representation of the outcomes can be obtained from the method getOutcome(int i).