package hex.glm; import hex.ModelMojoWriter; import hex.deeplearning.DeepLearningModel.DeepLearningParameters.MissingValuesHandling; import java.io.IOException; public class GLMMojoWriter extends ModelMojoWriter<GLMModel, GLMModel.GLMParameters, GLMModel.GLMOutput> { @SuppressWarnings("unused") // Called through reflection in ModelBuildersHandler public GLMMojoWriter() {} public GLMMojoWriter(GLMModel model) { super(model); } @Override public String mojoVersion() { return "1.00"; } @Override protected void writeModelData() throws IOException { writekv("use_all_factor_levels", model._parms._use_all_factor_levels); writekv("cats", model.dinfo()._cats); writekv("cat_offsets", model.dinfo()._catOffsets); writekv("nums", model._output._dinfo._nums); boolean imputeMeans = model._parms._missing_values_handling.equals(MissingValuesHandling.MeanImputation); writekv("mean_imputation", imputeMeans); if (imputeMeans) { writekv("num_means", model._output._dinfo._numMeans); writekv("cat_modes", model.dinfo().catNAFill()); } writekv("beta", model.beta_internal()); writekv("family", model._parms._family); writekv("link", model._parms._link); if (GLMModel.GLMParameters.Family.tweedie.equals(model._parms._family)) writekv("tweedie_link_power", model._parms._tweedie_link_power); } }