private static int buildNumericNode(RandomTree tree, Attribute attribute, RandomTree.Tree node, int nodeId, Node parentPMMLNode) {
    """
	Builds the {@link org.dmg.pmml.Node PMML Node} for a numeric attribute.
	<p/>
	In PMML these nodes are represented having two children, each with a predicate that checks the node's split point.
	<p/>
	For example, consider a numeric attribute, named "numericAttribute", with a split point of 2.5 and two leaf nodes. In PMML this translates to:
	<pre>
	{@code
	<Node id="2" score="1">
	<SimplePredicate field="numericAttribute" operator="lessThan" value="2.5"/>
	</Node>
	<Node id="3" score="0">
	<SimplePredicate field="numericAttribute" operator="greaterOrEqual" value="2.5"/>
	</Node>
	}
	</pre>
	
	@param tree           The {@link weka.classifiers.trees.RandomTree Weka RandomTree} being converted to a {@link org.dmg.pmml.PMML TreeModel}.
	@param attribute      The {@link weka.core.Attribute} to which the node to build refers to.
	@param node           The {@link weka.classifiers.trees.RandomTree.Tree Weka RandomTree node} we are converting to PMML.
	@param nodeId         The Id to give to the generted {@link org.dmg.pmml.Node PMML Node}.
	@param parentPMMLNode The parent {@link org.dmg.pmml.Node PMML Node}.
	@return The incremented Id given to recursively created {@link org.dmg.pmml.Node PMML Nodes}.
    """
        SimplePredicate predicateLo = new SimplePredicate(new FieldName(attribute.name()), SimplePredicate.Operator.LESS_THAN).withValue(String.valueOf(node.m_SplitPoint));
        SimplePredicate predicateHi = new SimplePredicate(new FieldName(attribute.name()), SimplePredicate.Operator.GREATER_OR_EQUAL).withValue(String.valueOf(node.m_SplitPoint));

        Node nodeLo = new Node().withId(String.valueOf(++nodeId));
        nodeLo.withPredicate(predicateLo);

        nodeId = buildTreeNode(tree, node.m_Successors[0], nodeId, nodeLo);

        Node nodeHi = new Node().withId(String.valueOf(++nodeId));
        nodeHi.withPredicate(predicateHi);

        nodeId = buildTreeNode(tree, node.m_Successors[1], nodeId, nodeHi);

        // Training proportion extension.
        nodeLo.withExtensions(new Extension().withName(TRAINING_PROPORTION_ELEMENT).withValue(String.valueOf(node.m_Prop[0])));
        nodeHi.withExtensions(new Extension().withName(TRAINING_PROPORTION_ELEMENT).withValue(String.valueOf(node.m_Prop[1])));

        parentPMMLNode.withNodes(nodeLo, nodeHi);

        return nodeId;
    }
private static int buildNumericNode(RandomTree tree, Attribute attribute, RandomTree.Tree node, int nodeId, Node parentPMMLNode) {
        SimplePredicate predicateLo = new SimplePredicate(new FieldName(attribute.name()), SimplePredicate.Operator.LESS_THAN).withValue(String.valueOf(node.m_SplitPoint));
        SimplePredicate predicateHi = new SimplePredicate(new FieldName(attribute.name()), SimplePredicate.Operator.GREATER_OR_EQUAL).withValue(String.valueOf(node.m_SplitPoint));

        Node nodeLo = new Node().withId(String.valueOf(++nodeId));
        nodeLo.withPredicate(predicateLo);

        nodeId = buildTreeNode(tree, node.m_Successors[0], nodeId, nodeLo);

        Node nodeHi = new Node().withId(String.valueOf(++nodeId));
        nodeHi.withPredicate(predicateHi);

        nodeId = buildTreeNode(tree, node.m_Successors[1], nodeId, nodeHi);

        // Training proportion extension.
        nodeLo.withExtensions(new Extension().withName(TRAINING_PROPORTION_ELEMENT).withValue(String.valueOf(node.m_Prop[0])));
        nodeHi.withExtensions(new Extension().withName(TRAINING_PROPORTION_ELEMENT).withValue(String.valueOf(node.m_Prop[1])));

        parentPMMLNode.withNodes(nodeLo, nodeHi);

        return nodeId;
    }
