Java Code Examples for org.dmg.pmml.tree.TreeModel#getNode()
The following examples show how to use
org.dmg.pmml.tree.TreeModel#getNode() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: TreeModelEvaluator.java From jpmml-evaluator with GNU Affero General Public License v3.0 | 5 votes |
public TreeModelEvaluator(PMML pmml, TreeModel treeModel){ super(pmml, treeModel); Node root = treeModel.getNode(); if(root == null){ throw new MissingElementException(treeModel, PMMLElements.TREEMODEL_NODE); } }
Example 2
Source File: TreeModelEvaluator.java From jpmml-evaluator with GNU Affero General Public License v3.0 | 4 votes |
private Node evaluateTree(Trail trail, EvaluationContext context){ TreeModel treeModel = getModel(); Node root = treeModel.getNode(); Boolean status = evaluateNode(trail, root, context); if(status != null && status.booleanValue()){ trail = handleTrue(trail, root, context); Node node = trail.getResult(); // "It is not possible that the scoring process ends in a Node which does not have a score attribute" if(node != null && !node.hasScore()){ throw new MissingAttributeException(node, PMMLAttributes.COMPLEXNODE_SCORE); } return node; } return null; }
Example 3
Source File: TreeModelEvaluator.java From jpmml-evaluator with GNU Affero General Public License v3.0 | 3 votes |
private List<Node> getPath(Node node){ TreeModel treeModel = getModel(); Node root = treeModel.getNode(); return getPathBetween(root, node); }
Example 4
Source File: ObjectMapperTest.java From jpmml-model with BSD 3-Clause "New" or "Revised" License | 2 votes |
@Test public void jsonClone() throws Exception { DataField dataField = new DataField(FieldName.create("x"), OpType.CATEGORICAL, DataType.BOOLEAN); DataDictionary dataDictionary = new DataDictionary() .addDataFields(dataField); MiningField miningField = new MiningField(FieldName.create("x")); MiningSchema miningSchema = new MiningSchema() .addMiningFields(miningField); assertSame(dataField.getName(), miningField.getName()); SimplePredicate simplePredicate = new SimplePredicate(FieldName.create("x"), SimplePredicate.Operator.IS_NOT_MISSING, null); Node node = new ComplexNode(simplePredicate); TreeModel treeModel = new TreeModel() .setMiningSchema(miningSchema) .setNode(node); PMML pmml = new PMML() .setDataDictionary(dataDictionary) .addModels(treeModel); DirectByteArrayOutputStream buffer = new DirectByteArrayOutputStream(1024); JacksonUtil.writePMML(pmml, buffer); PMML jsonPmml; try(InputStream is = buffer.getInputStream()){ jsonPmml = JacksonUtil.readPMML(is); } DataDictionary jsonDataDictionary = jsonPmml.getDataDictionary(); List<DataField> jsonDataFields = jsonDataDictionary.getDataFields(); assertEquals(1, jsonDataFields.size()); DataField jsonDataField = jsonDataFields.get(0); assertEquals(dataField.getName(), jsonDataField.getName()); assertEquals(dataField.getOpType(), jsonDataField.getOpType()); assertEquals(dataField.getDataType(), jsonDataField.getDataType()); List<Model> jsonModels = jsonPmml.getModels(); assertEquals(1, jsonModels.size()); TreeModel jsonTreeModel = (TreeModel)jsonModels.get(0); MiningSchema jsonMiningSchema = jsonTreeModel.getMiningSchema(); List<MiningField> jsonMiningFields = jsonMiningSchema.getMiningFields(); assertEquals(1, jsonMiningFields.size()); MiningField jsonMiningField = jsonMiningFields.get(0); assertEquals(miningField.getName(), jsonMiningField.getName()); assertEquals(miningField.getUsageType(), jsonMiningField.getUsageType()); assertSame(jsonDataField.getName(), jsonMiningField.getName()); Node jsonNode = jsonTreeModel.getNode(); SimplePredicate jsonSimplePredicate = (SimplePredicate)jsonNode.getPredicate(); assertEquals(simplePredicate.getField(), jsonSimplePredicate.getField()); assertEquals(simplePredicate.getOperator(), jsonSimplePredicate.getOperator()); assertSame(jsonDataField.getName(), jsonSimplePredicate.getField()); assertSame(jsonMiningField.getName(), jsonSimplePredicate.getField()); }