public org.dmg.pmml.Node convert(Node node) { org.dmg.pmml.Node pmmlNode = new org.dmg.pmml.Node(); pmmlNode.setId(String.valueOf(node.getId())); pmmlNode.setDefaultChild(null); pmmlNode.setPredicate(new True()); pmmlNode.setEmbeddedModel(null); List<org.dmg.pmml.Node> childList = pmmlNode.getNodes(); org.dmg.pmml.Node left = convert(node.getLeft(), true, node.getSplit()); childList.add(left); org.dmg.pmml.Node right = convert(node.getRight(), false, node.getSplit()); childList.add(right); return pmmlNode; }
@Override public int compare(Node left, Node right){ return this.ordering.compare(left.getRecordCount(), right.getRecordCount()); } };
public org.dmg.pmml.Node convert(Node node, boolean isLeft, Split split) { org.dmg.pmml.Node pmmlNode = new org.dmg.pmml.Node(); pmmlNode.setId(String.valueOf(node.getId())); if(node.getPredict() != null) { pmmlNode.setScore(String.valueOf(treeModel.isClassification() ? node.getPredict().getClassValue() : node .getPredict().getPredict())); pmmlNode.setDefaultChild(null); Predicate predicate = null; ColumnConfig columnConfig = this.columnConfigList.get(split.getColumnNum()); pmmlNode.setPredicate(predicate); if(node.getSplit() == null || node.isRealLeaf()) { return pmmlNode; List<org.dmg.pmml.Node> childList = pmmlNode.getNodes(); org.dmg.pmml.Node left = convert(node.getLeft(), true, node.getSplit()); org.dmg.pmml.Node right = convert(node.getRight(), false, node.getSplit());
public org.dmg.pmml.TreeModel convert(IndependentTreeModel model, Node root) { org.dmg.pmml.TreeModel pmmlTreeModel = new org.dmg.pmml.TreeModel(); pmmlTreeModel.setMiningSchema(new TreeModelMiningSchemaCreator(this.modelConfig, this.columnConfigList).build(null)); //pmmlTreeModel.setModelStats(new ModelStatsCreator(this.modelConfig, this.columnConfigList).build()); pmmlTreeModel.setTargets(createTargets(this.modelConfig)); pmmlTreeModel.setMissingValueStrategy(MissingValueStrategyType.fromValue("none")); pmmlTreeModel.setSplitCharacteristic(org.dmg.pmml.TreeModel.SplitCharacteristic.fromValue("binarySplit")); pmmlTreeModel.setModelName(String.valueOf(root.getId())); pmmlTreeModel.setNode(root); if(model.isClassification()) { pmmlTreeModel.setFunctionName(MiningFunctionType.fromValue("classification")); } else { pmmlTreeModel.setFunctionName(MiningFunctionType.fromValue("regression")); } return pmmlTreeModel; }