@Override public String getSummary(){ GeneralRegressionModel generalRegressionModel = getModel(); GeneralRegressionModel.ModelType modelType = generalRegressionModel.getModelType(); switch(modelType){ case COX_REGRESSION: return "Cox regression"; default: return "General regression"; } }
@Override protected <V extends Number> Map<FieldName, ?> evaluateRegression(ValueFactory<V> valueFactory, EvaluationContext context){ GeneralRegressionModel generalRegressionModel = getModel(); GeneralRegressionModel.ModelType modelType = generalRegressionModel.getModelType(); switch(modelType){ case COX_REGRESSION: return evaluateCoxRegression(valueFactory, context); default: return evaluateGeneralRegression(valueFactory, context); } }
GeneralRegressionModel.ModelType modelType = generalRegressionModel.getModelType(); switch(modelType){ case GENERALIZED_LINEAR:
public GeneralRegressionModelEvaluator(PMML pmml, GeneralRegressionModel generalRegressionModel){ super(pmml, generalRegressionModel); GeneralRegressionModel.ModelType modelType = generalRegressionModel.getModelType(); if(modelType == null){ throw new MissingAttributeException(generalRegressionModel, PMMLAttributes.GENERALREGRESSIONMODEL_MODELTYPE); } ParameterList parameterList = generalRegressionModel.getParameterList(); if(parameterList == null){ throw new MissingElementException(generalRegressionModel, PMMLElements.GENERALREGRESSIONMODEL_PARAMETERLIST); } PPMatrix ppMatrix = generalRegressionModel.getPPMatrix(); if(ppMatrix == null){ throw new MissingElementException(generalRegressionModel, PMMLElements.GENERALREGRESSIONMODEL_PPMATRIX); } ParamMatrix paramMatrix = generalRegressionModel.getParamMatrix(); if(paramMatrix == null){ throw new MissingElementException(generalRegressionModel, PMMLElements.GENERALREGRESSIONMODEL_PARAMMATRIX); } }
private <V extends Number> Map<FieldName, ?> evaluateGeneralRegression(ValueFactory<V> valueFactory, EvaluationContext context){ GeneralRegressionModel generalRegressionModel = getModel(); TargetField targetField = getTargetField(); Value<V> result = computeDotProduct(valueFactory, context); if(result == null){ return TargetUtil.evaluateRegressionDefault(valueFactory, targetField); } GeneralRegressionModel.ModelType modelType = generalRegressionModel.getModelType(); switch(modelType){ case REGRESSION: case GENERAL_LINEAR: break; case GENERALIZED_LINEAR: result = computeLink(result, context); break; case MULTINOMIAL_LOGISTIC: case ORDINAL_MULTINOMIAL: case COX_REGRESSION: throw new InvalidAttributeException(generalRegressionModel, modelType); default: throw new UnsupportedAttributeException(generalRegressionModel, modelType); } return TargetUtil.evaluateRegression(targetField, result); }
GeneralRegressionModel.ModelType modelType = generalRegressionModel.getModelType();
@Override public VisitorAction visit(GeneralRegressionModel generalRegressionModel){ GeneralRegressionModel.ModelType modelType = generalRegressionModel.getModelType(); switch(modelType){ case COX_REGRESSION: process(generalRegressionModel.getBaselineStrataVariable()); process(generalRegressionModel.getEndTimeVariable()); process(generalRegressionModel.getStartTimeVariable()); process(generalRegressionModel.getStatusVariable()); process(generalRegressionModel.getSubjectIDVariable()); // Falls through default: process(generalRegressionModel.getOffsetVariable()); process(generalRegressionModel.getTrialsVariable()); break; } return super.visit(generalRegressionModel); }
@Override public VisitorAction visit(GeneralRegressionModel generalRegressionModel){ GeneralRegressionModel.ModelType modelType = generalRegressionModel.getModelType(); switch(modelType){ case COX_REGRESSION: process(generalRegressionModel.getBaselineStrataVariable()); process(generalRegressionModel.getEndTimeVariable()); process(generalRegressionModel.getStartTimeVariable()); process(generalRegressionModel.getStatusVariable()); process(generalRegressionModel.getSubjectIDVariable()); // Falls through default: process(generalRegressionModel.getOffsetVariable()); process(generalRegressionModel.getTrialsVariable()); break; } return super.visit(generalRegressionModel); }