private static org.apache.spark.mllib.tree.model.Node nextNode( double[] featureVector, org.apache.spark.mllib.tree.model.Node node, Split split, int featureIndex) { double featureValue = featureVector[featureIndex]; if (split.featureType().equals(FeatureType.Continuous())) { if (featureValue <= split.threshold()) { return node.leftNode().get(); } else { return node.rightNode().get(); } } else { if (split.categories().contains(featureValue)) { return node.leftNode().get(); } else { return node.rightNode().get(); } } }
modelNode.addNodes(positiveModelNode, negativeModelNode); org.apache.spark.mllib.tree.model.Node rightTreeNode = treeNode.rightNode().get(); org.apache.spark.mllib.tree.model.Node leftTreeNode = treeNode.leftNode().get();