All Downloads are FREE. Search and download functionalities are using the official Maven repository.

hex.schemas.GLRMModelV3 Maven / Gradle / Ivy

There is a newer version: 3.46.0.6
Show newest version
package hex.schemas;

import hex.glrm.GLRMModel;
import water.api.*;
import water.api.schemas3.ModelOutputSchemaV3;
import water.api.schemas3.ModelSchemaV3;
import water.api.schemas3.TwoDimTableV3;

public class GLRMModelV3 extends ModelSchemaV3 {

  public static final class GLRMModelOutputV3 extends ModelOutputSchemaV3 {
    // Output fields; input fields are in the parameters list
    @API(help = "Number of iterations executed")
    public int iterations;

    @API(help = "Number of updates executed")
    public int updates;

    @API(help = "Current value of the objective function")
    public double objective;

    @API(help = "Average change in objective value on final iteration")
    public double avg_change_obj;

    @API(help = "Final step size")
    public double step_size;

    @API(help = "Mapping from lower dimensional k-space to training features (Y)")
    public TwoDimTableV3 archetypes;

    @API(help = "Singular values of XY matrix")
    public double[] singular_vals;

    @API(help = "Eigenvectors of XY matrix")
    public TwoDimTableV3 eigenvectors;

    @API(help = "Frame key name for X matrix")
    public String representation_name;

    @API(help = "Standard deviation and importance of each principal component")
    public TwoDimTableV3 importance;
  }

  // TODO: I think we can implement the following two in ModelSchemaV3, using reflection on the type parameters.
  public GLRMV3.GLRMParametersV3 createParametersSchema() { return new GLRMV3.GLRMParametersV3(); }
  public GLRMModelOutputV3 createOutputSchema() { return new GLRMModelOutputV3(); }

  // Version&Schema-specific filling into the impl
  @Override public GLRMModel createImpl() {
    GLRMModel.GLRMParameters parms = parameters.createImpl();
    return new GLRMModel( model_id.key(), parms, null );
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy