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 (GIS) procedure.
    See Also:
    AbstractModel
    • Constructor Detail

      • GISModel

        public GISModel​(Context[] params,
                        String[] predLabels,
                        String[] outcomeNames)
        Initializes a GISModel 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,
                        String[] predLabels,
                        String[] outcomeNames,
                        Prior prior)
        Initializes a GISModel 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 double[] eval​(String[] context)
        Evaluates 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 AbstractModel.getOutcome(int).
      • eval

        public double[] eval​(String[] context,
                             float[] values)
        Evaluates a context with the specified context values.
        Parameters:
        context - An array 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 double[] eval​(String[] context,
                             double[] outsums)
        Evaluates a context.
        Parameters:
        context - An array 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 double[] eval​(String[] context,
                             float[] values,
                             double[] outsums)
        Evaluates 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 AbstractModel.getOutcome(int).
      • eval

        public static double[] eval​(int[] context,
                                    double[] prior,
                                    EvalParameters model)
        Evaluates 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 parameters 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 AbstractModel.getOutcome(int).