private static int buildNumericNode ( RandomTree tree , Attribute attribute , RandomTree . Tree node , int nodeId , Node parentPMMLNode ) { SimplePredicate predicateLo = new SimplePredicate ( new FieldName ( attribute . name ( ) ) , SimplePredicate . Operator . LESS_THAN ) . withValue ( String . valueOf ( node . m_SplitPoint ) ) ; SimplePredicate predicateHi = new SimplePredicate ( new FieldName ( attribute . name ( ) ) , SimplePredicate . Operator . GREATER_OR_EQUAL ) . withValue ( String . valueOf ( node . m_SplitPoint ) ) ; Node nodeLo = new Node ( ) . withId ( String . valueOf ( ++ nodeId ) ) ; nodeLo . withPredicate ( predicateLo ) ; nodeId = buildTreeNode ( tree , node . m_Successors [ 0 ] , nodeId , nodeLo ) ; Node nodeHi = new Node ( ) . withId ( String . valueOf ( ++ nodeId ) ) ; nodeHi . withPredicate ( predicateHi ) ; nodeId = buildTreeNode ( tree , node . m_Successors [ 1 ] , nodeId , nodeHi ) ; // Training proportion extension. nodeLo . withExtensions ( new Extension ( ) . withName ( TRAINING_PROPORTION_ELEMENT ) . withValue ( String . valueOf ( node . m_Prop [ 0 ] ) ) ) ; nodeHi . withExtensions ( new Extension ( ) . withName ( TRAINING_PROPORTION_ELEMENT ) . withValue ( String . valueOf ( node . m_Prop [ 1 ] ) ) ) ; parentPMMLNode . withNodes ( nodeLo , nodeHi ) ; return nodeId ; }
Builds the {@link org.dmg.pmml.Node PMML Node} for a numeric attribute.
<p/>
In PMML these nodes are represented having two children, each with a predicate that checks the node's split point.
<p/>
For example, consider a numeric attribute, named "numericAttribute", with a split point of 2.5 and two leaf nodes. In PMML this translates to:
<pre>
{@code
<Node id="2" score="1">
<SimplePredicate field="numericAttribute" operator="lessThan" value="2.5"/>
</Node>
<Node id="3" score="0">
<SimplePredicate field="numericAttribute" operator="greaterOrEqual" value="2.5"/>
</Node>
}
</pre>

@param tree           The {@link weka.classifiers.trees.RandomTree Weka RandomTree} being converted to a {@link org.dmg.pmml.PMML TreeModel}.
@param attribute      The {@link weka.core.Attribute} to which the node to build refers to.
@param node           The {@link weka.classifiers.trees.RandomTree.Tree Weka RandomTree node} we are converting to PMML.
@param nodeId         The Id to give to the generted {@link org.dmg.pmml.Node PMML Node}.
@param parentPMMLNode The parent {@link org.dmg.pmml.Node PMML Node}.
@return The incremented Id given to recursively created {@link org.dmg.pmml.Node PMML Nodes}.
Builds the { @link org . dmg . pmml . Node PMML Node } for a numeric attribute . <p / > In PMML these nodes are represented having two children each with a predicate that checks the node s split point . <p / > For example consider a numeric attribute named numericAttribute with a split point of 2 . 5 and two leaf nodes . In PMML this translates to : <pre > { @code <Node id = 2 score = 1 > <SimplePredicate field = numericAttribute operator = lessThan value = 2 . 5 / > < / Node > <Node id = 3 score = 0 > <SimplePredicate field = numericAttribute operator = greaterOrEqual value = 2 . 5 / > < / Node > } < / pre >