prediction = new NumericPrediction(Double.parseDouble(root.getScore()), (int) Math.round(root.getRecordCount()));
public boolean hasScore(){ Object score = getScore(); return (score != null); }
static public ComplexNode toComplexNode(Node node){ ComplexNode result = new ComplexNode() .setId(node.getId()) .setScore(node.getScore()) .setRecordCount(node.getRecordCount()) .setDefaultChild(node.getDefaultChild()) .setPredicate(node.getPredicate()); if(node.hasNodes()){ (result.getNodes()).addAll(node.getNodes()); } // End if if(node.hasScoreDistributions()){ (result.getScoreDistributions()).addAll(node.getScoreDistributions()); } return result; } }
public boolean hasScore(){ Object score = getScore(); return (score != null); }
prediction = new NumericPrediction(Double.parseDouble(root.getScore()), (int) Math.round(root.getRecordCount()));
@Override protected void computeResult(DataType dataType){ Node node = getNode(); Object result = TypeUtil.parseOrCast(dataType, node.getScore()); setResult(result); }
value.setScore(node.getScore()); value.setRecordCount(node.getRecordCount()); value.setDefaultChild(node.getDefaultChild());
@Override protected void computeResult(DataType dataType){ Node node = getNode(); Object result = TypeUtil.parseOrCast(dataType, node.getScore()); setResult(result); }
value.setScore(node.getScore()); value.setRecordCount(node.getRecordCount()); value.setDefaultChild(node.getDefaultChild());
@Override public VisitorAction visit(Node node){ if(node.getScore() != null){ double nodeDepth = 0d; Deque<PMMLObject> parents = getParents(); for(PMMLObject parent : parents){ if(!(parent instanceof Node)){ break; } nodeDepth++; } double nodeSample = this.nodeSamples[Integer.parseInt(node.getId())]; double averagePathLength = (corrected ? correctedAveragePathLength(nodeSample) : averagePathLength(nodeSample)); node.setScore(nodeDepth + averagePathLength); } return super.visit(node); } };
@Override public VisitorAction visit(Node node){ MathContext mathContext = this.mathContext; if(mathContext != null && node.hasScore()){ Object score = node.getScore(); if(score instanceof String){ String stringScore = (String)score; try { switch(mathContext){ case DOUBLE: node.setScore(Double.parseDouble(stringScore)); break; case FLOAT: node.setScore(Float.parseFloat(stringScore)); break; default: break; } } catch(NumberFormatException nfe){ // Ignored } } } return super.visit(node); } }
@Override public VisitorAction visit(Node node){ MathContext mathContext = this.mathContext; if(mathContext != null && node.hasScore()){ Object score = node.getScore(); if(score instanceof String){ String stringScore = (String)score; try { switch(mathContext){ case DOUBLE: node.setScore(Double.parseDouble(stringScore)); break; case FLOAT: node.setScore(Float.parseFloat(stringScore)); break; default: break; } } catch(NumberFormatException nfe){ // Ignored } } } return super.visit(node); } }
private <V extends Number> NodeScore<V> createNodeScore(ValueFactory<V> valueFactory, TargetField targetField, Node node){ Object score = node.getScore(); Value<V> value; if(score instanceof Number){ value = valueFactory.newValue((Number)score); } else { value = valueFactory.newValue((String)score); } value = TargetUtil.evaluateRegressionInternal(targetField, value); NodeScore<V> result = new NodeScore<V>(value, node){ @Override public BiMap<String, Node> getEntityRegistry(){ return TreeModelEvaluator.this.getEntityRegistry(); } @Override public List<Node> getDecisionPath(){ return TreeModelEvaluator.this.getPath(getNode()); } }; return result; }
@Override public void enterNode(Node node){ String id = node.getId(); Object score = node.getScore(); String defaultChild = node.getDefaultChild();
@Override public void enterNode(Node node){ String id = node.getId(); Object score = node.getScore(); String defaultChild = node.getDefaultChild();
@Override public void enterNode(Node node){ String id = node.getId(); Object score = node.getScore(); String defaultChild = node.getDefaultChild();
@Override public void enterNode(Node node){ String id = node.getId(); Object score = node.getScore();
@Override public void enterNode(Node node){ String id = node.getId(); Object score = node.getScore();
@Override public void enterNode(Node node){ String id = node.getId(); String score = node.getScore();
assertEquals("1", node1a.getScore()); assertEquals("2", node2a.getScore()); assertEquals("2.0", node2b.getScore()); assertEquals(2.0f, node2c.getScore()); assertEquals("error", node3a.getScore()); assertEquals(1.0f, node1a.getScore()); assertEquals(2.0f, node2a.getScore()); assertEquals(2.0f, node2b.getScore()); assertEquals(2.0f, node2c.getScore()); assertSame(node2a.getScore(), node2b.getScore()); assertSame(node2a.getScore(), node2c.getScore()); assertEquals("error", node3a.getScore());