modelNode.addNodes(positiveModelNode, negativeModelNode);
.setScore("2.0"); rootNode.addNodes(right, left);
right.addScoreDistributions(new ScoreDistribution("banana", halfCount)); rootNode.addNodes(right, left);
encodeNode(rightChild, internalNode.rightChild(), predicateManager, rightCategoryManager, scoreEncoder, schema); node.addNodes(leftChild, rightChild); } else
private void encodeNode(org.dmg.pmml.tree.Node parent, int index, Schema schema){ parent.setId(String.valueOf(index + 1)); Node node = allNodes.get(index); if(!node.isLeaf()){ int splitIndex = node.getFeatureIndex(); Feature feature = schema.getFeature(splitIndex); org.dmg.pmml.tree.Node leftChild = new org.dmg.pmml.tree.Node() .setPredicate(encodePredicate(feature, node, true)); encodeNode(leftChild, node.getLeftChild().getId(), schema); org.dmg.pmml.tree.Node rightChild = new org.dmg.pmml.tree.Node() .setPredicate(encodePredicate(feature, node, false)); encodeNode(rightChild, node.getRightChild().getId(), schema); parent.addNodes(leftChild, rightChild); boolean defaultLeft = false; parent.setDefaultChild(defaultLeft ? leftChild.getId() : rightChild.getId()); } else { float value = (float)node.getValue(); parent.setScore(ValueUtil.formatValue(value)); } }
.setRecordCount((double)this.internal_count_[index]) .setPredicate(predicate) .addNodes(leftChild, rightChild);
.addNodes(leftChild, rightChild);
.addNodes(leftChild, rightChild);
@Test public void transform(){ Node node1a = new BranchNode(); Node node2a = new BranchNode(); Node node2b = new LeafNode(); node1a.addNodes(node2a, node2b); Node node3a = new LeafNode(); node2a.addNodes(node3a); assertTrue(node1a.getNodes() instanceof ArrayList); assertTrue(node2a.getNodes() instanceof ArrayList); TreeModel treeModel = new TreeModel(MiningFunction.CLASSIFICATION, new MiningSchema(), node1a); ArrayListTransformer transformer = new ArrayListTransformer(); transformer.applyTo(treeModel); assertTrue(node1a.getNodes() instanceof DoubletonList); assertTrue(node2a.getNodes() instanceof SingletonList); } }
.setDefaultChild(leftward ? leftChild.getId() : rightChild.getId()) .setPredicate(predicate) .addNodes(leftChild, rightChild);
root.addNodes( createBranchNode("will play", createSimplePredicate(outlook, Operator.EQUAL, "sunny")) .addNodes( createBranchNode("will play", createCompoundPredicate(BooleanOperator.AND, createSimplePredicate(temperature, Operator.GREATER_THAN, "50")) .addNodes( createLeafNode("will play", createSimplePredicate(humidity, Operator.LESS_THAN, "80")), createLeafNode("no play", createSimplePredicate(humidity, Operator.GREATER_OR_EQUAL, "80")) root.addNodes( createBranchNode("may play", createCompoundPredicate(BooleanOperator.OR, createSimplePredicate(outlook, Operator.EQUAL, "rain")) .addNodes( createLeafNode("may play", createCompoundPredicate(BooleanOperator.AND,
.setPredicate(new SimpleSetPredicate()); root.addNodes(leftChild, rightChild);