static public <V extends Number> Map<FieldName, ?> evaluateRegressionDefault(ValueFactory<V> valueFactory, TargetField targetField){ Target target = targetField.getTarget(); if(target != null && target.hasTargetValues()){ Value<V> value = getDefaultValue(valueFactory, target); if(value != null){ return evaluateRegression(targetField, value); } } return Collections.singletonMap(targetField.getName(), null); }
static public <V extends Number> Map<FieldName, ? extends Classification<V>> evaluateClassificationDefault(ValueFactory<V> valueFactory, TargetField targetField){ Target target = targetField.getTarget(); if(target != null && target.hasTargetValues()){ ProbabilityDistribution<V> result = getPriorProbabilities(valueFactory, target); if(result != null){ return evaluateClassification(targetField, result); } } return Collections.singletonMap(targetField.getName(), null); }
static private <V extends Number> Value<V> getDefaultValue(ValueFactory<V> valueFactory, Target target){ if(!target.hasTargetValues()){ return null; } List<TargetValue> targetValues = target.getTargetValues(); if(targetValues.size() != 1){ throw new InvalidElementListException(targetValues); } TargetValue targetValue = targetValues.get(0); Double defaultValue = targetValue.getDefaultValue(); // "The value and priorProbability attributes are used only if the optype of the field is categorical or ordinal" if(targetValue.getValue() != null || targetValue.getPriorProbability() != null){ throw new InvalidElementException(targetValue); } // End if if(defaultValue == null){ return null; } return valueFactory.newValue(defaultValue); }
@Override public VisitorAction accept(Visitor visitor) { VisitorAction status = visitor.visit(this); if (status == VisitorAction.CONTINUE) { visitor.pushParent(this); if ((status == VisitorAction.CONTINUE)&&hasExtensions()) { status = org.dmg.pmml.PMMLObject.traverse(visitor, getExtensions()); } if ((status == VisitorAction.CONTINUE)&&hasTargetValues()) { status = org.dmg.pmml.PMMLObject.traverse(visitor, getTargetValues()); } visitor.popParent(); } if (status == VisitorAction.TERMINATE) { return VisitorAction.TERMINATE; } return VisitorAction.CONTINUE; }
@Override public VisitorAction accept(Visitor visitor) { VisitorAction status = visitor.visit(this); if (status == VisitorAction.CONTINUE) { visitor.pushParent(this); if ((status == VisitorAction.CONTINUE)&&hasExtensions()) { status = org.dmg.pmml.PMMLObject.traverse(visitor, getExtensions()); } if ((status == VisitorAction.CONTINUE)&&hasTargetValues()) { status = org.dmg.pmml.PMMLObject.traverse(visitor, getTargetValues()); } visitor.popParent(); } if (status == VisitorAction.TERMINATE) { return VisitorAction.TERMINATE; } return VisitorAction.CONTINUE; }
static private <V extends Number> ProbabilityDistribution<V> getPriorProbabilities(ValueFactory<V> valueFactory, Target target){ if(!target.hasTargetValues()){ return null;