/** * Create an instance of {@link KNNInputs } * */ public KNNInputs createKNNInputs() { return new KNNInputs(); }
@Override public Iterator<KNNInput> iterator() { return getKNNInputs().iterator(); }
@Override public KNNInputs addExtensions(Extension... extensions) { getExtensions().addAll(Arrays.asList(extensions)); return this; }
@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)&&hasKNNInputs()) { status = org.dmg.pmml.PMMLObject.traverse(visitor, getKNNInputs()); } visitor.popParent(); } if (status == VisitorAction.TERMINATE) { return VisitorAction.TERMINATE; } return VisitorAction.CONTINUE; }
KNNInputs knnInputs = new KNNInputs(); knnInputs.addKNNInputs(knnInput);
public NearestNeighborModelEvaluator(PMML pmml, NearestNeighborModel nearestNeighborModel){ super(pmml, nearestNeighborModel); ComparisonMeasure comparisoonMeasure = nearestNeighborModel.getComparisonMeasure(); if(comparisoonMeasure == null){ throw new MissingElementException(nearestNeighborModel, PMMLElements.NEARESTNEIGHBORMODEL_COMPARISONMEASURE); } TrainingInstances trainingInstances = nearestNeighborModel.getTrainingInstances(); if(trainingInstances == null){ throw new MissingElementException(nearestNeighborModel, PMMLElements.NEARESTNEIGHBORMODEL_TRAININGINSTANCES); } InstanceFields instanceFields = trainingInstances.getInstanceFields(); if(instanceFields == null){ throw new MissingElementException(trainingInstances, PMMLElements.TRAININGINSTANCES_INSTANCEFIELDS); } // End if if(!instanceFields.hasInstanceFields()){ throw new MissingElementException(instanceFields, PMMLElements.INSTANCEFIELDS_INSTANCEFIELDS); } KNNInputs knnInputs = nearestNeighborModel.getKNNInputs(); if(knnInputs == null){ throw new MissingElementException(nearestNeighborModel, PMMLElements.NEARESTNEIGHBORMODEL_KNNINPUTS); } // End if if(!knnInputs.hasKNNInputs()){ throw new MissingElementException(knnInputs, PMMLElements.KNNINPUTS_KNNINPUTS); } }
@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)&&hasKNNInputs()) { status = org.dmg.pmml.PMMLObject.traverse(visitor, getKNNInputs()); } visitor.popParent(); } if (status == VisitorAction.TERMINATE) { return VisitorAction.TERMINATE; } return VisitorAction.CONTINUE; }
@Override public Iterator<KNNInput> iterator() { return getKNNInputs().iterator(); }
/** * Create an instance of {@link KNNInputs } * */ public KNNInputs createKNNInputs() { return new KNNInputs(); }
@Override public KNNInputs addExtensions(Extension... extensions) { getExtensions().addAll(Arrays.asList(extensions)); return this; }
public KNNInputs addKNNInputs(KNNInput... knnInputs) { getKNNInputs().addAll(Arrays.asList(knnInputs)); return this; }
public KNNInputs addKNNInputs(KNNInput... knnInputs) { getKNNInputs().addAll(Arrays.asList(knnInputs)); return this; }
private <V extends Number> List<InstanceResult<V>> evaluateInstanceRows(ValueFactory<V> valueFactory, EvaluationContext context){ NearestNeighborModel nearestNeighborModel = getModel(); ComparisonMeasure comparisonMeasure = nearestNeighborModel.getComparisonMeasure(); List<FieldValue> values = new ArrayList<>(); KNNInputs knnInputs = nearestNeighborModel.getKNNInputs(); for(KNNInput knnInput : knnInputs){ FieldName name = knnInput.getField(); if(name == null){ throw new MissingAttributeException(knnInput, PMMLAttributes.KNNINPUT_FIELD); } FieldValue value = context.evaluate(name); values.add(value); } Measure measure = MeasureUtil.ensureMeasure(comparisonMeasure); if(measure instanceof Similarity){ return evaluateSimilarity(valueFactory, comparisonMeasure, knnInputs.getKNNInputs(), values); } else if(measure instanceof Distance){ return evaluateDistance(valueFactory, comparisonMeasure, knnInputs.getKNNInputs(), values); } else { throw new UnsupportedElementException(measure); } }